chap02

8
What is an O.S.? Layers of a Computer System · Hardware · Operating System · Utilities · Application Programs Services typically provided by an O.S. · Program Creation (editor, compiler) · Program Execution · Access to I/O devices · Controlled access to files · System Access (logging in) · Error detection/response · Accounting · Must manage system resources · Kernel – Most frequently used items · O.S. will evolve over time · Hardware upgrades, New services, Fixes

Upload: mbadubai

Post on 17-Dec-2015

213 views

Category:

Documents


0 download

DESCRIPTION

OS SLIDES

TRANSCRIPT

  • What is an O.S.?Layers of a Computer SystemHardware Operating SystemUtilitiesApplication ProgramsServices typically provided by an O.S.Program Creation (editor, compiler)Program ExecutionAccess to I/O devicesControlled access to filesSystem Access (logging in)Error detection/responseAccountingMust manage system resourcesKernel Most frequently used itemsO.S. will evolve over timeHardware upgrades, New services, Fixes

  • O.S. HistorySerial ProcessingSign-up sheet for computer timeEach user would set up the job, run it, and collect outputSimple Batch System (mid 1950s)Try to improve scheduling/setup timeHave a monitor that loads jobs, when a job finishes it jumps to the monitor that loads the next job.Use JCL (Job Control Langague) to submit jobsDesirable hardware items:Memory protectionTimerPrivileged instructions (I/O)InterruptsMultiprogrammed Batch SystemSeveral programs in memory at one timeOne program can do I/O while another computesNeeds memory management, scheduling

  • Time-Sharing SystemsAllow several users to interact with the system at the same timeEmphasizes response time over processor useCompatible time sharing system (CTSS) 1962Machine had 32K 36-bit wordsSwitched users every 0.2 secondSupported up to 32 usersMULTICS (1965)Intended as the computer service for BostonStrong influence on later systemsGood security, user interfaceNote systems tend to grow over time as user requirements expandMS-DOS 1.0 (8k, 1981)DOS 2.0 Subdirectories (1983)DOS 3.1 Networking (1984)Windows 3.1 Graphical interface (1990)Windows 95 32-bit internals (1995)Single-user multitasking (windows 95)

  • O.S. IssuesProcess.Hard to define formally, but think of a running program.Three main components:Executable program.Data for that program.Context (registers, files, etc.) For the program.O.S. Needs to maintain proper synchronization between processes (mutual exclusion, avoiding deadlock).Main causes of errors:Improper synchronization.Must wait for someone else to finish.Failed mutual exclusion.Assigning two passengers to the same seat.Nondeterminate program execution.Output depends on other programs.May be a result of misused common memory.Deadlock.Two processors each waiting for the other to do something.

  • O.S. IssuesMemory managementIsolate processes from each other (shared memory may be allowed).Should allow only appropriate accesses.Often implemented using virtual memory.Automatically move data between main memory and disk.Support modular programs.Support long-term storage.SecurityControl use of the system, access to files and other resources.Areas of concern by O.S. Developers:Access control.Information flow control.Certify above controls are correct.

  • O.S. Issues 2SchedulingResource allocation and schedulingFairness/priorities/efficiencySystem structureAs systems grow larger, rely on modules, layers of abstraction (table 2.4 page 78)Electronic circuitsInstruction setProceduresInterruptsPrimitive processesLocal secondary storageVirtual memoryCommunicationsFile systemDevicesDirectoriesUser processShell

  • Modern SystemsMultithreadingAllow a process to consist of one or more threads that share memory, files, etc.Helps with structuring programsMicrokernelAssign only essential functions to the kernel (memory, communication)Other items run as user processesSymmetric multiprocessingSystem may have two or more equivalent processors that share memory, I/ODistributed operating systemProvide illusion of a single system from several entitiesObject-orientated designEasy to extend the operating system

  • Modern SystemsWindows 2000Single-user multitaskingOne user running multiple programsModified microkernal architectureSupport for DOS/Win9x programsUses client/server model, objectsSupports threads and SMPUnixCreated for PDP-7 (1970), PDP-11Used ideas from MULTICS, CTSSRewritten in C, source was availableEasy to port to new systemsSVR4, Solaris 2.x, 4.4 BSDLinuxDerived from Minix by Linus TorvaldsHandled by volunteersMonolothic kernelCan load/unload kernel modules