Operating Systems Chapter 1 Introduction Text book Applied

Operating Systems Chapter 1 Introduction Text book: Applied Operating System Concepts by Silberschatz, Galvin, and Gagne

Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time Systems 2

What is an Operating System? § 1. 1 A program that acts as an intermediary between a user of a computer and the computer hardware. Purpose: provide an environment in which a user can execute programs. Primary goals: Convenient to use. Efficient operation of the computer system. 3

Abstract View of System Components 4

Computer System Components 1. Hardware – provides basic computing resources (CPU, memory, I/O devices). 2. Operating system – controls and coordinates the use of the hardware among the various application programs for the various users. 3. Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4. Users – trying to solve different problems (people, machines, other computers). 5

Operating System Definitions 資源配置 Resource allocator – manages and allocates resources. (CPU time, memory space, file-storage space, I/O devices…) Since there maybe many – possibly conflicting – requests for resources, the OS must decide which requests are allocated resources so that it can operate the computer system efficiently and 6

Operating System Definitions Control program – controls the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices. Kernel – the one program running at 核心程式 all times (all else being application programs). 7

Mainframe Systems § 1. 2 Batch systems Multiprogrammed Systems Time-Sharing Systems 8

Batch Systems § 1. 2. 1 控制台 Early computers were (physically) enormously large machines run from a console. The common input devices were card readers and tape drives, and card punches. The major task of OS was to transfer control automatically from one job to the next. The OS was always resident in memory. To speed up processing, operators batched together jobs with similar 9

Memory Layout for a Simple Batch System 10

Improving batch system 閒置 In batch system, the CPU is often idle, because the speeds of the mechanical 本質上 I/O devices are intrinsically slower than are those of electronic devices. Disk technology allowed the OS to keep all jobs on a disk and access them directly. It could do job scheduling to use resources 作排程 and perform tasks efficiently. The most important aspect of job scheduling is the ability to multiprogram. 11

Multiprogrammed Systems § 1. 2. 2 多程式系統 Several jobs are kept in main memory at the same time, and the CPU is 多路傳輸,多 multiplexed among them. Multiprogramming increases CPU utilization by organizing jobs such that the CPU always has one to execute. 12

OS Features Needed for Multiprogramming Job Scheduling – If several jobs are ready to be brought into memory, and if there is not enough room for all of them, the system must choose among them. Memory management – the system must allocate the memory to several jobs. CPU scheduling – the system must choose among several jobs ready to run 13

Time-Sharing Systems 分時系統 § 1. 2. 3 多 Time sharing, or multitasking, is a logical extension of multiprogramming. An interactive, or hands-on, computer system provides direct communication between the user and the system. A time-shared OS allows the many users to share the computer simultaneously. As the system switches rapidly from one user to the next, each user is given the impression that the 奉獻,專用 entire computer system is dedicated to 14

Time-Sharing Systems A program that is loaded into memory 程序 and is executing is commonly referred to as a process. When a process executes, it typically executes for only a short time before it either finishes or needs to perform I/O. Rather than let the CPU sit idle when I/O takes place, the OS will rapidly switch the CPU to the program of some other user. Although some batch processing is still 15

Desktop Systems § 1. 3 MS-DOS from Microsoft has been substituted by Windows and IBM upgraded MS-DOS to the OS/2 multitasking system. Apple Macintosh, ported to more advanced hardware for virtual memory and multitasking. Mac. OS X, based on Mach and Free. BSD UNIX for scalability, performance and features. 16

Multiprocessor Systems § 1. 4 Multiprocessor systems with more than one CPU in close communication. 緊密耦合 Tightly coupled system – processors sharing the computer bus, the clock, and sometimes 匯流排 devices. memory and peripheral Advantages of parallel system: Increased throughput Economical: can share peripherals, mass storage, and power supplies. Increased reliability l l graceful degradation Fault tolerant. 17

Symmetric Multiprocessing (SMP) Each processor runs an identical copy of the operating system, and these copies communicate with one another as needed. Many processes can run at once without performance deterioration. Most modern operating systems support SMP 18

