220 likes | 370 Views
Introduction Operating Systems’ Concepts and Structure. Contents. Definition of an Operating System (OS) Role of an Operating System History of Operating Systems Classification of Operating Systems Specific terms and concepts Structure of an OS.
E N D
IntroductionOperating Systems’ Concepts and Structure TUCN. Operating Systems. Lecture 1
Contents • Definition of an Operating System (OS) • Role of an Operating System • History of Operating Systems • Classification of Operating Systems • Specific terms and concepts • Structure of an OS TUCN. Operating Systems. Lecture 1
The Definition of an OSWhere comes the OS in? A computer system consists of: User software System software Hardware TUCN. Operating Systems. Lecture 1
The Definition of an OSWhat is an OS? • A system software • A collection of procedures that: • manage all the system’s hardware resources • provide the users the environment in which they can: • use the system resources • run their own applications TUCN. Operating Systems. Lecture 1
The Role of an OS • Extended or virtual machine • The external or the user point of view • A top-down perspective • Hides the complexity of using the hardware devices • Provides the user a more convenient view of the system resources • Purpose: Convenience • Resource manager • The inside or the designer point of view • A bottom-up perspective • Brings the hardware resources in a functional state • Provides each program with time and space for using resources • Purpose: Efficiency TUCN. Operating Systems. Lecture 1
A Classification of OSs • Mainframe operating systems: OS/390 • Server operating systems: UNIX, Windows 2000, Linux • Multiprocessor operating systems • PC operating systems: • Windows 98, Windows ME, Macintosh, Linux • Real-time operating systems: VxWorks, QNX • Embedded operating systems: • PalmOS, Windows CE, Windows Mobile, Symbia TUCN. Operating Systems. Lecture 1
Specific Terms and Concepts • Batch systems:no user interaction • Multiprogramming:multiple programs loaded in memory • Time-sharing:each process receives slices of CPU time • Interactivesystems: provides quick response to user’s actions • Multi-user:distinction between users • Network OS:users aware of the existence of multiple computers • Distributed OS:looks like a traditional single-processor system • Processes, Files, System Calls TUCN. Operating Systems. Lecture 1
Computer Hardware (1) • An OS is closely tied to the HW it runs on • HW components • CPU • Memory • I/O devices • Monitor • Keyboard • Storage devices (HDD, Floppy etc.) • Others • BUSes TUCN. Operating Systems. Lecture 1
Computer Hardware (2) Monitor BUS Tanenbaum, Fig. 1-5. TUCN. Operating Systems. Lecture 1
CPU • Functionality • fetch instructions from memory, decode and execute them • Instruction set • has a specific set of instructions that can be executed • specific executable programs each processor can run • Registers • Program counter • Stack pointer • Many others – architecture dependent • Machine state – saved at context switch • Kernel vs. User mode of execution • switches between • system calls • hardware exceptions, interruptions TUCN. Operating Systems. Lecture 1
Memory • Should be extremely fast, large and cheap • Hierarchy of layers • Registers: fastest, no delay, but limited size • Cache memory • cache hits and misses • Main memory – RAM (Random Access Memory) • HDDs • 2 orders of magnitude cheaper and larger then RAM, but 3 orders of magnitude slower • mechanical device – heads, tracks (cylinders), sectors, • Magnetic tapes • used as a backup for very large data sets • very slow, but very cheap and removable TUCN. Operating Systems. Lecture 1
I/O Devices • Components • controller and the device itself • Controller • Directly controls the physical device • Receives commands from the OS • Device driver • Supplied by controller manufacturer • Inserted into the OS – run in kernel mode • Functionality • Busy waiting • Interrupts TUCN. Operating Systems. Lecture 1
Processes • Definition • A program in execution • Consists of: executable code, data, stack, CPU registers value, and other information • A process hierarchy (tree) • A created two child processes: B and C • B created three child processes: D, E, and F • Process synchronization • Inter-Process Communication (IPC) TUCN. Operating Systems. Lecture 1
Files • Definition • A collection of related information • An abstraction of data stored on HDD • A process tree • File system mounting • File linking TUCN. Operating Systems. Lecture 1
System calls (1) • Definition • a call to an OS service • a trap into the OS code • Examples of system calls • File manipulation: open(), read(), write(), lseek(), close() … • File system management: mkdir(), mount(), link(), chown() … • Process management: fork(), exec(), wait(), exit() … TUCN. Operating Systems. Lecture 1
System Calls (2)Steps in making a system call There are 11 steps executing the system call: read (fd, buffer, nbytes) TUCN. Operating Systems. Lecture 1
The Structure of an OSArchitectures(1). Monolithic OS TUCN. Operating Systems. Lecture 1
The Structure of an OSArchitectures (2). Layered OS The Structure of the THE operating system TUCN. Operating Systems. Lecture 1
The Structure of an OSArchitectures (3). Client-Server The client-server model A distributed OS TUCN. Operating Systems. Lecture 1
The Structure of an OSArchitectures (4).Advantages … • Advantages of micro-kernels • the modules run in user mode protection against bugs • adaptability to use in distributed systems • forces the programmers to adopt a modularize approach • easily ported to other architectures • better use of RAM than monolithic ones • Modules in monolithic systems (Linux) - advantages • monolithic OS faster than micro-kernel OS • modularized approach • platform independence • frugal main memory usage • no performance penalty TUCN. Operating Systems. Lecture 1
The Structure of an OSComponents • Process manager: creates, schedules and destroy processes • Memory manager: allocates and releases memory • Disk manager • I/O devices manager • File system: create, read, modify, remove etc. files • Communication system • Protection system • Shells • text interface – command interpreter • graphical interface TUCN. Operating Systems. Lecture 1
Readings • Andrew Tannenbaum, “Modern Operating Systems”, second edition, Prentice Hall, 2001, pgs. 1-20, 34-63 • D. Bovet, M. Cesati, “Understanding Linux Kernel”, O’Reilly, 2001, pgs.11-12 TUCN. Operating Systems. Lecture 1