Title: Operating%20Systems%20-%20Introduction
1Operating Systems - Introduction
- S H Srinivasan
- shs_at_cs.ucsd.edu
2What is an OS?
- Collection of software
- that makes the computer usable
- processes
- sharing
- useful to to many applications
- abstraction
- Between the application and the hardware
3Layers
Banking Airline Games
APPLICATIONS Compilers Editors Shell
SYSTEM --------------------------------- system
calls kernel
PROGRAMS ---------------------------------
device drivers Machine language Microprogramming
HARDWARE Physical devices
4Why an OS?
- Functionality (ease of use)
- timesharing
- networking
- Abstractions (ease of programming)
- sockets, pipes, ...
- Performance (efficiency)
- manage resources efficiently
5OS as an idealized machine
- Physical machine
- single processor
- limited memory
- complex devices
- limited security
- physical machine OS idealized machine
6Idealized Machine
- As many processors as the number of programs
- Unlimited memory
- Clean and uniform device interfaces
- Access control
- Efficient resource use
7OS in action
ls Mail work games Behind the scenes
operations (shell) print prompt WAIT
for user input (user) type ls (device driver)
read the keyboard inform
the kernel (kernel) send it to the shell (shell)
look for executable code ls make
system calls (kernel) determine the type of
file system cached, on-disk,
cdrom, network
8OS in action (contd)
(shellkernel) get the contents of
directory (shell) format the output (device
driver) display on CRT Other operations
file permissions (cant execute a text file)
directory access (ls /secret) quota (ls
gt listing)
9OS in action (bigger picture)
init init init
init getty getty
getty login
/bin/sh
/bin/sh
/bin/date
10Is the complexity worth?
- Abstraction
- process
- file (harddisk, cdrom, network, terminal)
- Sharing
- cpu, memory, devices
- Control
- access (file, memory, device)
- Performance
11Layers
- Shell - user
- cd
- System calls - system programmer
- chdir
- Software architecture - designer
- kernel, file system, networking, ...
- Implementation
12Concepts
- Principles behind architecture and
implementation - well-known algorithms
- well-known problems
13Well-known OSs
- Multics
- Unix
- Linux
- BSD
- MS Windows
- Realtime OS
14History of OS
- Late 50s - Early 60s
- batch processing
- Late 60s - 70s
- Multiprogramming
- time sharing
- new abstractions
15History of OS (contd)
- 80s - 90s
- GUI
- network support
- network transparency
16Multiprogramming
- Goal keep CPU busy
- Fact I/O times are large
- When one program is waiting for I/O, run another
program - gt Multiple programs resident in memory
- Scheduling non-preemptive
17Time sharing
- Goal allow access to multiple users at the same
time - Fact Peoples response time is large
- Schedule the programs fast
- Scheduling preemptive
18Major Unix Flavors
- First Edition Bell Labs, 1969
- 1BSD UC, Berkeley, 1977
- System V 1983
- POSIX standard
19- Linux (open source)
- Solaris (Sun)
- AIX (IBM)
- FreeBSD (open source)
20OS organization
Libraries process process
process
(user) ---------------------------------------
------------------ Kernel Device Drivers
(supervisor) Processor(s) Main
Memory Devices
21Kernel
- Process resource manager
- Memory manager
- File manager
- Device manager
22Processor Modes
- Mode bit supervisor or user
- Supervisor mode
- can execute all machine instructions
- can reference all memory locations
- User mode
- subset of instructions
- subset of memory locations
23Kernel
- Trusted, management software
- executes in supervisor mode
- can enter user mode
- How does a user program invoke a kernel operation?
24Trap instruction
- Trap is like a function call
- mode is set to supervisor
- address of function is looked up from a table
- the function body is executed
- Direct invocation of the function is not permitted
25Other OS organizations
- Object-oriented
- object data associated procedures
- Microkernel
- most of the services implemented at the user
level (servers) - kernel provides only the communication between
servers
26Realtime OS
27Administration
- Class webpage
- www.cs.ucsd.edu/classes/sp00/cse120_A/
- Bulletin board
- send mail to qxin_at_cs.ucsd.edu
- Section Fri 1220-110 , CSB 001
- Text Modern Operating Systems, Tanenbaum
28Evaluation
- Four group (of 3) assignments
- programming
- report
- 12.5 each
- Midterm (20)
- Final (30)