Notes
Outline
Operating Systems
Initially short pieces of code to direct output to a printer or accept input from a card reader.
Then background programs to handle requests from multiple terminals and run multiple programs.
Operating Systems
Now-
Device control
File maintenance (creation, deletion, naming, grouping, transfer to and from disk)
Multitasking
Time Share (on larger machines)
Interface/presentation efforts (GUI)
Security
Operating Systems
Major Examples
MS-DOS
Windows
MacOS
UNIX
Linux
Application Software
Application Software - Computer programs that perform work for a user
Initially written by users
Available languages –
Machine
Assembler
Procedural (Pascal, COBOL)
4GL
Programming Languages
Common Elements of all languages:
Stored program concept
Flow of control
Sequence
Selection
Iteration
Subroutine
Programming Languages
Assembler Example:
Pascal: J:= K + M
Assembler Equivalent:
mov ax, K
add ax, M
mov J, ax
Programming Languages
Another Assembler Example:
Pascal:  J := K + M + N + P
Assembler Equivalent:
mov ax, K
add ax, M
add ax, N
add ax, P
mov J, ax
Programming Languages
Pascal Example:
Readln(hrs);
If hrs > 40
THEN grosspay := hrrate*40 + (hrs-40)*1.5*hrrate
ELSE grosspay:= hrs * hrrate;
Writeln(‘Gross pay was “,grosspay);
Software Packages
Dan Bricklin’s VISICALC
1978 - Harvard MBA student
Created a “spreadsheet”
Ran on Apple II computers
Little initial interest
Became software “tail” wagging the “hardware “dog” (or “hardware drag”)
Software Packages
Branched out into VisiDex, Visigragh
Hired Mitch Kapor to program Visigraph
Kapor used pay and experience to create Lotus-1-2-3
Visicalc was not patented (software patents were not legal until 1981)
Visicalc sold to Lotus in 1985
      and discontinued