Title: Operating Systems
1Operating Systems
- Tennessee State University
Fenghui Yao
2Goals
- Understanding the basic concepts of OS.
- We are not discussing a particular OS.
- However, the design and implementation issues
will be clarified. - The course prepares for the design and
implementation of OS. - It is not a system administration course !!!
3Organization
- Schedule TR 940AM-1105AM
- Text book
- Andrew S. Tanenbaum Modern Operating
Systems, 3rd ed., Prentice Hall, 2008. - Office Hour MWF 940AM-1200AM,
TR800AM-940AM
4Outline
- Introduction
- Processes
- Memory management
- File systems
- Input/Output
- Deadlocks
- Multimedia operating systems
- Multiple processor systems
- Security
- Case study 1 Linux
- Case study 2 Windows Vista
- Case study 3 Symbian OS
- Operating System Design
5Introduction
1.1 What is an operating system 1.2 History of
operating systems 1.3 The operating system
zoo 1.4 Computer hardware review 1.5 Operating
system concepts 1.6 System calls 1.7 Operating
system structure
6Definition
- An operating system is a collection of programs
that acts as an intermediary between the hardware
and its user(s), providing a high-level interface
to low level hardware resources, such as CPU,
memory, and I/O devices. The operating system
provides various facilities and services that
make the use of the hardware convenient,
efficient, and safe. - Lazowska, E.D.
7The layered model
Application Programs Solve problems for their
users
System programs Manage the operations of the
computer itself. OS most fundamental of all the
system program, control all computer resources,
provides the base upon which the application
programs can be run.
- A computer system consists of
- hardware
- system programs
- application programs
81.1 What is an Operating System
- Top-down view what a programmer wants is simple,
high-level abstraction to deal with - OS as an extended/virtual machine
- OS hiding details in order to
- make programming easier
- portability making programs independent of
hardware details - Bottom-up view
- OS as a resource manager
- OS control and schedule the resources
- keep track of who is using which resource
- grant resource requests
- account for resource usage
- mediate conflicting requests
- - e.g., concurrent write operation on a
printer
91.2 History of Operating Systems
- OS versus developments in computer architecture
- Modern OS development started between late 70s
and early 80s -
-
10- First generation 1945 - 1955
- vacuum tubes, plug boards
- No operating system
11Second generation 1955 - 1965transistors, batch
systems
- Early batch system
- bring cards to 1401
- read cards to tape
- put tape on 7094 which does computing
- put tape on 1401 which prints output
12Structure of a typical FMS for IBM 7094
Account No
Time
13Third generation 1965 1980 (ICs)Multiprogrammi
ng manage several jobs at once
- Multiprogramming system
- three jobs in memory
14- Another major feature SPOOL (Simultaneous
Peripherals Operation On Line) - A variant of multiprogramming TSS (Time Sharing
System) - Key TSS development CTSS developed by MIT, TSS
by IBM, - MULTICS developed at MIT, GE, and Bell,
successor of CTSS - Minicomputers phenomenal growth, PDP series
- Ken Thompson (Bell Labs, worked on MULTICS
project) wrote - a stripped-down, one-user MULTICS on PDP-7 ?
UNIX
15Fourth generation 1980 present (VLSIs)
- MS-DOS
- Windows
- Unix, Linux
- MacOS
161.4 THE OPERATING SYSTEM ZOO
- Mainframe operating systems e.g. OS/390
- Server operating systems e.g., UNIX, Win2K,
Windows XP, Windows Vista, Linux - Multiprocessor operating systems
- Personal computer operating systems e.g.,
MS-DOS, Win98, Win2K, Mac OS, Linux - Handheld Computer Operating Systems Palm OS,
Symbian OS - Embedded Operating Systems (TV, cars, DVD player,
MP3 player, Cell phone) e.g., QNX, VxWorks - Sensor Node Operating Systems e.g., Tiny OS
- Real-Time Operating Systems (Industry production
process) e.g., e-Cos - Smart Card Operating Systems (Credit card size
device) Java oriented
171.6 OS Concepts System calls
- What are system calls?
- A system call is a library procedure that
provides a function to the user program. - A set of system calls defines an interface
between the operating system and user programs.
User programs request for service from OS by
system calls.
18- How the system call works ?
- procedure puts parameters in a specified
place - issue a TRAP instruction to start OS
- TRAP instruction a kind of protected
procedure call - OS examines parameters and performs the task
and returns procedure - procedure returns to caller with status code
(and parameter) - count read(fd, buffer, nbytes)
- System calls are used to
- create processes
- manage memory
- read and write files
- do I/O such as reading from terminals and
writing to printer
19shell
- Unix command interpreter the shell
- shell is not a part of OS
- makes heavy use of many OS features
- primary interface between a user at a
terminal and OS - e.g., commands like ls, man, cat,
-
20Example in UNIX countread(fd, buffer,nbytes)
21Some System Calls For Process Management
22Some System Calls For File Management
23Some System Calls For Directory Management
24Some System Calls For Miscellaneous Tasks
25 26Processes in Unix
- Processes have three segments text, data, stack
27- Kernel The software that contains the core
components of operating system is called the
kernel. - Core components
- Process scheduler when and for how long a
process execute. - Memory managerwhen and how memory is
allocated to processes and what to do when main
memory becomes full. - I/O manager which services input and output
requests from and to hardware devices,
respectively. - IPC manager which allow processes to
communicate with one another. - File system manager which organized named
collections of data on storage devices and
provides an interface for accessing data on those
devices - Microkernel process management, file system
interaction, networking execute outside the
kernel.
28Summary
- History of operating systems
- The operating system zoo
- Computer hardware review
- Operating system concepts
- System calls
- Operating system structure