We are looking forward to seeing you
Monday· mom~ng at~8:30'Inthe'
" Mariani .Training Room-
3rd" Floor Mariani Building
Architecture of the
Personal Office System
~. -- ~
.;; ~~ 'r~j;ir ~k ~~~~ij
.. : ... :,:<. . t:~::~:=:j ·r=I·
.. :::;:,::::,"
.~ :::~. ~~~-B-I!~'r_' - i:t" ~ ~ ~
.' . . :. .'. . ' . .
Power
Supply I/O Board
CPU Board Memory ·Board
Video Board , Expan
.
Slots
Peripherals
letc.
• 2 ~rial (RS-232) ports
• 1 panillel port
• 3 . expansion· . slots
• video output
• clockl calendar
• paraltster memory
• speaker ::
· ...
--
" , I
,
@
Operating System
* Single-User
* Multi -Tasking
* Priority Scheduling
* Interrupt-Driven
M Byte-Stream I/O Model
M Inter-Task Communication
- Shared Files - Shared Data - Pipes
- Event Channels
* Demand Fetching Of Code
* Automatic Stack Expansion .
* Redundant, Distributed Directory
FD F SYS I EM REDUNDANCY I-ELPS SCAVENGER
RE~T DlR'ECTORIES IN CASE OF
POYIER FAlLUP£
1 PER DISK
1 PER FD...E
1 PER SECTOR
MAS I ER DIRECTORY
FILE NME... 10, TYPE,
10 I~nCN
FD...E HINT (SAVED WITH FD..E) •..
SECTOA HINT
NAnE ... TYPE
DATE ACCfSSED, COPY PROTECTION, USER-DEfINABlE TYPES
gCTOR HINT ....,. Jb.
~ ...
10, INCARNATION, REt FILE POSH, DATA SI~
RELIABILITY FLAGS DATA
... h.
.... ...
. .
4sa Workshop
• Keyboard oriented Intmface (cwlently)
• Includes:
Mc4 &Se oriented Text Editor
La q sages (Pascal. ESic, Cobol) 68000 Assenlbler
Linker
Devel.opIlelt Utili~
• twachine lartguage ~
Syntbolic Procedlm-e ~llSS
Disassa I tbler
•
@ -'
Lisa Pascal Language
If Desired Compatibilities
- Standard Pascal (Jensen & Wirth) - UCSD Pascal (Apple II ar~ //1) - ISO Standard Pascal
- Parametric Procedures
M ~jor Extensions
- 32 Bit Integers (LongInt Type)
- @ Operator (address of)
- Separate Compilations (UCSD Units) - Control of Physical Segmentation - Classes (e.g. Simula-67, Smalltalk) - Debugging Aids
M' Ql:Ja.1ity of Code Generated - 16 Bit Address Offsets . - "Hot" Variables in Registers
:!
'\i"';' .. ,.,.,,;:;:;.;:;';:',;;;:::::;:,.;:;:;:;:::::;.,:::;:;.:.::,,:,,::::.:.: .. :;.::;::.:.;.:.:,;:',;.;:;.:.:::':';:::::;.::;::,:.;,::::;,:, .. :.:.:.:.:.:'. :':':::::':';';':"'::;:;:::::;.::;.; .. :;.:.;::,;.;.:::.::;:;:.::.;,:.:.::)~;
Libraries
Application
FUer corrm
SCroll Bar f'1gr .AJert ~
Cl1pBoard Mgr Print Library
Field Editor Print ~
oata Base Intrtn
Storage Allccator ! - - - + - - - i
FontMgt'
Applications make calls to many different library units.
j
I!'
II
~ :
~ :
:;
H
n
~ i
~---
\:.:.:;;.:::::.::;.,,;.;:,:. :-::::::,:.:::::,::-:::::: .. ::,-:... . .. ::,.:' ':"'" '-:":;:::::'.:-: ...--~---
. '. :;. :';.:-.' ' .. ;..-: ... : ... ' . ' ; ' ~ .: .. :,:;.. ...-~j
Storage l\Aanager
pointer .... , - ....
ncn-relocatable blccX
relccatable block
ClipBoard
Used to share data, cut & paste notation
I,:
~
. cut from here T I~-te to here
I I
~_~...J::::::;~~:==-~=~::: I=~I
'---""""-("""r!"'1 "i M.~>tUI-""d~
!~
ClipBoard cci1sists of:
Ii
Data Kind Data Segment Data .... ,ar.dle
Kinds of ClipBoard Data: 111 ';:
Universal Text = text + fonnatting !:
Unversal Graphics
=
image + structure 11;Application Specific ill
1,1
~\l""""'::'::::""""::':::"""':'::'::-:::::;'-:;;:;::-"::::':;--:;:;::,...,.,..,;::::;..,.,.,.:::,;::.,.,....::::!;=::::;;;~;;;;;,;...,.,..::;:;:,"""'"!"':;;:;;; ... ::,:,;~,;;::::~;";;:;.,.-;::::;:..,...:;:,:.;.,..,..,:,:",.,.,...,:,,:,:.,.,.,.::,:,::,..-'.:;,,'--:<!:::....,...:;'::;-...;:, .:--":'. -:; .. :-::;:,:-:: .. - .. : . ....,... .. :;:.-:::. ~.,,:.
Window Manager
• Maintains -visRegion- of Window
• Steers events to windows
• Kinds of Events:
buttonDown activate update keyDown deactivate
Application Structure.
• Event Driven Be i\tfodeless
Your Application
draw view ~",~,--
Your ~..pplication
key events
hilite selection editing
II DJSe events window events
Your Application ____ cpenluncover window
resize \Nindow scrolUflip/thumb
"
Traditional Program Structure
~ ~
~ User Program ~
\.. ~
~, ~
i _11_
~. ~ Libraries
event loop scrolling
communication lith desktop manager lindol refresh
user feedbaci<
undo
etc.
Quickdral lindo, manager
scroll bar ut1l1ties etc.
User Program implements application
control structure, and calls Library utilities.
to respond to events.
Each application must duplicate
standard code for event loop, scrolling, etc.
Desired Program Structure
Libraries
User Program '
Quickdraw a other libraries event loop
scro~ling
communication with desktop manager general undo
other user interface standards other general functions
window refresh user feedtJack
application-spec1f1c undo other §QQllcation-
~Qeciflc functions
Library implements application controls
r
istructure, processes standard events, and calls User Program for
ap-p-lication-sgecific tasks.
User Progr~ calls Libraries for
drawin~ etc.
· ,- ~
Clascal Imples r Jentation
var.field Heap
varPr ( oc args )
c lassProc(args)
Ob ject Handle 111'" Master Pointer
@NEW
-- --
Class Pointer@Method 1 . Field 1
@Method 2 Field 2
@Method 3 Field 3
TYI=>E
c
= SlJ8O.PSS OF OBJECT fieldl: tl; field2: t2; _PROCEDURE Method1(args);_
END;
,
-
..."'"
Clascal
- The Generic Application
- Specifies Standard Behavior - Defines Superclasses
. - Specific Applications
- Specify Differences from Standard - Define Subclasses
Toolkit
Application Structure
Your Application draw view
hilite selection editing
key events
n
IQIrse events
window events
Toalkit
__ ..-. cpenlUlCOver window resize window
scroll/flip/thumb
'. 'Some ThinQs TIle Tool Kit Does for You
• Library and Process Initialization
• Process T errnination (Normal and Exception)
• Desktop Manager Communication
• Clipboard Commur.lication (Cut and Paste)
• Saving/Restoring Window State on Suspend Files
• Multip~e Panels
• Multiple Views of A Document
• Split Views (panes)
@ Dispatching User Events to Your Procedures
~ Handling of Mousing in Resize Icon & Scroll Bar~
• Handling Activation and Deactivation
o Calling Idle Routioes (e.g., Track Cursor, Blink) o Memory Management Policies
o Print Fidelity Policies
" User Interface Policies
o Simplified OS File ,Interface
e Sin,plified Use of Relocatable Dynamic Storage
• GrafPort Coordinate-system Management o. Multiple Docunlent Windows per Process
./ ". ./ ". ".
, , , , \. , , ,
'''Buildi " ~'/ ',~
, , . , ,
"" " . \
ToolKit
./ / .I ...
, , , , , , , , ,
::~: ". / Blocks:;:: .I ./
, , , \ , , \. , ,
Tool Kit
Building Blocks
Palyaph Editing (ala I isaWrite)
.
Structured Giaphics (ala LisaDraw) Bit Map Graphics (fonts aad icons)
Network & Teleca III Lnicaticn
Tutor (ala LisaGuide)
International Data Entry and Fonnatting
DialoglForm (check boxes, buttons, fields)
A Window Displays a View of a Oocument
The .. Window can Scroll over the View
View Window
-
o o
, filr IPrint Edit Type Style Pnge l£1yl"llt Format Customize
u
G Cells:A B
1 1975
1iIf:~J---f"_' _ _ ""M
2 1976
6 1980
7 1981
~;H---t·-_··"··M"M"_. _ _ _ _ '_"'H'_":-'_.-"-"
a
1982'9
10
11
12 13 14 15
Pro fits for Pas t E J ght Ve&.rf) , ttMred Thousand
8~---·---~
£>
11
rn
.... _. ..-
2
o .
, .. JLl11.
-2
-11~---~
1975 1976 1977 1978 1979 1980 1981 1982
Actual ProJeoted o
fa
.I , ,
~
~l
f
~ ,-. .,..
,
.' r.'
l
I
~
A Window Can Have Several Panels
Each Panel Shows a Different View
of the Document
View Window
I~ niu euiiu uiein li.w.. ,... ~
iIJIIl
~
1 :;;: A~~
~
I-
I~
Panel Panel I I I I : :" ./ qj
I I I) , , I I ::: :;;
~ to;: I
l 0 ... I ....
([I)
i I -""'"- £::~:'~"::C' ;:",,','
:,' ': ';",~
View/ /
~
() I
j~ .... !!oo. .. I I I
P~. 1 I I
.. ,.. I
I I
,
I I I I 1 i...
A Window can be split into Panes
Each Pane Shows a Different Area of the View
View Window
. 1un niu euiiu uiain .i ....
Pane
. ~
/"'-...
t
~
0 ftl9t 1Relationships Among Tool Kit Objects
Document Document Doct..ment
Window
Panel Panel
View· View
Application Data Structures