EG 269 OS
EG 269 OS
1
EG 269 –Mwenya A., University of Zambia 2010
2
EG 269 –Mwenya A., University of Zambia 2010
3
EG 269 –Mwenya A., University of Zambia 2010
4
EG 269 –Mwenya A., University of Zambia 2010
5
EG 269 –Mwenya A., University of Zambia 2010
6
EG 269 –Mwenya A., University of Zambia 2010
Evolution of OS
Serial Processing
o With the earliest computers, from the late 1940s to the mid-
1950s, the programmer interacted directly with the computer
hardware; there was no OS.
o Programs in machine code were loaded via the input device
(e.g., a card reader). If an error halted the program, the error
condition was indicated by the lights. If the program proceeded
to a normal completion, the output appeared on the printer.
o These early systems presented two main problems:
Scheduling: Most installations used a hardcopy sign-up
sheet to reserve computer time. Typically, a user could
sign up for a block of time in multiples of a half hour or
so.
Setup time: A single program, called a job, could involve
loading the compiler plus the high-level language program
(source program) into memory, saving the compiled
program (object program) and then loading and linking
together the object program and common functions. If an
error occurred, the user typically had to go back to the
beginning of the setup sequence. Thus, a considerable
amount of time was spent just in setting up the program to
7
EG 269 –Mwenya A., University of Zambia 2010
8
EG 269 –Mwenya A., University of Zambia 2010
9
EG 269 –Mwenya A., University of Zambia 2010
Time-Sharing Systems
o Developed due to need for an interactive computing facility i.e.
the use of a dedicated personal computer or workstation.
o That option was not available in the 1960s, when most
computers were big and costly. Instead, time sharing was
developed.
o Just as multiprogramming allows the processor to handle
multiple batch jobs at a time, multiprogramming can also be
used to handle multiple interactive jobs.
In this latter case, the technique is referred to as time
sharing, because processor time is shared among multiple
users.
o In a time-sharing system, multiple users simultaneously access
the system through terminals, with the OS interleaving the
execution of each user program in a short burst or quantum of
computation.
if there are n users actively requesting service at one time,
each user will only see on the average 1/n of the effective
computer capacity, not counting OS overhead
o Both batch processing and time sharing use multiprogramming.
The key differences are listed in Table 2.1.
10
EG 269 –Mwenya A., University of Zambia 2010
11
EG 269 –Mwenya A., University of Zambia 2010
Varieties of OS
12
EG 269 –Mwenya A., University of Zambia 2010
o They serve multiple users at once over a network and allow the
users to share hardware and software resources. Servers can
provide print service, file service, or Web service.
o Internet providers run many server machines to support their
customers and Web sites use servers to store the Web pages and
handle the incoming requests.
o Typical server operating systems are UNIX and Windows 2000.
Linux is also gaining ground for servers.
13
EG 269 –Mwenya A., University of Zambia 2010
14
EG 269 –Mwenya A., University of Zambia 2010
15
EG 269 –Mwenya A., University of Zambia 2010
The Process
o The concept of process is fundamental to the structure of
operating systems. Many definitions have been given for the
term process, including
A program in execution
An instance of a program running on a computer
The entity that can be assigned to and executed on a
processor
A unit of activity characterized by a single sequential
thread of execution, a current state, and an associated set
of system resources
o We can think of a process as consisting of three components:
An executable program
The associated data needed by the program
(variables,work space, buffers, etc.)
The execution context of the program
The execution context, or process state, is the
internal data by which the OS is able to supervise
and control the process.
16
EG 269 –Mwenya A., University of Zambia 2010
Memory Management
o The OS, to satisfy these requirements, has five principal
storage management responsibilities:
Process isolation: The OS must prevent independent
processes from interfering with each other’s memory,
both data and instructions.
Automatic allocation and management: Programs
should be dynamically allocated across the memory
hierarchy as required. Allocation should be transparent
to the programmer.
Support of modular programming: Programmers
should be able to define program modules, and to
create, destroy, and alter the size of modules
dynamically.
Protection and access control: Sharing of memory, at
any level of the memory hierarchy, creates the potential
for one program to address the memory space of
another. The OS must allow portions of memory to be
accessible in various ways by various users.
Long-term storage: Many application programs
require means for storing information for extended
periods of time, after the computer has been powered
down.
17
EG 269 –Mwenya A., University of Zambia 2010
18
EG 269 –Mwenya A., University of Zambia 2010
19
EG 269 –Mwenya A., University of Zambia 2010
Windows
20
EG 269 –Mwenya A., University of Zambia 2010
21
EG 269 –Mwenya A., University of Zambia 2010
23
EG 269 –Mwenya A., University of Zambia 2010
24
EG 269 –Mwenya A., University of Zambia 2010
25
EG 269 –Mwenya A., University of Zambia 2010
Unix
26
EG 269 –Mwenya A., University of Zambia 2010
27