Operating Systems. Terms and Definitions. Chapter Objectives. After completing these slides you will: You will have a better understanding of the role of the operating system. You will have some familiarity with two of the most popular operating systems – Windows and Unix.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Operating Systems Terms and Definitions
Chapter Objectives After completing these slides you will: • You will have a better understanding of the role of the operating system. • You will have some familiarity with two of the most popular operating systems – Windows and Unix.
What is the Operating System • A program that acts as an intermediary between a user of a computer and the computer hardware. • Operating system goals: • Execute user programs and make solving user problems easier. • Make the computer system convenient to use. • Use the computer hardware in an efficient manner.
Computer System Structure • Computer system can be divided into four components • Hardware – provides basic computing resources • CPU, memory, I/O devices • Operating system • Controls and coordinates use of hardware among various applications and users • Application programs – define the ways in which the system resources are used to solve the computing problems of the users • Word processors, compilers, web browsers, database systems, video games • Users • People, machines, other computers
Operating System Structure • The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface. • With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers
Operating System Modules • Most modern operating systems implement kernel modules • Uses object-oriented approach • Each core component is separate • Each talks to the others over known interfaces • Each is loadable as needed within the kernel • Overall, similar to layers but with more flexibility
Functions of the Operating System • Process Management • Memory Management • Storage Management • I/O Subsystem • Protection and Security • Resource Allocation • Accounting
Examples of Operating Systems • MS-DOS • Windows XP • Unix • Mac OS X
MS-DOS • MS-DOS – written to provide the most functionality in the least space • Not divided into modules • Although MS-DOS has some structure, its interfaces and levels of functionality are not well separated
Unix • UNIX – The UNIX OS consists of two separable parts • Systems programs • The kernel • Consists of everything below the system-call interface and above the physical hardware • Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level
Process Management • An operating system executes a variety of programs: • Batch system – jobs • Time-shared systems – user programs or tasks • Process – a program in execution; process execution must progress in sequential fashion • A process includes: • program counter • stack • data section
Process Control Block (PCB) Information associated with each process • Process state • Program counter • CPU registers • CPU scheduling information • Memory-management information • Accounting information • I/O status information
Context Switch • When CPU switches to another process, the system must save the state of the old process and load the saved state for the new process • Context-switch time is overhead; the system does no useful work while switching • Time dependent on hardware support
CPU Scheduling • Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them according to the following scheduling criteria: • CPU utilization – keep the CPU as busy as possible • Throughput – # of processes that complete their execution per time unit • Turnaround time – amount of time to execute a particular process • Waiting time – amount of time a process has been waiting to be run • Response time – amount of time it takes from when a request was submitted until the first response is produced
Scheduling Algorithms • Shortest-Job-First (SJF) – schedule the process that will take the shortest amount of time • Priority Scheduling – assign a priority with each process and schedule the one with the highest priority • Round Robin Scheduling – give each process in turn a fixed amount of CPU time
Storage Structure • Main memory – only large storage media that the CPU can access directly. • Secondary storage – extension of main memory that provides large nonvolatile storage capacity. • Magnetic disks – rigid metal or glass platters covered with magnetic recording material • Storage systems organized in hierarchy. • Speed • Cost • Volatility
Memory Management • Transfer data to memory during processing • Transfer all instructions to memory in order to execute • Memory management activities • Keeping track of which parts of memory are currently being used and by whom • Deciding which processes (or parts thereof) and data to move into and out of memory • Allocating and de-allocating memory space as needed
Storage Management • OS provides uniform, logical view of information storage • Abstracts physical properties to logical storage unit - file • Each medium is controlled by device (i.e., disk drive, tape drive) • Varying properties include access speed, capacity, data-transfer rate, access method (sequential or random) • File-System management • Files usually organized into directories • Access control on most systems to determine who can access what • OS activities include • Creating and deleting files and directories • Primitives to manipulate files and dirs • Mapping files onto secondary storage • Backup files onto stable (non-volatile) storage media
File Protection • File owner/creator should be able to control: • what can be done • by whom • Types of access – read, write , execute • Three classes of users RWX a) owner access 7 1 1 1 b) group access 6 1 1 0 c) public access 1 0 0 1
Mass-Storage Management • Usually disks used to store data that does not fit in main memory or data that must be kept for a “long” period of time. • Proper management is of central importance • Entire speed of computer operation hinges on disk subsystem and its algorithms • OS activities • Free-space management • Storage allocation • Disk scheduling • Some storage need not be fast • Tertiary storage includes optical storage, magnetic tape • Still must be managed • Varies between WORM (write-once, read-many-times) and RW (read-write)
I/O Subsystem Management • One purpose of OS is to hide peculiarities of hardware devices from the user • I/O subsystem responsible for • Memory management of I/O including buffering (storing data temporarily while it is being transferred), caching (storing parts of data in faster storage for performance), spooling (the overlapping of output of one job with input of other jobs) • General device-driver interface • Drivers for specific hardware devices
MS-DOS and Windows • Earlier versions of Windows (95 and 98) were built on top of MS-DOS. DOS commands are still available to the user. • The command window can be accessed by typing `cmd` in the Run bar. • To get a list of DOS commands type `help`.
Windows Registry • Registry – A central Windows database file that holds hardware and software configuration information. • User Profile - All settings associated with a specific user, including desktop settings, network configurations, and application that the user has access to. It is part of the registry. • There are five registry sub-trees found in Windows by default: HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_USER HKEY_CURRENT_CONFIG HKEY_CLASSES_ROOT
Editing the Windows Registry • Before making any changes to the registry, it is always a good idea to make a backup copy of the registry before changes. • REGEDIT - A Windows utility used to modify and back up the registry. The five major sub-trees are displayed one window. • REGEDT32 – The sub-trees are displayed in individual windows
Basic Unix Commands • man command – info on how to use a certain command • ls – list files in a directory • cd directory – change to a specified directory • pwd – print working directory • mkdir name – create a directory with name • cp old new – copy the old file into a new one • rm name – remove file name • mv old new – rename old with new • passwd – change password • chmod 644 name – change file permissions on name