Operating System Fundamentals - Lecture 10 PDF
Document Details
Uploaded by Deleted User
Tags
Summary
These lecture notes cover various operating systems, focusing on their features, functionalities, and comparisons. The document includes detailed information on operating systems like Windows, macOS, Unix, and Linux.
Full Transcript
Operating System Fundamentals Lecture 10 What is an Operating System? A software that controls the hardware. Processors, storage, input/output devices, communication devices and data. A software that manages the hardware. A software that acts as a resources allocator. Differences Am...
Operating System Fundamentals Lecture 10 What is an Operating System? A software that controls the hardware. Processors, storage, input/output devices, communication devices and data. A software that manages the hardware. A software that acts as a resources allocator. Differences Among Operating Systems ◼ Types of processors supported ❑ Desktop, mobile, server, etc. ◼ Number of processors ◼ 32-bit or 64-bit CPUs ◼ Support for other technologies ❑ New types of buses ❑ Virtualization ❑ Power-saving features ❑ Touch and gesture input 3 Operating Systems for Personal Computers and Servers ◼ DOS: Disk Operating System ❑ PC-DOS: Created originally for IBM microcomputers ❑ MS-DOS: used with IBM-compatible computers ❑ DOS traditionally used a command-line interface ❑ Can enter DOS commands in Windows 4 Windows ◼ Windows: The predominate personal operating system developed by Microsoft Corporation ❑ Windows 1.0 through Windows 3.x: Operating environments for DOS ❑ Windows 95 and Windows 98: Used a similar GUI to the one used with Windows 3.x ❑ Windows NT (New Technology): first 32-bit version of Windows designed for high-end workstations and servers ❑ Windows Me (Millennium Edition): designed for home computers, improved home networking and a shared Internet connection 5 Windows ❑ Windows 2000: replaced Windows NT; was geared towards high-end business workstations and servers, support for wireless devices ❑ Windows XP: Replaced both Windows 2000 and Windows Me ◼ Improved photo, video, and music editing and sharing ◼ Improved networking capabilities ◼ Support for handwriting and voice input ◼ Large user base, MS will support until 2014 Windows Vista: Replaced Windows XP with Improved networking and multimedia 6 Windows ❑ Windows 7: Newest version of Windows released Oct. 2009 ◼ 32-bit and 64-bit versions in different editions ❑ Home Premium (primary version for home users) ❑ Professional (primary version for businesses) ❑ Windows 8 ◼ Windows 8 introduces significant changes to the operating system's platform, primarily focused towards improving its user experience on mobile devices such as tablets to better compete with other mobile operating systems like Android ❑ Windows 10 7 Mac OS ◼ Mac OS: Proprietary operating system for computers made by Apple Corporation ❑ Based on the UNIX operating system; originally set the standard for graphical user interfaces 8 UNIX ◼ UNIX: Operating system developed in the late 1960s for midrange servers ❑ Multiuser, multitasking operating system ❑ More expensive, requires a higher level of technical knowledge; tends to be harder to install, maintain, and upgrade ❑ “UNIX” initially referred to the original UNIX operating system, now refers to a group of similar operating systems based on UNIX 9 Linux ◼ Linux: Version (flavor) of UNIX available without charge over the Internet ❑ Increasingly being used with personal computers, servers, mainframes, and supercomputers ❑ Is open-source software: has been collaboratively modified by volunteer programmers all over the world ❑ Originally used a command line interface, most recent versions use a GUI ❑ Much less expensive than Windows or Mac OS 10 Operating Systems for Mobile Phones and Other Devices ◼ Windows Mobile: Designed for mobile phones ❑ Look and feel of desktop versions ❑ Current version 6.1, next version to be called Microsoft Phone. ◼ Windows Embedded: Designed for consumer and industrial devices that are not personal computers ❑ Cash register, GPS devices, ATMs, medical devices and robots. ❑ Windows Automotive and Microsoft Auto for cars ◼ Ford Sync ◼ Android: Linux based OS developed by Open Handset Alliance (including Google) 11 Operating Systems for Mobile Phones and Other Devices ◼ iPhone OS: Designed for Apple Mobile phones and mobile devices. ◼ BlackBerry Operating System: Designed for BlackBerry devices ◼ Palm OS and Palm webOS: Designed for Palm devices ◼ Symbian OS: Designed for use with smart phones(ex. NOKIA) ◼ Embedded Linux: Used with mobile phones, GPS devices, and other mobile devices 12 How Can We Define Operating System? Operating System (OS) is a program that controls the execution of application programs. It is also defined as being the mean through which controlling of allocation and usage of hardware resources and coordinating of all software activities within a computer is done. Where Can an OS Fit? Operating System Objectives ◼ Convenience: ❑ Makes the computer more convenient to use. ◼ Ease of Communication: ❑ Between Computer and user through a friendly user interface. ❑ Among system components. ◼ Abstraction: ❑ Hardware-independent programming model. ◼ Efficiency: ❑ Allows computer system resources to be used in an efficient manner. Operating System Objectives (cont’d) ◼ Monitoring and Alerting: ❑ Monitors and alerts failures and problems. ◼ Ability to Evolve: ❑ Permit effective development, testing, and introduction of new system functions without interfering with the services. ◼ Protection: ❑ A layer of security is to be added to ensure that a certain level of security is maintained to protect user’s data. ◼ Increasing performance: ❑ Maximizing the throughput and Minimizing time needed to execute command. Services Provided by the Operating System ◼ Program development: Such as editors and debuggers. ◼ Program execution: ❑ Load program and data, initialize environment. ◼ Access to I/O devices: ❑ Attempt to read from and write to the ports and units. ◼ Controlled access to data: Access protection. ◼ System access: User authentication. Services Provided by the Operating System (cont’d) ◼ Error detection and response: ❑ In case of error occurring, an error message should be displayed. ◼ Internal and external hardware errors: ❑ Memory error. ❑ Device failure. ◼ Software errors: ❑ Arithmetic overflow. ❑ Access forbidden memory locations. Functions of an Operating System on a Network 1. Sharing H/W among users. 2. Allowing users to share data. 3. Preventing users from interfering with one another. 4. Scheduling resources among users. 5. Organizing data for secure and rapid access. 6. Handling network communications. Types of Computer Systems ◼ Simple Batch Systems ◼ Multi-programmed Batched Systems ◼ Time-Sharing Systems ◼ Personal-Computer Systems ◼ Parallel Systems ◼ Distributed Systems ◼ Real-Time Systems ◼ Handheld systems Simple Batch System ◼ Runs only one job at a time. ◼ Smoothed transition between jobs to get maximum utilization. ◼ Programs/data submitted in groups or batches. Multi-programmed Batch System ◼ Uses job scheduling to increase resources utilization. ◼ Stores more than one program in memory. ◼ Based on the fact that any one job rarely utilizes all computer resources. ◼ When one job is waiting for an I/O, other can use CPU and/or any other I/O. Time Sharing System ◼ Uses time sharing to switch between multiple jobs. ◼ Interactive. Provides a low response time to users. ◼ Developed to large numbers of simultaneously interactive users. ◼ A program shares in time only if it exists in memory. Personal System (Desktop) ◼ Every user has his own memory, processors, and I/O devices. ◼ Became possible after investing micro- processors. ◼ Data may be shared among users through networks. Distributed System ❑ Computers that communicate using a network: WAN (Wide area network) or LAN (Local area network), i.e. independent computers that works as a single system. ❑ Client-Server: A client is a computer that needs service. A server is a S/W or a H/W that do a single service (Printing, graphics, DB, e-mail). ❑ Peer-To-Peer: Decentralized computers provide services to peers. ❑ Loosely coupled system ◼ Each processor has its own local memory ❑ Incremental growth. Parallel System ◼ A computer contains two or more CPUs that share a common bus. ◼ A job Should be split to discrete (independent) small jobs. ◼ Tightly coupled system ❑ processors share memory and a clock; communication usually takes place through the shared memory ◼ Exponential speed up in computation needs exponential increase in the number of processors. Clustered Systems ◼ Clustering allows two or more systems to share storage. ◼ Provides high reliability ◼ Asymmetric clustering: one server runs the application or applications while other servers standby ◼ Symmetric clustering: all N hosts are running the application or applications Real-time System ◼ Often used as a control device in a dedicated application such as: a. Controlling scientific experiments, b. Medical imaging systems, c. Industrial control systems. ◼ Well-defined fixed-time constraints. ◼ Real-time system may be either hard or soft system Handheld Systems ◼ Personal Digital Assistants (PDAs) ◼ Cellular telephones ◼ Issues: ❑ Limited memory ❑ Slow processors ❑ Small display screens Computer System Operation (cont’d) ◼ CPU and device controllers are connected through common busses or system bus (data, address, and control). ◼ CPU and device controllers can execute concurrently. ◼ Each device controller is responsible of a particular device type. ◼ Each device controller has a local buffer (memory). ◼ Memory controller synchronizes access to memory. Computer System Operation (cont’d) ◼ CPU moves data from/to main memory to/from local buffers ◼ Device controller informs CPU that it has finished its operation by causing an interrupt. Operating System Structure Common System Components ◼ Process Management ◼ Main Memory Management ◼ Secondary-Storage Management ◼ I/O System Management ◼ File Management ◼ Protection System ◼ Networking ◼ Command-Interpreter System Process Management ◼ A process is a program in execution. A process needs certain resources, including CPU time, memory, files, and I/O devices, to accomplish its task. ◼ The operating system should be responsible for the following activities in connection with process management. ❑ Process creation and deletion. ❑ Process suspension and resumption. ❑ Provision of mechanisms for: ◼ Process synchronization ◼ Process communication Main-Memory Management ◼ Memory is a large array of words or bytes, each with its own address. It is a repository of quickly accessible data shared by the CPU and I/O devices. ◼ Main memory is a volatile storage device. It loses its contents in the case of system failure. ◼ The operating system is responsible for the following activities in connections with memory management: ❑ Keep track of which parts of memory are currently being used by whom. ❑ Decide which processes to load when memory space becomes available. ❑ Allocate and de-allocate memory space as needed. Secondary-Storage Management ◼ Since main memory (primary memory) is volatile and too small to accommodate all data and programs permanently, the computer system must provide a secondary storage to back up main memory. ◼ Most modern computer systems use disks as the principle on-line storage medium, for both programs and data. ◼ The operating system should be responsible for the following activities in connection with disk management: ❑ Free space management ❑ Storage allocation ❑ Disk scheduling I/O System Management ◼ The I/O system consists of: ❑ A buffer-caching system ❑ A general device-driver interface ❑ Drivers for specific hardware devices ◼ OS hide particularities of I/O devices ❑ Device drivers ❑ Input: retrieve block of data ❑ Output: hardware instructions for controller File Management ◼ A file is a collection of related information defined by its creator. ◼ Commonly, files represent programs (both source and object forms) and data. ◼ The operating system should be responsible for the following activities in connections with file management: ❑ File creation and deletion. ❑ Directory creation and deletion. ❑ Support of primitives for manipulating files and directories. ❑ File backup on stable (nonvolatile) storage media. Protection System ◼ Protection refers to a mechanism for controlling access by programs, processes, or users to both system and user resources. ◼ The protection mechanism must: ❑ distinguish between authorized and unauthorized usage. ❑ specify the controls to be imposed. ❑ provide a means of enforcement. Command-Interpreter System (1) ◼ Many commands are given to the operating system by control statements which deal with: ❑ process creation and management ❑ I/O handling ❑ secondary-storage management ❑ main-memory management ❑ file-system access ❑ protection ❑ networking Command-Interpreter System (2) ◼ The program that reads and interprets control statements is called variously: ❑ control-card interpreter ❑ command-line interpreter ❑ shell (in UNIX) ◼ Its function is to get and execute the next command statement.