______ Operating Systems (CS 273 (OS), Fall 2020)
Home
>>    




Operating Systems

CS 273 (OS), Fall 2020

Historical progression of operating systems

description example hardware example OS
1. No operating system
One program at a time
ENIAC (1945)
wires, circuit boards, switches, vacuum tubes

Everything carried out in assembly code or at physical layer

2. Batch systems
"Simple monitor"
One program in memory at a time
IBM 7094
punch cards-->tape (1401)
processing by 7094
tape-->printer (1401):
"offline"
FMS (Fortran Monitor System);
IBSYS
Job = 1 or more programs
Structure of a job: fig 1.3
OS written in AL
3. Multiprogramming
Multiple programs in memory at once
CPU executes each completely before proceeding, as in batch
IBM 360 family
all-purpose architecture
SPOOLing (online)
OS/360
sought to be all things to all people; always buggy
very complicated to use (JCL)
OS written in AL
4. Time sharing
Multiple programs in memory
CPU executes all, in turns (time slices)
Modified 7094
?
DEC PDP-11 (early 70's)
DEC VAX (late '70's)
CTSS (MIT, early 60's)
Dartmouth BASIC system
RSTS
VMS
5. Disk Operating Systems
IBM PC (1981)
floppies
MS-DOS
6. Graphics-oriented operating systems
Xerox PARC
Macintosh
?
Mac OS
7. Multimedia operating systems
Improved support for realtime video, etc.
   
8. Network operating system vs
Distributed Operating System
Networked PCs
Novell Netware
Plan9
9. Internet: Has no operating system
Protocols
Network/system management tools
Cluster management
Client/server applications; browsers
Heterogeneous computers and network hardware
 

UNIX

  • In the 60's, computers were extremely expensive. Companies would buy one and display it through windows in lobby to show off; few companies could afford/had need for more than one.

  • In mid to late 60's, a consortium involving GE, MIT and Bell Labs collaborated to implement MULTICS, a vision of a computing utility, which would provide shared computing as needed to all comers, much as the power utilites provide electricity to their customers as needed.

    The project was too ambitious, and success was undermined by fixed design choices (e.g., PL/I language); production delays eventually led to an end of the project. However, the effort generated many seminal ideas in OS.

  • In 1970, Ken Thompson, a Bell Labs researcher, implemented a simplified single-system version of MULTICS for the PDP-7, written in AL.

    For easier porting to the PDP-11, the OS was rewritten in the "B" programming language, which unfortunately offered no structs.

    Dennis Richey, another Bell Labs researcher, invented the C programming language and wrote a good compiler for it. Richey and Thompson then rewrote UNIX in C.

  • AT\&T licensed the operating system to universities for a modest fee (including St. Olaf, 1974). It became a hit in the academic community, because of its incorporation of innovative ideas and implementation in a high-level language, which permitted easy extension of the OS. Version 7 appeared in the late '70's; after AT\&T was broken up, it was converted to a regular product (System III, System V in the 80's).

  • UC Berkeley developed the first Berkeley Standard Distribution (BSD) of UNIX, incorporating Version 6 and standard utilities, for PDP hardware. The fourth Berkeley distribution was for VAX, and included support for virtual memory, long file names, a faster file system, networking, TCP/IP, socket calls, and influential utility programs (including vi, csh, compilers). These systems were used heavily in academic, research, and defense environments.

  • The differences between System V and BSD led to standards efforts, including POSIX (late 80's) and OSF (consortium involving DEC, IBM, HP, in order to keep AT\&T from assuming control), which built Motif on MIT's X11 window system.

  • Tanenbaum created Minix in 1987 for his first OS text (original PC hardware with floppy disks), implementing Version 7. Rather than the usual monolithic kernel design, he implemented it using a microkernel strategy, in which most OS services (e.g., memory management, file system) were implemented as user-level processes, leaving only a small module that actually runs in a processor's kernel mode.

  • Dissatisfied with Minix's performance, Linus Torvalds wrote Linux, his own implementation of a UNIX kernel in early 90's for PC's with virtual memory support (x386 and later). Various distributions of Linux together with the GNU utilities (produced by Richard Stallman's Free Software Foundation) are available, including Red Hat. Thousands of programmers have contributed to the overall effort, organized loosely through network communication such as network newsgroups.