Operating Systems: A Modern Perspective (3rd ed.), Gary Nutt, 2004. Extensive
lecture notes and program examples on class website, Amit Jain, 2011. Optional:
...
Advanced Programming in the UNIX Environment by W. Richard Stevens. ... MS
Windows Systems Programming: files, buffers, processes, signals and pipes.
28 Non-IBM Operating Systems Running on IBM or Other Mainframes: MUSIC,
MTS, Unix ... 41 Mainframe/PC Comparisons (for PC People NEW to Mainframes)
.
Operating Systems: Basic Concepts and History. 1. Introduction to Operating
Systems. An operating system is the interface between the user and the
architecture ...
Jan 21, 2009 ... Basic concepts of computer architecture ... “Distributed Systems: Concepts and
Design (4th ... edition)” by George Coulouris, Jean Dollimore,.
1. Sequence 4. CS240. 1. Modern Operating Systems. • Microkernel architecture.
– Assigns only a few essential functions to the kernel. • Address spaces.
CompSci 267 – Data Compression. • Prerequisite: CompSci 161 or 260 or 261. •
Recommended textbook. K. Sayood, Introduction to Data Compression,. 3rd ed.
Concepts of Programming Languages, 9th ed., Robert W. Sebesta, 2010. ...
Principles of programming languages: design, syntax, semantics, information ...
explain the structure and functions of an operating system,. – illustrate key ...
Operating Systems — Books iii ... monitor reads job and transfer control. – at end
..... When process terminates its memory returns onto the free list, coalescing
ho
Jul 28, 2006 ... This document is titled A Technical History of Apple's Operating Systems.
Whereas the book's ... I prepared this PDF from my “raw” manuscript. Therefore,
this document is not ..... 1.6.1. Star Trek. 88 ..... result of the t
the OS). – microkernel-based: non-basic functions float as servers (there is a
small kernel for the basic functionality). Distributed Systems. A distributed system
is:.
An operating system is a type of system software that manages and controls the resources and computing capability of a computer or a computer network, and ...
explain the structure and functions of an operating system,. – illustrate key ...
Inside Windows 2000 (3rd Ed) or Windows Internals (4th Ed). Solomon D and ...
... providing to help them carry out these tasks. 1 http://www.webopedia.com/
TERM/o/operating_system.html. 2 Operating Systems – 3rd Edition, Gary Nutt pg
4 ...
CS 446/646 - Principles of Operating Systems - 2. Processes. 50 ... d. Deadlocks.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark
. ..... must download page components (images, styles, etc.) simultaneously ...
The adaptable Digital Lighting Management (DLM) technology platform provides
control infrastructure at every switch, outlet and lighting load for optimal energy.
7. are you writing a book?: you're asking too ... 17. big tickle: really funny. 18.
binoculars: .... view mirror. A 50s version of the Medieval wearing your lady's
colors.
âwidespread covert violationâ of conservative sexual norms, and college offi- cials retreated .... At the same time,
The Techniques of Mind Control and how to Influence the. Thoughts and ..... you
can guide the person to do a whole myriad of things without them even knowing ...
16 Channels API 1604 Console. Room Equalizer ... 2 API 550A. 2 API 553. 4
Avedis Discreet A15. 1 API 560. 2 API 560A. 1 Crane Song IBIS Mastering E0.
Overview of Main OS “structures”. 2.1 History of Operating Systems: Change! One
view of change: Typical academic computer in 1981 and 2002. 1981. 2002.
History of Operating Systems 1950s Total Control COMPSCI 101 ...
Why review the history of OSs? ... of the prescribed text Operating Systems
Concepts (8th edition) by ... control the computer through console switches.
History of Operating Systems
1950s
Why review the history of OSs? Seeing how OSs developed shows the link between the capabilities of hardware and the design of OSs. It explains why OSs are as they are now. History seems to repeat.
UNIVAC 1
This figure and some others in the slides are from an earlier version of the prescribed text Operating Systems Concepts (8th edition) by Silberschatz, Galvin and Gagne.
Operating Systems
Lecture 02
page
1
Operating Systems
Total Control
Lecture 02
page
2
COMPSCI 101 1950’s style
Circa 1950s Computers were very expensive. Users (they were all programmers) booked the whole machine. They had to: • • • •
prepare their program and data cards do all the setup and loading required control the computer through console switches debug using console lights and switches
This required a large amount of knowledge about the computer and peripherals. Inefficient use of the machine. Computers could execute 10s of thousands of instructions per second. But they were idle almost all the time.
Operating Systems
Lecture 02
page
3
• • • • • • • • • • • • • • • • • •
clear computer storage ready the compiler paper tape ready the tape for the compiled output put the source code cards in the card reader set the switches to load the compiler start the compiler if errors - work out what they are and try again clear computer storage ready the compiled object tape (still needs linking) ready the i/o subroutines tape and linker ready the tape for the output runnable program load and run the linker ready the printer or output tape clear computer storage ready the runnable program tape put the data cards in the card reader load and run the program if errors – work out what they are and try again
Operating Systems
Lecture 02
page
4
What did the OS look like?
Computer Operators & Off-lining
Most of the OS at this stage was comprised of the decisions and actions of the user. There were rudimentary components such as standard IO routines which were the forerunner of device drivers and system calls. Several speed-ups • • • •
• No memory management – every address was reachable. • No file system – the user loads the correct tapes. • Security – the door could be locked. • IO was polled for - no need for anything faster • Some standard IO routines – useful code to read and write to tape and printers. • Only one program at a time. • No problems with synchronization. • Programs communicate through paper tapes. • User interface was almost the bare machine. • Accounting maintained independently of the system.
Operating Systems
Lecture 02
page
experience multiple operators (early multiprogramming?) batching similar jobs together (sometimes called phasing) keeping the programmer away from the computer
Changes No real changes from the hardware or OS perspective. But procedures were more formal. The first UIs were instruction sheets to the operators. The next step was to automate some of these procedures.
Off-lining The arrival of magnetic tape substantially improved IO. Small cheap computers did the slow IO from paper tape to mag tape. And from mag tape to the printer. The big expensive computer used the mag tapes for IO. Several programs submitted to the BEC on one tape. The first parallelism in computer systems. 5
Operating Systems
Resident monitors
Lecture 02
page
6
Control programs
The computer operators had formal procedures.
The resident monitor needed instructions.
Get the computer to help.
Special cards that tell the resident monitor which programs to run
What it needs A program always in memory (hence the “resident”). A control language - commands had to be given to the resident monitor. The starting point of OSs.
Resident monitor could
$JOB $FTN $RUN $DATA $END
Special characters distinguish control cards from data or program cards:
clear memory used by the last program (but not itself ☺) load the next program find the data for the program jump to the start address of the new program, returning to the resident monitor when finished it also maintained the standard IO routines in memory
$ in column 1 // in column 1 and 2 709 in column 1
The first Job Control Languages (JCLs).
What was missing?
Operating Systems
Lecture 02
page
7
Operating Systems
Lecture 02
page
8
What had changed?
Change in the hardware
• No memory management – every address was still reachable. • Still no real file system, but there is a distinction between data and programs. • Security – maintained by the operators. • IO still polled for. • Programmers now basically forced to use the standard IO routines. • Only one program at a time. But two programs in memory. • Still no problems with synchronization. • Problems with bad programs – system needed resetting when something bad happened. • Depending on the types of devices the output of one program could automatically become the input of another. • User interface was the JCL. • Accounting still maintained independently of the system.
Disk drives Disks provided substantially faster access to large amounts of storage.
Interruptible processors Devices raising interrupts and processors responding to them substantially changed the way IO was performed. Development from single location return addresses to the use of a stack.
I/O devices and the CPU can execute concurrently. I/O is from the device to local buffer of controller. CPU moves data to main memory from local buffer of controller. Device controller informs CPU that it has finished its operation by causing an interrupt.
Operating Systems
Lecture 02
page
9
Operating Systems
SPOOLing
Lecture 02
page 10
Multiprogramming
Simultaneous Peripheral Operation On-Line Time waiting for IO can be used. No longer need the small cheap computers for IO.
We are doing things simultaneously. processing a program reading cards for another program printing data for another program
The next step is obvious. Have several programs in memory at once.
Memory now holds • • • • •
a running program interrupt driven card reader control program interrupt driven printer control program disk control software buffers for data being transferred between the computer and devices • a program loader • a JCL interpreter • a rudimentary file system – some data stays “permanently” on the disk
Operating Systems
Lecture 02
What do we need? a lot more memory a scheduler a way of keeping track of which program is where in memory and where its data is, on card, disk etc better ways of handling errors a way to preserve the memory of each program
page
11
Operating Systems
Lecture 02
page 12
Memory protection
Why do we need both?
Can be provided by software. What is an example? A system that keeps programmers completely away from direct access to memory addresses. Alternatively, a check of every address by an instruction filter.
But far more efficiently and safely done by hardware.
If we had modes and privileged instructions but full memory access Obviously no memory protection but also no protection of the privileged instructions - put any code you want in the system areas of memory
If we could limit memory accesses but there were no modes and privileged instructions
Two requirements Operating modes and privileged instructions Limited address range
Provide hardware support to differentiate between at least two modes of operation.
Instructions are used to set up the memory management registers. If these are not privileged a user can change the area of memory available.
1. User mode – execution done on behalf of a user. 2. Kernel mode (also monitor mode, supervisor mode, privileged mode or system mode) – execution done on behalf of the operating system.
Operating Systems
Lecture 02
page 13
Operating Systems
Lecture 02
page 14
Processor modes
Memory protection
Added to the hardware processor status register (or similar) to indicate which mode the processor is operating in. Interrupts, faults, system calls cause the processor to change mode and … jump to a particular location. Privileged instructions cannot be executed in user mode.
Each process gets allocated an area of memory which it can access. All accesses outside that memory cause an exception (or fault). !fixed size partitions processes were designed to load in a particular partition !base-limit registers !memory pages
Mode bit
Devices can be protected using memory protection or privileged instructions Interrupt/fault/system call kernel
user
set user mode
Operating Systems
Lecture 02
page 15
Operating Systems
Lecture 02
page 16
Batch systems
Batch system innovations
With memory protection and processor modes we can safely have multiple programs in memory.
Each job had its own protected memory. Disks with file systems. Files were associated with owners.
from
Scheduling was automated. The aim was to effectively utilise all of the expensive hardware. Computer operators now too slow. Individual jobs could be suspended or killed, allowing other jobs to progress.
to
Computer operators had consoles. Maybe even VDUs.
Accounting could now be done automatically.
But from the programmer’s point of view nothing much had changed.