Asymmetric Multiprocessing 非對稱 Each processor is assigned a specific task; master processor schedules and allocates work to slave processors. This scheme defines a master-slave relationship. More common in extremely large systems 19

Off-load to back-ends As microprocessors become less expensive and more powerful, additional OS functions are off-loaded to slave processors, or back-ends. For example: add a microprocessor with its own memory to manage a disk system. This use of microprocessors has become so common that it is no longer considered multiprocessing. 20

分散式系統 Distributed Systems § 1. 5 Distributed systems depend on networking, a communication path between two or more systems, for their functionality. TCP/IP Networks vary by ATM Local-area network (LAN) Wide-area network (WAN) Protocols used Metropolitan-area network (MAN) Distances between nodes Small-area network Transport media Copper wires Fiber strands Wireless transmission 21

Client-Server Systems § 1. 5. 1 Centralized systems today act as server systems to satisfy requests generated by client systems. Server systems categorized: Compute-server systems Clients send requests to perform an action and the server execute the action and send back results to the client. File-server systems Clients can create, update, read and delete files. 22

Client-Server Systems General Structure: 23

Peer-to-Peer Systems § 1. 5. 2 Networks consist of a collection of processors that do not share memory or clock and communicate through communication lines such as buses or phone lines --- loosely coupled systems (or distributed systems). Not only provide connectivity, a network 網路作業系統 operating system provides features such as provides file sharing communication scheme for exchange messages. runs independently from other computers on the 分散式作業系統 network Distributed Operating System less autonomy between computers gives the impression there is a single operating system controlling the network. 24

Clustered Systems § 1. 6 Clustered systems composed of two ore more individual systems coupled together sharing storage and linked closely via LAN. Provide high availability A layer of cluster software runs on the cluster nodes. Each node monitor one or more of the others. If the monitored machine fails, the monitoring machine can take ownership of 25

Clustered Systems Asymmetric Clustering One machine is in hot standby mode monitoring the active server while the other machines are running the applications. If the server fails, the hot standby host becomes the active server. Symmetric Clustering Two or more hosts are running applications, and they are monitoring each other. More efficient … uses all available 26

Parallel Clustering Parallel clusters allow multiple hosts to access the same data on the shared storage. Most OS lack support for that and usually accomplished by special software. Ex: Oracle Parallel Server Each machine runs Oracle, and a layer of software tracks access to the shared disk. 27

Distributed File Systems Most systems do not offer generalpurpose distributed file systems. Distributed file systems must provide access control and locking to the files to ensure no conflicting operations occur, known as distributed lock manager (DLM) 28

Storage-Area Network (SAN) Clustered system should expand greatly as storage-area networks (SANs) become prevalent. SANs allow easy attachment of multiple hosts to multiple storage units. Current clusters are usually limited to two or four hosts due to the complexity of connecting the hosts to shared storage. 29

Real-Time Systems 即時系統 § 1. 7 Used when there are rigid time requirements on the operation of a processor or the flow of data. Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems. Processing must be done within the defined constraints, or the system will fail. A real-time system is considered to function correctly only if it returns the correct result within any time constraints. 30 Well-defined fixed-time constraints.

Real-Time Systems Hard real-time system. Secondary storage limited or absent, data stored in short-term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems. Soft real-time system A critical real-time task gets priority over other tasks. Limited utility in industrial control or robotics Useful in applications (multimedia, virtual 31

Handheld Systems § 1. 8 Handheld systems include personal digital assistants (PDAs), such as Palm or cellular telephones with connectivity to a network such as the internet. Due to limited size, most handheld devices have small amount of memory slow processors small display screens. 32

Feature Migration § 1. 9 Features that were at one time available on only main frames have been adopted by microcomputers. Example: MULTICS (Figure 1. 6) Personal workstation is a large PC – for example, the Sun SPARCstation, the HP/Apollo, the IBM RS/6000, or the Intel Pentium system running Windows NT or a UNIX derivatives. As PCs gain more sophisticated hardware and software, the line dividing the mainframes 33 and microcomputers is blurring.

Migration of Operating-System Concepts and Features 34

Computing Environments § 1. 10 略 35
- Slides: 35