WHAT IS AN OS?

provides an easier-to-use interface to the hardware for the user and programmer

is resource manager for hardware and software resources

algorithms and abstractions: algorithms to manage the computer's resources and abstractions that make the computer easier to use

multiple processes are an abstraction of the CPU, virtual address spaces are an abstraction of physical memory, and files are an abstraction of the disk

OS History

hardwired programming, sign up for a block of time, provide own device drivers, device driver library, card decks and multiprogramming, timesharing and interactive terminals, GUIs, PCs, networking, distributed computing

Kinds of OSs

mainframe, server (file server, Web server, database), multiprocessor, desktop PC, real time, embedded, PDA, smart card, distributed computing (most OSes today are multiprocessor capable because of multiple core CPU chips in PCs)

OS Concepts

process, process address space of N bytes (up to 232) where N is guessed by the compiler, byte addresses are 0 to N-1 inclusive

 0                                                N-1
----------------------------------------------------
| code (read-only) | data | heap--> (gap) <--stack |
----------------------------------------------------
data for globals, heap for new and malloc, stack for return addresses and passed parameters and called procedure local variables

Example program.

process table, command interpreter (shell), UID, GID, super user, deadlock, file, directory, absolute path, relative path, root directory, current working directory, file descriptor, mount a file system, redirect IO with < and >, pipe: command1 |  command2, rwx protection bits

Structuring, Organizing, Designing an OS

monolithic (big hunk of code), shared single RAM client-server, distributed multiple RAMs client-server (file server, process server), virtual machine (IBM mainframe VM, VMWare, VirtualBox, Xen, Parallels, KVM, Microsoft Hyper-V, etc.)

Computer Hardware

System Calls


home page: http://elvis.rowan.edu/~hartley/index.html
e-mail: hartley@elvis.rowan.edu