Download Operating Systems: Evolution, Architecture, and UNIX - Prof. Lonnie E. Cheney and more Study notes Computer Science in PDF only on Docsity!
Foundations of Computer Science
Operating Systems
Dr. Lonnie Cheney
Slide 2
Outline
Evolution of Operating Systems
Operating System Architecture
Coordinating the Machine’s Activities
UNIX
Slide 3
Outline
Evolution of Operating Systems
Operating System Architecture
Coordinating the Machine’s Activities
UNIX
Slide 4
Evolution
- multi-million dollar machines should not be idle
- amortize hardware costs across many users
- batch processing
- interactive/real-time processing
- multi-tasking
- network / distributed processing
Slide 5
Batch Processing
- job = the set of tasks / programs one user wants to run
- user submits a job to operator / OS
- job gets placed into a QUEUE (FIFO)
- after all jobs ahead of it are done, the job is run
Slide 6
Batch Processing
Slide 7
Interactive
- some applications need immediate response example: airline reservation system, text editor
- interactive systems make it look like user has entire machine
- some applications need real-time response example: robot control systems, fly-by-wire
Slide 8
Interactive
Slide 13
OS Functions
control computer & its peripherals
- high-level, ease of use
- points of view: end-user, system programmer window management data and file management device control resource management access control
Slide 14
Control Computer
- machine language is too low level: 10A0, 11A1, 5001, 30A2, C
- higher level commands: cp ../public/foo.c boo.c
- user view: how to make computer do what I want
- systems view: how to manage computer resources
Slide 15
Window Management
- provide graphical user interface (GUI)
- manage layout of windows (stacking, minimizing, maximizing,…)
- can range from very simple to very complex
Slide 16
Data and File Management
- data & programs as files on secondary memory: save, open (load)
- provide file manipulation capabilities: copy, rename, delete, move
- control file access permissions for owners, world: read, write, execute
Slide 17
Device Control
- provide communication paths to devices
- device drivers: provide higher-level instructions example: instead of specifying what sector and track to store bytes on, just give bytes to device driver, it will write the bytes appropriately
- device drivers: encapsulation if new disk drive, no need to change our program only the device driver
Slide 18
Resource Management
- memory: allocation to different programs
- virtual memory
- communication & sharing of peripherals many users printing to the single printer
- sharing executable programs many people using the directory command
Slide 19
Access Control
- user accounts, user id’s, login names
- passwords
- disk quotas
Slide 20
OS utilities
programs (commands) file management, explorer (cp, mv, rm, ls, cd) text editing (vi, emacs, textedit) compilers (g++) special tools (e-mail, printing, networking) libraries (collection of program pieces, which can belinked into user programs)
Slide 25
ROM
- bootstrap program must be permanent part of computer system
- must be stored in memory
- this memory must be non-volatile
- Read Only Memory (ROM)
Slide 26
Outline
Evolution of Operating Systems
Operating System Architecture
Coordinating the Machine’s Activities
UNIX
Slide 27
Concept of a Process
- note : difference between program and process
- • program: static set of directionsprocess: activity of executing a program (dynamic!)
- process state (current status of the activity) includes
- current position in the program
- values in CPU registers and memory cells → “snapshot” of the program execution activity
Slide 28
Process Administration
- scheduler maintains a record of processes
- process table contains information about all active processes
- memory area, priority, status (waiting, ready)
- dispatcher ensures that processes are executed
- assigns time slices to processes
- switches from one process to another (process/context switch)
Slide 29
Time-Sharing
Slide 30
OS Architecture
FM
CP
SC
DSP
RA
- command processor
- scheduler
- file manager
- resource allocator
- dispatcher
Slide 31
How a command is executed...
FM
CP
SC
DSP
RA
print foo.txt
Slide 32
Scheduler sets up task
FM
CP
SC
DSP
RA
print foo.txt
queue
check files devices^ check
Slide 37
Outline
Evolution of Operating Systems
Operating System Architecture
Coordinating the Machine’s Activities
UNIX
Slide 38
UNIX Background
- operating system; popular especially for servers
- developed by Bell Labs in 1969
- several different “flavors” exist today (Solaris, FreeBSD, OpenBSD, …)
- a well-known UNIX-like operating system is Linux
for starters, check out Ubuntu (www.ubuntu.com); it’s free and pretty straight forward to install (you can even run it from CD; no installation required)
Slide 39
UNIX Commands
- entered in a terminal/shell (“command line interface”)
- typically contain three parts:
- command name examples: cd, ls: determines the exact command to be executed;, cp, man, …
- options options are optional; there is always a default setting;: indicate which variation of a command should be executed; options are specified using a hyphen (“-”);examples: ls –l, ls –a, ls –al
- arguments not all commands need arguments;: specify the objects or targets of a command; in command descriptions, optional arguments are indicated with “[ ]”;examples: cp file1 file2, mkdir newdir Slide 40
cd
- change directory cd [directory]
- Examples:
- cd (change directory to home directory)
- cd dir1 (change directory to dir1)
- cd .. (change directory to parent directory)
Slide 41
ls
- list the files in the current directory ls [-laF] [filename | directory]
- Examples:
- ls (list files using default format: names only)
- ls –l (list using long format: all file info)
- ls –a (list all file, including hidden files)
- ls –F (list files showing which are executable* or dirs/)
Slide 42
More UNIX Commands
- display file contents cat [filename] (print on screen without pausing) more [filename] (print one screenful at a time)
- copy a file cp fileToCopy duplicateFile example cp aBigFile anotherBigFile
- rename a file mv oldName newName example: mv foo.txt oldfoo.txt (rename foo.txt to oldfoo.txt)
- erase a file (same as delete or remove) rm [filename] example: rm file
Slide 43
More UNIX Commands
- remove a directory rmdir dirname example: rmdir dir1 (deletes the directory dir1)
- display help from user manual for command man [-k keyword] [command] example: man ls (display info on how to use ls command)
- display today’s date and time date
- display list of users and what they are doing w Slide 44
Hierarchical File System
- a file system can contain files and directories
- a directory is a file that contains other files or other directories
- the contained directories are called children, the containing directory is called the parent
- the file system is described as a tree: every HFS has a single topmost directory called the root directory (designated by /). root is the ancestor of ALL files!
Slide 49
HFS: result of cd ..
usr etc home bin xf01 yppasswd public xf0101 xf0102 xf lab1 foo.dat boo.txt current directory: /home/xf01What are the effects of: “cd ../..” or “cd /” or “cd xf0102”? To make xf0103 the current dir, type How to make bin the current directory? cd xf Slide 50
HFS: cd to /bin
usr etc home bin xf01 yppasswd public xf0101 xf0102 xf lab1 foo.dat boo.txt current directory: /home/xf answer:same effect: cd ../../bin cd /bin (relative path)(absolute path) How to add a directory FOO to xf0103?
Slide 51
HFS: adding dir FOO
usr etc home bin xf01 yppasswd public xf0101 xf0102 xf lab1 foo.dat boo.txt current directory: /bin cd /home/xf01/xf0103 and mkdir FOO mkdir /home/xf01/xf0103/FOO How to copy the file lab1 to xf0103? Slide 52
HFS: copy lab1 to xf
usr etc home bin xf01 yppasswd public xf0101 xf0102 xf lab1 foo.dat boo.txt current directory: /home/xf01/xf cp ../public/lab1 .cp /home/xf01/public/lab1 /home/xf01/xf
FOO