Download presentation
Presentation is loading. Please wait.
1
Operating System Preface Monday, August 11, 2008
2
About ... Instructor: Na Jun(那俊) From : NEU Software College
Office : 综合楼103B Phone : Lectures : 48 hours Programming : 16 hours Resource : PWD – osbetty location -- /我的文档/OS/ 8/11/2008 6:14 PM
3
Operating System Concepts
Textbook Operating System Concepts Abraham Silberschatz Peter Baer Galvin Greg Gagne 8/11/2008 6:14 PM
4
Design and Implementation
Reference Material Modern Operating Systems Andrew S. Tanenbaum Operating Systems Design and Implementation Andrew S. Tanenbaum Albert S. Woodhull 8/11/2008 6:14 PM
5
Reference Material (cont.)
操作系统— 内核与设计原理 William Stallings 电子工业出版社 计算机操作系统 (修订版) 汤子瀛等 西安电子科技 大学出版社 现代操作系统 陈向群等译 机械工业出版社 8/11/2008 6:14 PM
6
Requirements and Grading
You must attend class regularly, read the assigned reading before class, and participate in class discussions. The course will be graded on a curve 20%—— tests and programming 80%—— final examination 8/11/2008 6:14 PM
7
Goal To provide an introduction to the internal operation of modern operating systems. To examine the important problems in os design and implementation. Will cover processes and threads, mutual exclusion, CPU scheduling, deadlock, memory management, and file systems etc.. 关于学习操作系统的争议 世界上只需要很少的操作系统设计/实现者 Win9x、NT、CE、2000的天下垄断不易改变 赞成学习操作系统的理由 需要总体上掌握系统设计 操作系统包括了所有软件设计/实现问题:资源共享/管理,安全和身份验证,灵活性,健壮性,友好界面设计 设计操作系统,或者修改现有的系统:存在人们意识不到的大量“操作系统”、嵌入式系统(Embedded OS) 加深对使用的OS的理解,有利于深入编程:用户为了开发应用程序必须与操作系统打交道 编程时借鉴操作系统的设计思想和算法:操作系统中所用的许多概念和技巧可以推广应用到其他领域 选择购买操作系统 特点 强实践性(从实践中总结出原理) 涉及面广 错综复杂:横纵交叉 8/11/2008 6:14 PM
8
Domains referred to Computer organization/hardware
Programming language as C or Java Software design Basic data structures Algorithms Networks 8/11/2008 6:14 PM
9
Result You will have an opportunity to learn the concepts and practical information of operating system. You will learn about how concurrency systems(并发系统) communicate and work correctly. You will be able to program at the system level. You will build a small core of operating system in programming assignments. 8/11/2008 6:14 PM
10
Operating System Introduction - 1 Monday, August 11, 2008
11
Objectives To know the basic concepts of operating system, including what is an operating system and its history. To know and compare different kinds of operating systems. Understand the main services of operating system and the system interfaces. 8/11/2008 6:14 PM
12
Roadmap What is an operating system History of operating systems
The operating system zoo Computer hardware review Operating system organization System calls Operating System Structure 8/11/2008 6:14 PM
13
Computer System Structure
Computer system can be divided into four components Hardware Operating system Application programs Users 操作系统是几乎所有计算机系统的一个重要组成部分。计算机系统可以粗分为四个部分:硬件、操作系统、应用程序和用户。 硬件:提供基本的计算机资源,如CPU、内存、I/O设备; 应用程序:规定了按何种方式使用这些资源来解决用户的计算机问题; 操作系统:控制和协调各用户的应用程序对硬件的使用。 计算机系统的基本目的是执行用户程序并能更容易地解决用户问题。为实现这一目的,构造了计算机硬件。由于仅有硬件并不一定容易使用,因此开发了应用程序。这些应用程序需要一些共同操作,如控制I/O设备。这些共同的控制和分配I/O设备资源的功能集合组成了一个软件模块:操作系统。 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 Our focus 8/11/2008 6:14 PM
14
What is an Operating System
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. convenient 操作系统是管理计算机硬件的程序。它还为应用程序提供基础,并且充当计算机硬件和计算机用户的中介。 efficient 8/11/2008 6:14 PM
15
Definition OS is a resource allocator (down->top)
Manages all resources Decides between conflicting requests for efficient and fair resource use Program A Program B Program C 从计算机的角度来看,操作系统是和硬件最为密切的程序。 可以将操作系统看作是资源分配器:操作系统管理所有软硬件资源;面对许多甚至冲突的资源请求,操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平地运行。 操作系统控制各种I/O设备和用户程序的需求,是控制程序:管理用户程序的执行,以防止错误和计算机的使用不当,特别关心I/O设备的操作和控制。 一个比较公认的定义是操作系统时一直运行在计算机上的程序(通常称为内核),其他程序则为应用程序。 File B File C File A Printer ? 8/11/2008 6:14 PM
16
Definition OS is a resource allocator (down->top)
Manages all resources Decides between conflicting requests for efficient and fair resource use OS is a control program (top->down) Controls execution of programs to prevent errors and improper use of the computer 从计算机的角度来看,操作系统是和硬件最为密切的程序。 可以将操作系统看作是资源分配器:操作系统管理所有软硬件资源;面对许多甚至冲突的资源请求,操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平地运行。 操作系统控制各种I/O设备和用户程序的需求,是控制程序:管理用户程序的执行,以防止错误和计算机的使用不当,特别关心I/O设备的操作和控制。 一个比较公认的定义是操作系统时一直运行在计算机上的程序(通常称为内核),其他程序则为应用程序。 8/11/2008 6:14 PM
17
Roadmap What is an operating system History of operating systems
The operating system zoo Computer hardware review Operating system organization System calls Operating System Structure 8/11/2008 6:14 PM
18
History First generation 1945 - 1955 Second generation 1955 - 1965
vacuum tubes, plug boards Second generation transistors, batch systems Third generation – 1980 Fourth generation 1980 – present 8/11/2008 6:14 PM
19
Consisted of the program, the data, and some control information
Batch Systems Its major task was to transfer control automatically from one job to the next. 大型计算机系统是最早的计算机系统,用于处理许多商业和科学应用,其发展从简单的批处理系统(只能处理一个应用)到分时系统(能允许多个用户同时使用计算机系统) 批处理系统中,用户不是直接与计算机系统进行交互,而是先准备一个作业(通常是用穿孔卡片来写的),该作业包括程序、数据和一些有关作业性质的控制信息(控制卡),然后提交给计算机操作员。 过一段时间(数分钟、数小时或数天)后,出现了输出。这一输出由程序结果和用于调试的最后内存和寄存器内容的信息转储所组成。 这些早期计算机的操作系统相当简单。其主要任务是自动地将控制从一个作业转移到下一个作业。这些操作系统总是驻留在内存中的。 bring cards to 1401 read cards to tape put tape on 7094 which does computing put tape on 1401 which prints output 8/11/2008 6:14 PM
20
History First generation 1945 - 1955 Second generation 1955 - 1965
vacuum tubes, plug boards Second generation transistors, batch systems Third generation – 1980 ICs and multiprogramming Fourth generation 1980 – present 8/11/2008 6:14 PM
21
Multiprogramed System
多道程序设计通过组织作业以使CPU总有一个作业可执行,从而提高了CPU的利用率。 思想:操作系统同时将多个作业保存在内存中。该作业集合是位于作业池中作业集合的子集。操作系统选择一个位于内存中的作业并开始执行。最终,该作业可能必须等待另一个任务(如I/O操作)的完成。对于非多道系统,CPU就会空闲;对于多道程序系统,操作系统会简单地切换到另一个作业并执行。显然,只要有一个任务可以执行,CPU就决不会空闲。 Multiprogramming system three jobs in memory – 3rd generation 8/11/2008 6:14 PM
22
Multiprogramed system (cont.)
It need job scheduling to choose a job among several ones ready to be brought into memory. It need CPU scheduling to choose a job among several ones ready to run. Finally, multiple jobs running concurrently require that their ability to affect one another be limited in all phases of the operating system. 多道程序设计是操作系统必须为用户做出决定的第一个例子。 进入系统的所有作业都保存在作业池中,该池由所有驻留在磁盘中需要等待分配内存的作业组成。如果多个作业需要调入内存但没有足够的内存,那么系统必须在这些作业中做出选择。该选择称为作业调度。 操作系统从作业池中选中一个作业,将它调入内存执行。在内存中同时有多个程序可运行,需要一定形式的内存管理。 另外,如果有多个作业就绪同时运行,那么系统必须作出选择。做出这样的决定称为CPU调度。 最后,多个并发运行的作业要求操作系统的进程调度、磁盘存储和内存管理等各阶段能够限制作业的相互影响。 8/11/2008 6:14 PM
23
Time-Sharing System Time sharing (or multitasking) is a logical extension of multiprogramming, which allows many users to share the computer simultaneously. To obtain a reasonable response time, it need virtual memory, which is a technique that allows the execution of a job that may not be completely in memory. It must also provide a file system and disk management. 多道程序系统和批处理系统都没有为用户提供与计算机系统直接交互的能力。 分时系统是多道程序设计的自然延伸,由于作业切换非常之快,用户可以在每个程序运行期间与之进行交互。 交互式计算机系统提供用户与系统之间的直接通信。用户通过键盘或者鼠标向操作系统或程序直接发出指令,并等待即时结果。 分时操作系统允许多个用户同时共享计算机,采用CPU调度和多道程序设计,以提供给每个用户一小部分的分时计算机。由于交互式I/O通常按“人的速度”来运行,在用户进行交互输入时,操作系统为了不让CPU空闲,会将CPU迅速切换到其他的用户程序。 为了获得合理的响应时间,可能要将作业换入内存或由内存换出到磁盘。实现这一目的的常用方法是虚拟内存。 分时系统也必须提供文件系统。文件系统驻留在磁盘上,因此也必须提供磁盘管理。 另外,分时系统要提供并发机制,这需要高级CPU调度方案。为了确保有序执行,系统必须提供实现作业同步和通信的机制,它也要确保作业不会进入死锁而无尽地相互等待。 现在绝大多数系统都是分时的。相应地,多道程序设计和分时是现在操作系统的主题。 8/11/2008 6:14 PM
24
History First generation 1945 - 1955 Second generation 1955 - 1965
vacuum tubes, plug boards Second generation transistors, batch systems Third generation – 1980 ICs, multiprogramming Fourth generation 1980 – present personal computers, CP/M, MS-DOS, Windows, UNIX, MINIX, LINUX … 8/11/2008 6:14 PM
25
Roadmap What is an operating system History of operating systems
The operating system zoo Computer hardware review Operating system organization System calls Operating System Structure 8/11/2008 6:14 PM
26
Overview Desktop Operating System Parallel Operating System
Distributed Operating System Clustered Operating System Real-Time Operating System Handheld Operating System 8/11/2008 6:14 PM
27
Desktop System Personal computers – computer system dedicated to a single user. I/O devices – keyboards, mice, display screens, small printers. User convenience and responsiveness. May run several different types of operating systems (Windows, MacOS, UNIX, Linux) 个人计算机系统不是多用户的,也不是多任务的,其目标是最大化用户方便性和相应速度。 计算机的操作系统都得益于大型机操作系统的研制成果,微型计算机能够很快采用这些开发技术。另一方面,微型计算机的硬件费用很低,所以每人都可拥有一台计算机,从而CPU利用率也不再是主要问题。所以,有些大型机操作系统的设计决策可能不再适用于小系统。 8/11/2008 6:14 PM
28
Parallel Systems Multiprocessor systems with more than one CPU in close communication. Tightly coupled system – processors share memory and a clock; communicate through shared memory. 多处理器系统也称并行系统或紧耦合系统,这类系统有多个紧密通信的处理器,它们共享计算机总线、时钟,有时还有内存和外设等。 多处理器系统有三个主要优点: 增加计算量:希望能在更短的时间内做出更多的事情。 规模经济:多处理器系统能比多个单处理器系统节省资金,因为它们能共享外设、大容量存储和电源供给。 增加可靠性:如果将功能正确地分布在多个处理器上,那么单个处理器的失灵不会使得整个系统停止,反使其变慢。这种能提供与正常工作的硬件成正比服务的能力称为功能退化,具有功能退化特征的系统称为容错系统。 8/11/2008 6:14 PM
29
Parallel Systems Advantages of parallel system:
Increased throughput Economical Increased reliability graceful degradation and fail-soft systems Two kinds of parallel systems: Symmetric multiprocessing (SMP) Asymmetric multiprocessing Symmetric multiprocessing (SMP) Each processor runs and identical copy of the operating system. Many processes can run at once without performance deterioration. Most modern operating systems support SMP Asymmetric multiprocessing Each processor is assigned a specific task; master processor schedules and allocated work to slave processors. More common in extremely large systems 现在最为普遍的多处理器系统使用对称多处理SMP,即每个处理器都运行同一个操作系统的拷贝,这些拷贝根据需要进行通信。 有个系统使用非对称多处理,即每个处理器都有各自特定的任务。一个主处理器控制系统;其他处理器或者向主处理器要任务或做预先固定的任务。这种方案称为主-从关系。主处理器为从处理器调度和安排工作。 8/11/2008 6:14 PM
30
Distributed Systems Distribute the computation among several physical processors. Loosely coupled system – each processor has its own local memory; processors communicate through various communications lines. 分布式系统通过网络提供功能。由于可以通信,分布式系统共享计算任务,并向用户提供丰富的功能。 分布式系统中各处理器都有各自的本地内存,它们通过各种通信线路来相互通信,通常称为松耦合系统。 8/11/2008 6:14 PM
31
Distributed Systems Requires networking infrastructure.
May be either client-server or peer-to-peer systems. Advantages of distributed systems. Resources Sharing Computation speed up – load sharing Reliability Communications 分布式系统通过网络提供功能。由于可以通信,分布式系统共享计算任务,并向用户提供丰富的功能。 分布式系统中各处理器都有各自的本地内存,它们通过各种通信线路来相互通信,通常称为松耦合系统。 8/11/2008 6:14 PM
32
Clustered Systems Clustering allows two or more systems to share storage. Provides high reliability. Asymmetric clustering: one server runs the application while other servers standby – hot standby mode Symmetric clustering: all N hosts are running the application. 集群系统将多个CPU集中起来完成计算任务。与并行系统不同的是,它是由两个或多个独立的系统耦合起来的。通常接受的定义是集群计算机共享存储并通过LAN网络紧密链接。 集群通常用来提供高可用性。 对于非对称集群,一台机器处于热备份模式,而另一台运行应用程序。热备份主机不做什么,只监视现役服务器。如果该服务器失效,那么热备份主机会成为现役服务器。 8/11/2008 6:14 PM
33
Real-Time Systems 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. Well-defined fixed-time constraints. Real-Time systems may be either hard or soft real-time. 当对处理器操作或数据流动有严格时间要求时,就需要使用实时系统,因此,它常用于控制特定应用的设备。 实时系统有明确和固定的时间约束。处理必须在确定的时间约束内完成,否则系统会失败。一个实时系统只有在其时间约束内返回正确结果才是正确工作。 实时系统有硬的和软的两种类型。 硬实时系统保证关键任务按时完成,要求对系统内所有延迟都有限制。与分时系统矛盾,因此没有一个现代通用操作系统支持硬实时功能。 软实时系统限制较弱,关键实时任务的优先级要高于其他任务的优先级,且在完成之前能保证其高优先级。需要限制操作系统内核的延迟。 Hard real-time: Secondary storage limited or absent, data stored in short term memory, or ROM Conflicts with time-sharing systems, not supported by general-purpose operating systems. Soft real-time Limited utility in industrial control of robotics Useful in applications (multimedia, virtual reality) requiring advanced operating-system features. 8/11/2008 6:14 PM
34
Handheld Systems Personal Digital Assistants (PDAs)
Cellular telephones Issues: Limited memory Slow processors Small display screens. 手持系统包括个人数字助理PDA或可与网络连接的手机。手持系统和应用程序的开发人员面临着许多挑战,绝大多数是由于这些设备的有限尺寸。 操作系统和应用程序必须有效地管理内存。 手持设备开发人员关心的第二点是设备所使用处理器的速度,操作系统和应用程序的设计不能加重处理器的负担。 手持设备程序设计人员所面临的最后一个问题是可使用的现实屏幕较小。 8/11/2008 6:14 PM
35
Keystone Definition of Operating System
Different kinds of Operating System 8/11/2008 6:14 PM
36
Homework Give an overview of Linux OS 8/11/2008 6:14 PM
37
Preface & Introduction - 1
Operating System Preface & Introduction - 1 Monday, August 11, 2008
Similar presentations