《操作系统课件:第一章 导 论》由会员分享,可在线阅读,更多相关《操作系统课件:第一章 导 论(50页珍藏版)》请在金锄头文库上搜索。
1、第一章第一章: 导导 论论1.2Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005第第1章章: 导论导论n操作系统做什么n计算机系统组织n计算机系统体系结构n操作系统结构n操作系统操作n进程管理n内存管理n存储管理n保护盒安全n分布式系统n专用系统n计算环境1.3Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005本章目标本章目标n提供对操作系统主要部件的
2、浏览n提供基本的计算机系统体系结构的概述1.4Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005操作系统是什么操作系统是什么?n管理计算机硬件的程序,在计算机用户和计算机硬件之间充当中介。n操作系统的目标:l运行运行用户程序 -核心目标核心目标l更方便方便 地解决用户问题,使计算机系统方便方便地使用l以一种高效高效的方式使用计算机硬件。1.5Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Ed
3、ition, Jan 12, 2005计算机系统结构计算机系统结构n计算机系统可以分为四个部分l硬件(Hardware) 提供基本的计算资源4CPU, memory, I/O devicesl操作系统(Operating System)4控制和协调各用户的应用程序对硬件的使用l应用程序(Application programs) 规定了用户按何种方式使用系统资源4字处理程序, 编译器, 网络浏览器, 数据库系统, 视频游戏l用户(Users)4人, 机器, 其他计算机1.6Silberschatz, Galvin and Gagne 2005Operating System Concepts
4、7th Edition, Jan 12, 2005计算机系统的计算机系统的4个部分个部分1.7Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005操作系统定义操作系统定义nOS 是资源分配器l管理所有资源l面对冲突的资源请求,决定如何分配资源,以便系统能有效而公平地运行nOS 是控制程序l管理用户程序的运行以防止计算机资源的错误使用或使用不当1.8Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th
5、Edition, Jan 12, 2005操作系统定义操作系统定义 (Cont.)n没有一个可广泛接受的操作系统定义n“当你预定一个“操作系统“时零售商所装的所有东西” (简单观点)l包括的特性随系统不同而变化很大n“一直运行在计算机上的程序”称为内核内核 ( kernel). 其他程序则为系统程序和应用程序1.9Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005计算机系统组织计算机系统组织n计算机系统组织l一个或多个 CPU, 若干通过共同的总线相连的设备控制器,总线提供
6、对共享内存的访问lCPU和设备控制器可以并发工作,并竞争内存周期1.10Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005系统启动系统启动n引导程序引导程序 (bootstrap program) 在打开电源或重启时被装载l通常位于 ROM 或EPROM中, 称为 firmware (固件固件)l初始化系统中的所有部分l装入操作系统内核并开始运行1.11Silberschatz, Galvin and Gagne 2005Operating System Concepts
7、7th Edition, Jan 12, 2005计算机系统操作计算机系统操作nI/O 和 CPU 可以并发运行n每个设备控制器负责一种特定类型的设备n每个设备控制器有一个本地缓冲nCPU 在内存和本地缓冲之间移动数据nI/O 操作则是从设备到控制器的本地之间执行n设备控制器告诉CPU通过调用中断来完成操作1.12Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005中断的常见功能中断的常见功能n通常中断(interrupt)通过中断矢量(interrupt vector)把控
8、制传送给中断服务程序,该中断矢量包含了所有服务程序的地址n中断体系结构必须保护被中断指令的地址n当另一个中断正在处理时,刚进入的中断不能作用,以免丢失中断n陷阱(trap)是由于出错或用户请求引起的软件生成的中断n操作系统是中断驱动的1.13Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005中断处理中断处理n操作系统通过存储寄存器和程序计数器而保留了CPU的状态n确定哪一种中断发生了:l轮询l矢量化中断系统n对每一类中断分离代码段,以确定应该采取什么反应1.14Silber
9、schatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005单个进程处理输出的中断时间线路单个进程处理输出的中断时间线路1.15Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005存储结构存储结构n主存(Main memory) - CPU可以直接访问的唯一大型存储介质n二级存储器(Secondary storage) -主存的扩展提供了非易失的存储容量n磁盘(Magnetic
10、 disk) -覆盖了磁记录材料的硬金属或玻璃盘片l磁盘表面逻辑划分了磁道、再划分为扇面l磁盘驱动器确定设备和计算机之间的相互作用1.16Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005存储层次存储层次n存储系统分层组织l速度l成本l易失性n缓存(Cache) - 把信息复制进较快的存储系统;主存可看作为二级存储器的最后一个缓存1.17Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edit
11、ion, Jan 12, 2005存储设备层次存储设备层次1.18Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005 I/O结构结构n开始I/O之后,仅当I/O完成之后控制才返回用户程序l等待指令空转CPU,直至下一个中断l等待循环l每一时刻最多一个I/O请求,无并行I/O处理n在I/O开始之后,不等I/O完成控制就返回用户程序l系统调用(System call) -请求操作系统允许用户等待I/O完成l设备状态表(Device-status table)包括每个I/O设备的
12、类型、地址和状态l操作系统引用设备状态表以确定设备状态并修改表入口加入中断1.19Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005两种两种I/O方法方法Synchronous同步Asynchronous异步1.20Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005设备状态表设备状态表1.21Silberschatz, Galvin and Gagne
13、2005Operating System Concepts 7th Edition, Jan 12, 2005直接内存访问直接内存访问(DMA)结构结构n用于高速I/O设备能够以接近存储器的速率传送信息n无须CPU的介入,设备控制器直接把数据块从缓冲区存储传送到主存n每数据块(block)只要一个中断,而不是每个字节一个中断1.22Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005计算机系统体系结构计算机系统体系结构n单处理器系统l一个CPUl一个CPU一个Coren多核处
14、理器系统l一个CPUl一个CPU多个核,一个核即一个处理器n多处理器系统l优点:增加吞吐量,规模经济,增加可靠性l非对称多处理(ASMP)l对称多处理(SMP)n集群系统1.23Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005多处理器系统多处理器系统n有多个紧密通信的处理器,也称为并行系统(Parallel System)或紧耦合系统(Tightly Coupled System)。n多个处理器共享计算机总线、时间、内存和外设等。n多处理器系统的优点:l增加吞吐量l节省资
15、金l增加可靠性4功能退化 (graceful degradation)4容错系统 (fault tolerant)1.24Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005多处理器系统(续)多处理器系统(续)n对称多处理(Symmetric Multiprocessing, SMP)l每个处理器运行操作系统的相同副本l许多进程可以立即运行不会降低性能l多数现代操作系统支持SMPn非对称多处理(Asymmetric Multiprocessing)l每个处理器赋予一个特定任务
16、;主处理器为从处理器调度和分配作业l常用在非常大的系统中1.25Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005对称对处理体系结构对称对处理体系结构1.26Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005集群系统集群系统n由两个或多个独立的系统耦合起来,共享数据。n提供高可用性。n非对称集群(Asymmetric Clustering):一台机器运行
17、应用程序,而其他机器处于热备份模式。n对称集群(Symmetric Clustering):多个主机都运行应用程序。1.27Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005集群系统集群系统1.28Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005简单批处理系统简单批处理系统简单批处理系统简单批处理系统n自动作业调度-自动从一个运行完的作业转换到运行下一
18、个作业n常驻监控程序(monitormonitor)l控制作业传输l调度作业运行n单道程序运行n最早操作系统1.29Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005简单批处理内存映像简单批处理内存映像简单批处理内存映像简单批处理内存映像1.30Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005cardsIBM1401IBM7094IBM1401Tape
19、sCard readerPrinter1.31Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005操作系统结构操作系统结构n多道程序设计多道程序设计需要考虑有效性l单个用户通常不能总是使得 CPU 和 I/O 设备在所有时间内都忙碌l多道程序设计通过组织作业(代码或数据)使CPU总有一个作业可执行l内存中保存系统中所有作业的子集l通过作业调度(job scheduling)选中一个作业并运行 l当该作业必须等待时 (如等待I/O), OS切换到另一个作业n分时系统分时系统 (
20、或多任务或多任务)是多道程序设计的延伸,虽然CPU还是通过在作业之间的切换来执行多个作业,但由于切换频率很高,用户可以在程序运行期间与之进行交互 l响应时间 1 secondl每个用户至少有一个程序在内存中运行 进程(process)l如果同一时间多个作业都准备运行 CPU调度(CPU scheduling)l如果进程不适合内存,需要通过交换(swapping)来换入或换出来运行l虚拟内存虚拟内存(Virtual memory)允许运行的进程不完全在内存中1.32Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th E
21、dition, Jan 12, 2005多道程序系统的内存分布多道程序系统的内存分布1.33Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005多道程序和单道程序运行例子多道程序和单道程序运行例子多道程序和单道程序运行例子多道程序和单道程序运行例子1.34Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005操作系统操作操作系统操作n由硬件中断驱动n软件错误或
22、特别请求产生异常或陷阱l除数为零, 完成操作系统服务等n其他进程的问题,包括死循环,一个程序可能修改另一个程序,或操作系统本身n双重模式的双重模式的操作允许OS保护自身和其他的系统部件l用户模式用户模式(User mode)和内核模式内核模式(kernel mode) l由硬件提供模式位模式位4提供了区分系统正在运行用户代码或内核代码的能力4一些指令被指定为特权指令,只能运行在内核态4系统调用切换运行模式到内核模式,并将调用结果返回给用户1.35Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, J
23、an 12, 2005双重模式操作(续)双重模式操作(续)n状态位(Mode bit)添入计算机硬件,指示正确的状态:管态(0) 或用户态(1)n当中断或错误出现,硬件切换至管态n特权指令(Privileged instructions)只能在管态下使用 管态管态用户态用户态中断中断设置用户模式设置用户模式1.36Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005用户模式到内核模式的转换用户模式到内核模式的转换n定时器防止用户程序陷入死循环或进程过度消耗资源l在给定时间后设
24、置中断l操作系统递减计数器l当计数器为0时,产生中断l在调度进程前设置好计数器,来重新得到控制权或者终止超过所赋予时间的进程1.37Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005进程管理进程管理n进程是正在执行的程序,是系统工作的单元。程序是被动的实体,进程是活动的实体。n进程需要一定的资源lCPU, 内存, I/O, 文件l初始化数据n进程终止时需要回收任何可用资源n单线程进程有一个程序计数器程序计数器,用于指示下一条运行指令的位置l进程顺序执行指令,直到进程终止l多
25、线程进程每个线程有一个程序计数器n通常系统有多个进程,一些用户进程,一些操作系统进程,并发运行在一个或多个CPU上l通过在进程/线程间复用CPU来实现并发1.38Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005进程管理活动进程管理活动操作系统负责下述与进程管理有关的活动:n创建和删除用户进程和系统进程n挂起和重启进程n提供进程同步机制n提供进程通信机制n提供死锁处理机制1.39Silberschatz, Galvin and Gagne 2005Operating Sys
26、tem Concepts 7th Edition, Jan 12, 2005内存管理内存管理nCPU处理前后的所有数据都在内存n需要执行的所有指令都在内存n内存管理决定在内存里的是什么l为优化CPU的使用率和计算机对用户的响应速度n内存管理活动l记录内存的哪些部分正在被使用及被谁使用l决定哪些进程和数据可以装入或移出内存l根据需要分配和释放内存空间1.40Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005存储管理存储管理nOS 提供统一的逻辑信息存储观点l把存储设备的物理属
27、性抽象成逻辑存储单元 文件l每种介质都由一个设备来控制 (如, 磁盘驱动, 磁带驱动)4有各自特点,属性包括访问速度、容量、数据传输率和访问方法 (顺序 或随机)n文件系统管理l文件通常组成目录l大部分系统中访问控制决定什么人可以访问什么l文件管理活动包括4创建和删除文件和目录4提供操作文件和目录的原语4将文件映射到二级存储上4在稳定存储介质上备份文件1.41Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005大容量存储管理大容量存储管理n通常磁盘保存不能存在内存中的数据或必
28、须长期保存的数据n适当的管理是至关重要的n计算机操作的最终速度与硬盘子系统的速度和管理算法有关n操作系统的活动l空闲空间管理l存储空间分配l磁盘调度n一些存储不需要快速l三级存储包括了光盘,磁带l仍然必须管理好l介质格式包括 WORM (一次写、多次读) 和RW (读-写)1.42Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005高速缓存高速缓存(Caching)n重要概念之一, 在计算机中的很多级别中存在 (硬件、操作系统、软件)n信息使用时,被临时从慢速设备复制到更快的
29、存储系统中n更快的存储系统 (高速缓存) 首先检查信息是否在高速缓存中l如果是,直接使用高速缓存中的信息 (快速)l否则,将数据拷贝到高速缓存再使用n高速缓存容量小于被缓存的存储系统l高速缓存管理的设计很重要l高速缓存大小和置换策略选择1.43Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005不同级别存储器的性能不同级别存储器的性能n存储层次之间的信息移动可以是显式的,也可以是隐式的1.44Silberschatz, Galvin and Gagne 2005Operati
30、ng System Concepts 7th Edition, Jan 12, 2005I/O 系统系统nOS 的目的之一在于对用户隐藏具体硬件设备的特性nI/O 子系统负责:l一个包括缓冲、高速缓存和假脱机的内存管理部分l通用设备驱动器接口l特定硬件设备的驱动程序1.45Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005保护和安全保护和安全n保护保护 控制进程或用户对计算机系统资源访问的机制n安全安全 防止系统不受外部或内部攻击l范围很广,包括病毒和蠕虫、拒绝服务攻击、身
31、份偷窃、服务偷窃n系统通常首先区分所有用户,来决定谁该做什么l用户标识 (user IDs)包括名字和相关数字,每个用户一个l用户标识与所有该用户的文件和进程相关联l组标识 (group ID)允许一组用户被定义和控制管理,也跟每个进程和文件相关联l升级特权升级特权允许用户更改有效ID以拥有更多权力1.46Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005计算环境计算环境 n传统计算l随着时间的推移而模糊l办公环境4一些联网的PC,终端与提供批处理和分时的大型机或小型机相连
32、4现在门户网站(portal)允许网络和远程系统访问相同的资源l家庭网络4以前是单一的系统,通过调制解调器相连4现在使用防火墙相连1.47Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005计算环境计算环境 (续续)n客户- 服务器计算l智能PC机取代了哑终端l许多中心系统成为服务器,响应由客户机产生的请求4计算服务器系统计算服务器系统Compute-server 提供一个接口,接收客户端的请求服务 (如数据库服务器)4文件服务器系统文件服务器系统 提供给客户端接口来存储和检
33、索文件1.48Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005对等(对等(P2P)计算)计算n分布式系统的另一种模式nP2P 不区分客户机和服务器l所有节点都是对等的l每一个都可作为客户机或服务器l节点必须加入到 P2P 网络时4使用网络集中查询服务来注册它的服务,或者4通过发现协议(discovery protocol)向所有网络中的其他节点广播服务请求4例子:Napster 和Gnutella1.49Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Jan 12, 2005基于基于Web的计算的计算nWeb 几乎无处不在nPC是最流行的设备n更多的设备设备开始联网并允许访问网络n新一类的设备出现在一组相似的服务器之间管理网络负载:负载平衡器n操作系统(Windows 95)过去只能作为web客户机,现在发展为既可作服务器,也可作为客户机(如Linux 和 Windows XP)结束结束