Operating Systems: Evolution, Architecture, and UNIX - Prof. Lonnie E. Cheney, Study notes of Computer Science

An overview of the evolution of operating systems, their architecture, and the specific case study of unix. It covers topics such as batch processing, interactive systems, multi-tasking, window management, data and file management, device control, resource management, access control, and os utilities. The document also explains the concept of a process and process administration.

Typology: Study notes

Pre 2010

Uploaded on 08/19/2009

koofers-user-7xl-1
koofers-user-7xl-1 🇺🇸

5

(1)

10 documents

1 / 13

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
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
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Partial preview of the text

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