大学操作系统课程复习资料集_第1页
大学操作系统课程复习资料集_第2页
大学操作系统课程复习资料集_第3页
大学操作系统课程复习资料集_第4页
大学操作系统课程复习资料集_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大学操作系统课程复习资料集引言:操作系统的基石作用操作系统作为计算机系统中最核心的系统软件,扮演着"管家"与"桥梁"的双重角色。它不仅是计算机硬件资源的直接管理者,负责处理器、存储器、外部设备等的高效调度与分配,更为上层应用程序提供了稳定、便捷的运行环境和接口服务。理解操作系统的基本原理、核心机制与实现方法,对于计算机相关专业的学生而言,是构建完整知识体系、提升系统思维能力的关键一步,也是深入学习后续专业课程(如分布式系统、数据库原理、嵌入式开发等)的重要基础。本资料集旨在梳理操作系统课程的核心知识点,帮助同学们系统复习,巩固理解,为应对考试及未来的技术发展奠定坚实基础。一、操作系统概述1.1操作系统的定义与目标操作系统(OperatingSystem,OS)是一组控制和管理计算机硬件与软件资源、合理组织计算机工作流程,并为用户提供便捷使用接口的系统软件集合。其核心目标包括:*方便性(Convenience):提供友好的用户接口,使用户能高效、便捷地使用计算机。*有效性(Efficiency):合理分配和管理系统资源,提高资源利用率和系统吞吐量。*可扩展性(Extensibility):支持新功能、新硬件的集成,适应计算机技术的发展。*开放性(Openness):遵循标准,支持不同厂商的软硬件产品兼容与互连。1.2操作系统的主要功能操作系统的功能围绕着资源管理和用户接口展开,具体包括:*处理机管理(进程管理):核心是进程的调度与管理,包括进程的创建、终止、状态转换、同步与互斥、死锁处理等,以实现多进程并发执行和处理器资源的高效利用。*存储器管理:负责内存的分配与回收、地址映射(将逻辑地址转换为物理地址)、内存保护与共享,以及通过虚拟存储技术扩展内存容量。*设备管理:对各类输入输出设备进行统一控制和管理,包括设备的分配与回收、缓冲区管理、中断处理、设备驱动程序接口等,实现"设备独立性"。*文件管理:负责文件的创建、删除、读/写、修改等操作,管理文件的存储空间,提供文件的按名存取、共享与保护机制,组织文件的目录结构。*用户接口:为用户提供与操作系统交互的方式,通常包括命令接口(如Shell)、程序接口(如系统调用)和图形用户接口(GUI)。1.3操作系统的发展历程与主要类型操作系统的发展紧密伴随着计算机硬件的进步和应用需求的演变,主要阶段包括:手工操作阶段、批处理系统(单道批处理、多道批处理)、分时系统、实时系统。常见的现代操作系统类型有:*批处理操作系统(BatchProcessingOS):将多个作业按顺序成批提交,自动连续处理,减少人工干预,提高系统吞吐量。*分时操作系统(Time-SharingOS):将处理器时间分割成时间片,轮流分配给多个用户的作业,使每个用户感觉独占计算机,如UNIX早期版本。*实时操作系统(Real-TimeOS,RTOS):能在规定时间内对外部事件做出响应并完成处理,对实时性和可靠性要求极高,如工业控制、航空航天领域的OS。*个人计算机操作系统(PCOS):面向个人用户,界面友好,支持丰富的应用程序,如Windows系列、macOS、Linux桌面发行版。*网络操作系统(NetworkOS):提供网络通信和资源共享功能,使连网计算机能协调工作,如WindowsServer、某些Linux服务器发行版。*分布式操作系统(DistributedOS):管理地理上分散的多台独立计算机,将其视为一个统一的逻辑系统,实现资源的高度共享和任务的分布式处理。*嵌入式操作系统(EmbeddedOS):运行在嵌入式设备中,通常具有体积小、实时性强、功耗低等特点,如Android、iOS(核心为Darwin)、ucOS。1.4操作系统的基本特性*并发(Concurrence):指两个或多个事件在同一时间间隔内发生。OS通过进程调度使多个进程宏观上"同时"运行,但微观上处理器在各进程间快速切换。并发是OS最重要的特性之一,也是其他许多特性的基础。*共享(Sharing):系统中的硬件和软件资源可供多个并发执行的进程共同使用。共享方式包括互斥共享(如打印机)和同时访问(如可重入代码、磁盘文件)。并发和共享是相辅相成的。*虚拟(Virtualization):通过某种技术将一个物理实体映射为若干个逻辑上的对应物。例如,通过时分复用技术将一台物理CPU虚拟为多台逻辑CPU;通过空分复用技术将物理内存虚拟为更大的逻辑地址空间。*异步(Asynchronism):在多道程序环境下,进程的执行是"走走停停"的,以不可预知的速度向前推进,但只要环境相同,OS需保证程序的执行结果是可再现的。二、进程管理:核心与难点2.1进程的基本概念*进程的定义:进程是程序在一个数据集合上的一次执行过程,是系统进行资源分配和调度的独立单位。它具有动态性、并发性、独立性、异步性和结构性等特征。*进程与程序的区别与联系:程序是静态的指令集合,进程是动态的执行过程;程序可以长期保存,进程有生命周期;一个程序可以对应多个进程(如同时打开多个Word文档),一个进程可以包含多个程序(如一个应用程序可能调用多个库函数)。*进程的状态及转换:典型的进程状态包括就绪、运行和阻塞。*就绪状态(Ready):进程已获得除CPU外的所有必要资源,等待调度执行。*运行状态(Running):进程正在CPU上执行。此外,还可能有创建状态(New)和终止状态(Terminated)。状态转换是理解进程行为的关键,如就绪→运行(调度)、运行→就绪(时间片到或被抢占)、运行→阻塞(等待事件)、阻塞→就绪(事件发生)。*进程控制块(ProcessControlBlock,PCB):PCB是进程存在的唯一标志,用于记录进程的基本情况和运行状态,以便系统对进程进行管理和调度。其主要内容包括:进程标识符(PID)、进程状态、程序计数器(PC)、寄存器集合、进程优先级、内存地址信息、打开文件列表、资源分配情况、记账信息等。2.2进程控制进程控制是指对系统中所有进程从创建到消亡的全过程实施有效的管理。主要通过原语(Primitive)操作实现,原语是由若干条指令组成的、用于完成特定功能的一个不可分割的原子操作序列。*进程的创建:由创建原语(Create)完成。通常由父进程创建子进程,也可能由用户或系统初始化时创建。需要为新进程分配PID、创建PCB、分配资源、初始化PCB、将进程插入就绪队列。*进程的终止:由终止原语(Terminate)完成。当进程完成任务或出现异常时,系统或父进程可终止该进程。需要释放进程所占用的资源、回收PCB、处理子进程(如终止或托管)、通知父进程。*进程的阻塞与唤醒:当进程等待某事件时,执行阻塞原语(Block),使其从运行态转为阻塞态,并插入相应的阻塞队列。当等待的事件发生时,执行唤醒原语(Wakeup),将进程从阻塞态转为就绪态,并插入就绪队列。阻塞是进程自身主动行为,唤醒通常由其他进程或中断处理程序执行。*进程的切换(上下文切换):当OS需要调度另一个进程运行时,需保存当前运行进程的上下文(CPU寄存器内容、PC值等)到其PCB中,然后从待运行进程的PCB中恢复其上下文,使其占据CPU运行。上下文切换会带来一定的系统开销。2.3进程同步与互斥进程同步与进程互斥是解决并发进程间协作与资源竞争问题的核心机制。*临界资源(CriticalResource):一次仅允许一个进程使用的共享资源,如打印机、共享变量等。*临界区(CriticalSection):进程中访问临界资源的那段代码。为保证临界资源的正确使用,必须确保诸进程互斥地进入各自的临界区。*同步(Synchronization):又称直接制约关系,指为完成共同任务的并发进程之间需要按照一定的先后顺序执行,以协调它们的工作。例如,生产者进程与消费者进程之间的同步。*互斥(MutualExclusion):又称间接制约关系,指当多个进程竞争同一临界资源时,任何时刻只允许一个进程访问,其他试图访问的进程必须等待,直到占用者释放资源。*实现临界区互斥的基本方法:*软件方法:如Peterson算法等,通过设置标志变量和复杂的逻辑判断来实现互斥,但实现复杂且容易出错。*硬件方法:如关中断、Test-and-Set指令(TS指令)、Swap指令(Exchange指令)等。关中断简单但影响系统并发性;TS和Swap指令可实现原子操作,为实现互斥提供硬件支持。*信号量机制:Dijkstra提出的一种卓有成效的进程同步工具。*信号量(Semaphore):是一个整型变量,只能通过特定的原语操作来改变其值。根据用途可分为公用信号量(实现互斥,初值通常为1)和私用信号量(实现同步,初值通常为0或某个正整数)。*V操作(Signal操作):释放资源。S=S+1;若S<=0,则唤醒等待队列中的一个进程。*利用信号量可以方便地实现进程互斥(临界区前后分别执行P、V操作)和进程同步(根据逻辑关系在关键点设置P、V操作)。*管程(Monitor):一种高级同步机制,将共享变量和对共享变量的操作封装在一起,提供了与信号量同等的表达能力,但更易于理解和使用。管程确保在任一时刻只有一个进程在管程内执行,从而实现互斥。条件变量用于进程间的同步等待。*经典同步问题:生产者-消费者问题、哲学家进餐问题、读者-写者问题等,是理解和应用同步互斥机制的绝佳案例。解决这些问题的关键在于准确分析进程间的制约关系,合理设置信号量(或其他同步机制)。2.4进程通信进程通信是指进程间的信息交换。根据交换信息量的多少和效率,可分为:*低级通信:如信号量机制,主要用于同步与互斥,交换的信息量少,效率低,编程复杂。*高级通信:提供专门的通信命令或函数,能高效地传递大量数据。主要方式有:*共享存储(SharedMemory):进程间通过共享一块内存区域进行通信。需要同步机制来保证对共享内存的互斥访问。*消息传递(MessagePassing):进程间通过发送和接收消息来交换信息。可分为直接通信(直接指明接收方进程ID)和间接通信(通过邮箱/消息队列进行转发)。*管道通信(Pipe):一种半双工的通信方式,用于连接一个读进程和一个写进程,实现它们之间的通信。数据按FIFO顺序流动。无名管道用于父子进程间,有名管道可用于无亲缘关系的进程间。2.5线程:轻量级进程*线程的引入:为了进一步提高程序的并发执行程度,减少进程切换的开销,引入了线程。线程是进程内的一个执行单元,是CPU调度和分派的基本单位。一个进程可以包含多个线程,它们共享进程的地址空间和大部分资源(如代码段、数据段、打开的文件等),但每个线程有自己独立的程序计数器、寄存器集合和栈。*线程与进程的比较:*调度:线程是调度基本单位,进程是资源分配基本单位。*并发性:不仅进程间可并发,同一进程内的多个线程间也可并发。*拥有资源:进程拥有系统资源,线程本身不拥有系统资源,但可访问所属进程的资源。*系统开销:线程切换开销远小于进程切换开销(无需切换地址空间、用户栈等);创建线程的开销也小于创建进程。*独立性:进程间独立性高,一个进程崩溃不影响其他进程;同一进程内的线程共享地址空间,一个线程崩溃可能导致整个进程崩溃。*线程的实现方式:用户级线程(ULT)、内核级线程(KLT,或称内核支持线程)、混合实现。用户级线程由用户空间的线程库管理,内核不可见,切换快,但一个线程阻塞会导致整个进程阻塞。内核级线程由OS内核直接管理,能更好地利用多处理器,一个线程阻塞不影响其他线程,但切换开销相对较大。三、处理机调度:合理分配CPU资源3.1调度的基本概念与层次处理机调度的基本任务是根据一定的调度算法,从就绪队列中选择一个或多个进程投入运行。调度是OS核心功能之一,直接影响系统性能。*调度层次:*高级调度(High-LevelScheduling)/作业调度:从外存的后备作业队列中选择一批作业调入内存,并为它们创建进程、分配必要资源,然后将其放入就绪队列。主要用于批处理系统,分时和实时系统一般不设或很少设置高级调度。*中级调度(Intermediate-LevelScheduling)/内存调度:主要目的是提高内存利用率和系统吞吐量。将暂时不能运行的进程(如阻塞状态或长时间未被调度的进程)调至外存(挂起状态),待条件成熟时再调回内存(就绪状态)。这与虚拟内存管理中的换入换出机制紧密相关。*低级调度(Low-LevelScheduling)/进程调度:从就绪队列中选择一个进程,将CPU分配给它。这是最基本、最频繁的调度,在所有OS中都存在。*调度队列模型:通常包括就绪队列、各种阻塞队列(如I/O阻塞队列、事件等待队列)。进程在不同状态间转换时,会在相应的队列间移动。3.2调度的基本准则评价调度算法优劣的主要指标有:*CPU利用率(CPUUtilization):CPU处于忙状态的时间百分比。*系统吞吐量(Throug

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论