还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
操作系统教学课件欢迎来到操作系统课程!本课程是计算机科学与技术专业的核心基础课程,将带领大家深入理解计算机系统的灵魂操作系统作为计算机硬件与应用软件之间的桥梁,其重要性不言而喻我们将通过理论学习与实践相结合的方式,全面掌握操作系统的基本原理、设计思想与实现技术本课程紧跟技术发展趋势,不仅关注传统操作系统核心概念,还将探讨云计算、虚拟化、移动计算等现代操作系统技术,为同学们未来的学习与工作奠定坚实基础操作系统概述定义与本质核心职责操作系统是管理计算机硬件与软作为用户与硬件之间的桥梁,操件资源的系统软件,是计算机系作系统屏蔽了硬件的复杂性,向统最基本的系统软件它为用户上提供简洁统一的接口,向下实提供了人机交互的界面,同时有现对硬件的控制,确保系统资源效管理与控制计算机系统中的各得到高效利用种资源资源管理操作系统对处理器、内存、存储设备、I/O设备等硬件资源进行统一管理与分配,协调并发活动,保证系统安全可靠运行操作系统的目标开放性支持标准接口,便于软件移植与系统扩展可扩展性能够适应硬件与应用需求的变化与发展有效性高效管理资源,提升系统整体性能方便性提供友好界面,降低用户使用复杂度一个优秀的操作系统应当在这四个方面取得平衡方便性使普通用户能够轻松使用计算机;有效性确保系统资源得到充分利用;可扩展性保证系统能够适应未来发展;开放性则使得不同系统间能够互相兼容,促进技术交流与创新操作系统发展历史批处理系统20世纪50-60年代,为提高计算机利用率,引入批处理技术,一次性输入多个作业,自动连续处理,但用户交互性差分时系统60年代出现,允许多用户同时使用一台计算机,系统按时间片轮流为每个用户服务,提高了交互性与资源利用率实时系统70年代发展,能在严格时间限制内完成任务,广泛应用于工业控制、军事、航空航天等领域多道与分布式OS80年代至今,多道程序设计与网络技术促进了分布式操作系统发展,计算能力得到极大提升主流操作系统类型桌面操作系统移动操作系统嵌入式操作系统以Windows、macOS和Linux为代表的桌面操适配智能手机与平板设备的移动操作系统运行在嵌入式设备上的专用系统,如RTOS作系统面向个人用户设计,注重图形界面主要有Android和iOS两大阵营Android基于(实时操作系统)、VxWorks等,强调可靠友好性和应用软件丰富度Windows占据市Linux内核,开放性强,设备种类丰富;iOS性、实时性和资源占用小随着物联网发场主导地位,macOS以设计与体验著称,封闭但生态统一,用户体验流畅,安全性展,嵌入式操作系统应用日益广泛Linux则以开源和定制性获得技术爱好者青高睐操作系统常见特性多用户交互性支持多个用户同时访问系统资提供用户界面(命令行或图形界源,为每个用户提供独立的工作面)实现人机交互,接收用户指环境,并实施权限控制保障安令并及时响应,增强用户体验多任务安全性全允许同时运行多个程序,通过处通过身份认证、访问控制、数据理器时间共享实现并发执行,提加密等机制保护系统免受未授权高系统资源利用率和用户工作效访问和恶意攻击,确保数据完整率性与隐私安全操作系统基本结构单内核结构微内核结构模块化设计传统设计方法,所有系统服务都运行在将大部分服务移至用户态,内核仅保留兼顾单内核性能和微内核灵活性的折衷内核态,性能高但结构复杂Linux和早最基础功能如Minix和QNX优势在于方案核心功能驻留内核,其他功能以期Windows采用此结构优点是效率高,系统稳定性高,服务独立性强;劣势是可加载模块形式实现现代Windows和服务间通信成本低;缺点是内核庞大,频繁的用户态与内核态切换带来性能损Linux系统采用此方法,实现了较好的可一个模块出错可能导致整个系统崩溃失扩展性和性能平衡操作系统内核概述内核功能与职责内核是操作系统最核心的部分,常驻内存,负责最基础的任务调度、内存管理、设备驱动和系统调用等功能,确保硬件资源被有效管理和分配用户态与内核态现代处理器通常提供至少两种运行模式用户态和内核态用户态下程序权限受限,不能直接访问硬件和执行特权指令;内核态则拥有完全系统控制权系统调用接口系统调用是用户程序请求操作系统服务的接口当应用程序需要访问硬件或执行特权操作时,通过系统调用临时切换到内核态,完成后再返回用户态继续执行系统启动过程作用Bootloader开机后,BIOS/UEFI完成硬件自检,加载引导程序Bootloader到内存Bootloader如GRUB负责提供操作系统选择界面,准备启动环境,加载内核到内存内核加载内核接管系统控制权后,进行硬件探测与初始化,建立内存映射,初始化各子系统,如中断控制器、内存管理单元、设备驱动等,创建第一个进程如Linux中的init进程服务初始化第一个进程启动后,系统按预定顺序初始化各种系统服务,包括文件系统挂载、网络配置、安全服务启动等,最终启动图形界面或呈现登录提示,完成整个启动过程进程管理概述进程与程序区别进程生命周期进程状态转换程序是静态的指令和数据集合,存储进程从创建到终止经历完整生命周进程主要有就绪、运行、阻塞三种基在磁盘上;进程是程序的一次执行实期创建阶段分配资源;执行阶段完本状态就绪状态等待CPU分配;运行例,是动态的,包含程序代码、当前成任务;终止阶段释放资源系统根状态占用CPU执行指令;阻塞状态等待活动状态和系统资源同一程序可以据调度策略控制进程状态转换,合理某事件发生进程状态在这三种状态同时产生多个进程,每个进程有独立分配CPU时间,提高系统吞吐量间动态转换,反映了系统资源分配的的地址空间和系统资源动态过程进程控制块PCB的基本内容在进程切换中的作用PCB PCB进程控制块Process ControlBlock是操作系统用于描述和管理进进程切换时,操作系统需要保存当前进程的执行上下文,并恢复程的数据结构,包含进程的所有静态和动态信息典型PCB包下一个进程的执行上下文PCB正是存储这些上下文信息的关键含进程标识符PID、进程状态、程序计数器、CPU寄存器、数据结构当发生进程切换时,系统会CPU调度信息、内存管理信息、I/O状态信息、记账信息等
1.保存当前进程的寄存器状态到其PCBPCB是操作系统感知和控制进程的唯一途径,所有进程管理操作
2.更新当前进程的PCB状态信息都基于PCB进行系统为每个创建的进程分配一个唯一PCB,伴
3.选择下一个进程随进程整个生命周期,直到进程终止后回收
4.从被选中进程的PCB恢复执行上下文这种机制确保了进程可以在之前中断的精确位置继续执行,实现了多进程并发执行的基础进程调度算法先来先服务短作业优先FCFS SJF按进程到达就绪队列的顺序分配处理选择执行时间最短的进程优先执行,减器,简单公平但平均等待时间较长,对少平均等待时间,但可能导致长作业长短作业不利时间等待多级队列调度时间片轮转RR将就绪队列分为多个独立队列,不同优为每个进程分配一个时间片,轮流执先级进程进入不同队列,兼顾响应速度行,时间片用完后放回队列尾部,响应和吞吐量快但开销大进程切换与上下文切换上下文内容包括CPU寄存器值、程序计数器、栈指针等执行状态信息切换开销保存与恢复寄存器、缓存失效、地址空间切换等带来额外开销切换时机时间片用完、I/O请求、高优先级进程就绪等情况触发切换进程切换是操作系统实现多任务的核心机制,也称为上下文切换当一个进程暂时让出CPU使用权时,操作系统必须保存其当前状态(上下文),并加载下一个进程的状态,使其能够从上次执行的位置继续运行频繁的上下文切换会带来可观的系统开销,因为每次切换都需要执行一系列保存和恢复操作,同时还会导致处理器缓存失效优秀的操作系统设计需要平衡切换频率与系统响应性,找到最佳平衡点线程与多线程线程定义线程与进程对比用户级与内核级线程线程是CPU调度的基本单位,是进程内的线程创建和切换开销远小于进程,因为用户级线程由应用程序自行管理,对操一条执行路径一个进程可以包含多个不需要复制地址空间;线程间通信更简作系统透明,切换开销小但无法利用多线程,共享进程的地址空间和资源,但单高效,可直接访问共享内存;但共享处理器;内核级线程由操作系统内核直拥有独立的执行栈和程序计数器线程内存也带来了同步问题,需要专门机制接支持和管理,可实现真正的并行执实现了进程内的并发执行,提高了程序处理;一个线程崩溃可能导致整个进程行,但创建和管理开销较大现代系统的响应性和资源利用率崩溃,隔离性不如进程通常采用混合实现,结合两者优点并发与并行并发的基本概念并发是指多个任务在同一时间段内交替执行的能力,通过时间片分配使单处理器系统看似同时执行多任务这是操作系统实现多任务处理的基本机制,提高了系统资源利用率和响应性临界资源与互斥临界资源是同一时刻只能被一个进程或线程访问的共享资源互斥是指确保多个并发执行的进程或线程在访问共享资源时不会相互干扰的机制,是解决资源竞争问题的关键并行处理模型并行是指多个任务在同一时刻同时执行的能力,需要多核或多处理器硬件支持常见并行模型包括数据并行、任务并行和流水线并行等,能够显著提高系统处理能力和执行效率互斥与同步机制信号量Semaphore一种计数器结构,用于控制对共享资源的访问由荷兰计算机科学家Dijkstra提出,通过原子操作P等待和V释放实现进程间同步二进制信号量可实现互斥访问,计数信号量可控制资源使用数量是实现生产者-消费者等同步问题的基础工具互斥锁Mutex专门用于保护临界区的特殊二进制信号量,确保同一时刻只有一个线程可以访问共享资源互斥锁具有持有者概念,只有获取锁的线程才能释放锁,避免了错误释放问题现代操作系统提供多种互斥锁实现,如自旋锁、读写锁等条件变量允许线程等待特定条件成立后再继续执行的同步机制与互斥锁配合使用,实现线程间的通知机制当条件不满足时,线程自动释放互斥锁并进入等待状态;当条件满足时,通知等待线程重新获取锁继续执行适合实现复杂的同步关系经典同步问题生产者消费者问题哲学家就餐问题读者写者问题--描述共享固定大小缓冲区的两类进程生产者五位哲学家围坐一张圆桌,每人两侧各有一只描述对共享数据的两种访问读者只读取数将数据放入缓冲区,消费者从缓冲区取出数筷子,哲学家要么思考要么就餐,就餐时需同据,多个读者可以同时读;写者修改数据,写据需要解决的核心问题是生产者不能在缓时拿起两侧筷子,用餐完毕后放下筷子继续思操作必须互斥执行需要确保写者获得独占访冲区满时继续生产,消费者不能在缓冲区空时考问权,同时最大化并发读取效率继续消费这个问题体现了死锁的典型情况——如果每个哲解决方案通常分为读者优先和写者优先两种策该问题可以使用信号量实现同步,通常需要一学家都拿起左侧筷子后等待右侧筷子,将导致略读者优先允许最大并发读取但可能导致写个互斥信号量控制对缓冲区的访问,以及两个系统死锁解决方案包括资源分级、引入仲裁者饥饿;写者优先确保写操作及时执行但可能计数信号量分别表示空槽位数和已填充项数者或限制同时就餐人数等降低读取并发性死锁及其特征互斥条件死锁定义资源必须以排他方式分配,一次只能被一个进程使用一组进程互相等待对方持有的资源,导致所有进程都无法继续执行的状态持有并等待进程保持至少一个资源而等待获取其他进程持有的资源循环等待不可抢占存在一个进程链,每个进程都在等待链中下一个进程持有的资源资源只能由持有进程自愿释放,不能被强制剥夺死锁预防与解除死锁预防方法银行家算法死锁检测与恢复死锁预防通过破坏死锁的必要条件来避银行家算法是一种死锁避免方法,由死锁检测定期检查系统是否处于死锁状免死锁发生针对互斥条件,可使用可Dijkstra提出系统动态检查资源分配状态,通常使用资源分配图或类似银行家共享资源;针对持有并等待条件,可采态,只有在安全状态下才分配资源算算法的方法一旦检测到死锁,系统采用一次性申请所有资源;针对不可抢占法维护三类数据结构可用资源向量、取恢复措施条件,可允许资源强制回收;针对循环最大需求矩阵和已分配资源矩阵,通过
1.进程终止终止一个或多个死锁进等待条件,可实施资源有序分配策略安全性检查算法确定资源分配是否导致程,释放其资源不安全状态预防措施虽然彻底但往往限制了系统的
2.资源抢占临时从某些进程强制回收并发性能和资源利用率,在实际系统中该算法需要预先知道进程最大资源需资源,分配给其他进程应用有限求,且实现复杂,主要用于特定场景
3.进程回滚将进程回滚到安全状态点重新执行存储管理概述存储管理需求存储管理是操作系统的核心功能之一,目标是有效组织和管理计算机系统的内存资源,为进程提供独立的地址空间,保证进程间相互隔离,同时最大化内存利用率,支持程序动态加载和执行存储管理还需要实现内存保护,防止进程访问未授权的内存区域,确保系统安全稳定运行物理地址与逻辑地址物理地址是内存单元在实际硬件中的地址,由内存控制器直接使用;逻辑地址是程序生成的地址,对程序员可见,需要通过地址转换机制映射到物理地址逻辑地址空间与物理地址空间的分离是现代操作系统存储管理的基础,使得多个进程可以共享物理内存,同时保持相互独立内存管理单元MMU内存管理单元是实现逻辑地址到物理地址转换的硬件设备,通常集成在CPU中MMU根据操作系统设置的页表或段表信息,自动完成地址转换过程,提供内存保护和访问控制功能现代处理器的MMU还通常包含地址转换缓冲区TLB,加速地址转换过程,减少内存访问延迟连续分配与分区管理固定分区技术动态分区技术内碎片与外碎片固定分区是早期存储管理的简单方法,动态分区根据进程实际需要分配内存,内部碎片分配给进程的内存超过其实将物理内存划分为固定大小的分区,每当进程请求内存时,系统从空闲内存中际需要,多余部分无法使用,通常出现个分区分配给一个进程分区大小可以分配恰好满足需求的连续空间主要分在固定分区管理中相等,也可以不等系统维护分区表,配策略包括外部碎片空闲内存总量足够,但分散记录每个分区的起始地址、大小和状态•首次适应First-Fit分配第一个足够成小块,无法满足大进程需求,通常出(空闲/占用)大的空闲分区现在动态分区管理中优点是实现简单,分配迅速;缺点是内•最佳适应Best-Fit分配最小的足够碎片问题导致内存利用率下降解决方存利用率低,产生严重的内部碎片问大空闲分区法包括内存紧缩Compaction,将已分配题,且进程大小受限于预先划分的分区•最差适应Worst-Fit分配最大的空区域集中到一端,形成大的连续空闲区大小闲分区域;以及非连续分配方式如分页和分段动态分区提高了内存利用率,但引入了外部碎片问题分页管理页表结构页表记录逻辑页到物理页框的映射关系,每个进程有独立的页表地址转换过程逻辑地址被分为页号和页内偏移,页号通过页表转换为页框号多级页表解决页表过大问题,将页表分层,只加载需要的页表部分分页是一种非连续内存分配方案,将物理内存和逻辑地址空间都划分为固定大小的块,物理内存块称为页框frame,逻辑地址空间块称为页page进程的页可以被映射到任意页框,不要求连续分配分页管理的主要优点是消除了外部碎片,提高了内存利用率;实现了物理内存保护;支持虚拟内存实现缺点是可能产生内部碎片;页表占用额外内存空间;地址转换增加了内存访问开销现代系统通常采用TLBTranslation LookasideBuffer加速地址转换过程分段管理段表结构分段系统中,每个进程拥有一个段表,记录各段的基址和长度限制段表通常包含段号、段基址该段在物理内存中的起始地址、段长度该段的大小、段权限读/写/执行权限标志CPU通过段寄存器存储当前段表地址,访问内存时使用段表进行地址转换段表由操作系统维护,确保段之间的隔离和保护分段机制与分页对比分段以程序的逻辑结构为基础,将程序分为代码段、数据段、堆栈段等,段的大小不固定,取决于程序的逻辑单元大小而分页以固定大小的页为单位,与程序逻辑结构无关分段优势符合程序员思维方式;便于共享和保护;支持动态增长缺点产生外部碎片;分配和回收复杂分页则避免了外部碎片,但可能产生内部碎片,且不便于程序共享段页式存储管理段页式结合了分段和分页的优点,先将程序按逻辑结构分段,再将每段分成固定大小的页地址结构包含段号、段内页号和页内偏移三部分这种方式既满足了程序员对逻辑地址空间的要求,又解决了外部碎片问题但实现复杂,地址转换开销大,需要段表和页表两级转换Intel x86架构的保护模式采用了类似的段页式管理方式虚拟内存原理概念与优势虚拟内存是一种内存管理技术,使程序可使用的内存空间超过实际物理内存容量系统将暂时不用的程序部分存储在磁盘上,需要时再调入内存,使有限的物理内存能够支持更多进程并发执行请求分页与页面置换在请求分页系统中,程序不需要完全加载到内存才能运行当访问不在内存中的页面时,产生缺页中断,系统将缺页调入内存若内存已满,则需通过页面置换算法选择被替换页面,腾出空间常用页面置换算法好的置换算法应选择未来最长时间不会使用的页面替换出去但由于无法准确预知未来访问模式,实际算法基于历史访问情况进行近似预测,如最近最少使用LRU、先进先出FIFO和时钟CLOCK算法等常见页面置换算法先进先出最近最少使用时钟FIFO LRUCLOCKFIFO算法将最早调入内存的页面作为置换对LRU算法基于程序局部性原理,认为最近未被使CLOCK算法是LRU的近似实现,又称为二次机会象系统维护一个页面队列,新调入的页面加用的页面在近期内也不太可能被使用,因此选算法为每个页面设置一个访问位,被访问时入队尾,需要置换时从队首选取页面实现简择最长时间未访问的页面进行置换需要记录置1置换时,指针像时钟一样循环扫描页面,单,开销小,但性能较差,可能出现Belady异常每个页面的最后访问时间或维护按访问时间排遇到访问位为0的页面将其置换出去;为1则清(增加物理页框反而增加缺页率)序的链表零并继续扫描FIFO没有考虑页面使用频率,可能淘汰经常使LRU理论上接近理想算法,但实现复杂,硬件开CLOCK算法实现简单,开销小,性能接近LRU用的页面,导致这些页面很快又被调入,增加销大常见实现方式有计数器法和栈法,或使改进版还可以考虑页面修改情况脏位,优先置不必要的I/O操作用近似LRU算法降低开销换未修改页面,减少写回磁盘开销交换与置换机制换入换出理论进程被换出与唤醒交换区管理/交换Swapping是指将整个进程在内存和进程换出时,系统需要交换区通常位于硬盘上的专用分区或文磁盘之间进行调度的技术当物理内存件,其管理涉及空间分配、回收和优化
1.保存进程的完整内存映像到交换区不足时,操作系统选择某些暂时不活跃访问性能等问题操作系统维护交换区
2.更新系统内部数据结构,标记进程状的进程,将其完整地从内存移到磁盘交使用表,记录各块的分配情况态换区swap area,腾出内存空间;当这些交换操作是I/O密集型的,可能成为系统进程需要继续执行时,再从磁盘调回内
3.释放进程占用的物理内存性能瓶颈为提高效率,现代系统采用存进程唤醒时,系统执行预读取、批量写入、压缩等技术优化交与分页置换不同,交换以整个进程为单换过程,并优先使用高速存储设备如SSD
1.分配足够的物理内存空间位,粒度更粗,适用于内存压力较大的作为交换区
2.从交换区加载进程映像情况现代操作系统通常结合使用交换和页面置换,在不同层次管理内存资
3.更新页表或内存映射关系源
4.恢复进程执行状态存储保护与共享内存保护技术内存保护是防止进程访问未授权内存区域的机制,确保系统稳定性和安全性现代处理器通常提供硬件支持,包括基址/界限寄存器、保护位和特权级别等在分页系统中,页表项通常包含保护位,指示页面的读/写/执行权限当进程尝试非法访问内存时,硬件会生成保护异常,操作系统接管并通常终止违规进程这种机制有效防止了程序错误或恶意代码破坏系统或其他进程共享内存实现共享内存允许多个进程访问同一物理内存区域,是进程间通信的高效方式常见的共享形式包括共享代码段(如系统库)、共享数据段(如全局变量)和显式创建的共享内存区域在分页系统中,共享通过在不同进程的页表中映射相同的物理页框实现系统需要解决一致性问题,确保多进程对共享数据的操作不冲突,通常需要配合互斥锁等同步机制使用写时复制Copy-on-Write写时复制是一种优化技术,允许多个进程共享相同的物理页面,直到其中一个进程需要修改初始时,页面标记为只读并共享;当进程尝试写入时,系统创建该页面的私有副本,然后允许在副本上进行修改这种技术在fork系统调用中广泛应用,避免了立即复制整个地址空间的开销,特别适合fork后立即exec的常见模式,显著提高了系统效率文件系统概述文件、文件夹定义文件属性与管理文件是具有名称的相关信息集合,存储系统维护文件元数据,如名称、类型、在外部介质上;文件夹是组织文件的容大小、访问权限、创建/修改时间等属性器信息文件系统层次结构文件操作基本接口从物理介质到用户接口,包括设备驱提供创建、打开、读写、定位、关闭、动、基本文件系统、逻辑文件系统和应删除等标准操作,支持应用程序访问文用接口多个层次件内容目录结构与管理单级两级目录/早期系统采用单级目录,所有文件平行存放,命名冲突严重;两级目录引入用户目录概念,每个用户有独立子目录,但组织能力有限树形结构现代文件系统普遍采用多级树形目录结构,形成层次化组织体系用户可创建任意深度的子目录,灵活组织文件,解决了命名冲突问题,支持按路径定位文件路径解析系统支持绝对路径(从根目录开始)和相对路径(从当前目录开始)两种寻址方式路径解析过程是从起始目录开始,逐级查找每个路径组件,直到找到目标文件或目录文件分配方式连续分配连续分配方式要求文件在磁盘上占据连续的物理块系统只需记录文件起始块位置和长度两个信息,实现简单,支持高效的顺序访问和随机访问但连续分配存在严重缺陷文件无法动态增长,除非预留足够空间;长期使用后产生大量外部碎片,需要定期进行碎片整理,开销大链接分配链接分配将文件存储在离散的磁盘块中,每个块包含指向下一块的指针,形成链表结构文件分配表FAT是一种改进方式,将链表存储在单独的表中,提高了随机访问效率链接分配避免了外部碎片,支持文件动态增长,但顺序访问性能下降,链表损坏可能导致文件部分丢失索引分配索引分配为每个文件创建索引块,记录文件数据块的位置索引块集中了文件的所有块地址信息,支持高效的随机访问对于大文件,可采用链接索引块或多级索引等方式扩展索引分配结合了连续分配和链接分配的优点,实现了高效访问和动态增长,但额外的索引块占用了存储空间,小文件存储效率较低文件系统实例文件系统文件系统FAT NTFS文件分配表FAT是早期Windows系统NTFS是Windows NT系列的默认文件系使用的文件系统它采用链接分配方统,采用主文件表MFT记录文件信式,使用一个表记录所有块的链接关息它支持大文件和大分区、文件加系主要版本有FAT12/16/32,区别在密、压缩、访问控制和日志功能,保于文件分配表项的位数,决定了最大证系统崩溃后快速恢复NTFS使用B+支持容量FAT结构简单,兼容性树索引提高目录查找效率,是一个功好,但对大容量存储支持有限,无内能完善的现代文件系统置安全机制文件系统EXT4EXT4是Linux系统的主流文件系统,从EXT2/3演化而来它采用索引节点inode存储文件元数据,使用块组管理磁盘空间EXT4引入了许多优化,如延迟分配、多块分配和日志校验和等,提高了性能和可靠性,支持大文件和大文件系统,同时保持了向后兼容性文件保护与安全访问控制列表权限管理文件加密与完整性访问控制列表ACL是一种细粒度的权限管文件权限管理是文件系统安全的基础,通除了访问控制,现代文件系统还提供加密理机制,为每个文件指定详细的用户访问常包括和完整性保护功能权限与传统的用户-组-其他三级权限模•读取权限允许查看文件内容或列出目•文件加密使用密码学算法加密文件内型相比,ACL可以为任意数量的用户和组录内容容,即使物理介质被盗,未授权用户也设置独立权限,实现更精确的访问控制无法读取内容•写入权限允许修改文件或在目录中创ACL通常包含多个访问控制项ACE,每个建/删除文件•数字签名验证文件来源和完整性,防ACE指定一个安全主体用户或组及其权止文件被篡改•执行权限允许运行文件或访问目录限系统在访问文件时检查ACL,验证用•审计跟踪记录文件访问和修改历史,户是否具有所需权限现代文件系统如在UNIX/Linux系统中,使用rwx读/写/执行便于安全审计NTFS和EXT4都支持ACL功能权限位,分别针对文件所有者、所属组和其他用户设置Windows系统使用更复杂的这些机制共同构成了多层次的文件安全防权限模型,包括读取、写入、修改、完全护体系,保护敏感数据免受未授权访问和控制等多级权限恶意攻击子系统概述IO应用程序接口I/O提供统一的文件操作函数,隐藏底层差异设备独立层实现通用I/O功能,处理缓冲和调度设备驱动程序控制特定硬件设备,处理硬件细节中断处理程序响应设备中断,协调I/O操作完成物理设备实际的输入输出硬件设备I/O子系统是操作系统管理所有输入输出设备的部分,包括磁盘、网络接口、显示器、键盘等它提供了分层设计,每层负责特定功能,降低了复杂性I/O子系统的目标是提供统一的接口,实现高效的数据传输,管理设备共享,并支持多种不同设备类型调度算法IO先来先服务扫描算法循环扫描FCFS SCANC-SCANFCFS算法按照I/O请求到达的顺序处理,公平简单SCAN算法又称电梯算法,磁头沿一个方向移动,C-SCAN算法是SCAN的变种,磁头仅在一个方向上但性能较差在磁盘操作中,这可能导致磁头在满足途中所有请求,到达磁盘边缘后改变方向服务请求,到达最远端后迅速返回起点(不服务磁盘表面来回移动,增加寻道时间和旋转延迟,这种方法减少了磁头反复移动,提高了吞吐量,返回途中的请求),再开始新一轮扫描这减少降低吞吐量但可能导致某些请求等待时间过长了最大等待时间,提供了更公平的服务例如,如果连续请求的磁道号为
98、
183、
37、SCAN算法对位于中间磁道的请求有优势,但对磁类似于电梯只往上运行,到顶后直接回到底层重
122、
14、
124、
65、67,磁头将在磁盘上做大量盘两端的请求可能存在不公平性改进版LOOK算新向上这种算法在磁道请求均匀分布时效果最无效移动,效率低下FCFS适用于负载轻、请求法只扫描到最远请求位置就转向,而不一定到达佳,是现代磁盘调度常用算法C-LOOK是其优化分散性小的场景磁盘边缘版本,只移动到最远请求位置中断处理机制中断类型中断分为硬件中断、软件中断(陷阱)和异常三大类硬件中断由外部设备触发,如键盘输入、磁盘读写完成;软件中断由程序主动发起,如系统调用;异常则由程序执行错误引起,如除零错误、非法内存访问等中断优先级系统为不同中断源分配优先级,确保关键中断能够及时处理高优先级中断可以打断低优先级中断处理过程,形成中断嵌套典型的高优先级中断包括电源故障、硬件错误等需要立即响应的事件;低优先级中断如常规I/O完成可以适当延迟处理中断服务程序中断服务程序ISR是处理特定中断的代码,通常保存在内核空间系统维护中断向量表,记录各类中断对应的处理程序入口地址当中断发生时,处理器自动保存当前上下文,查找中断向量表,跳转到对应ISR执行,完成后恢复原上下文继续执行被中断的程序设备管理设备独占与共享设备分配独占设备一次只能被一个进程使用,如设备分配管理物理设备的使用权,处理打印机;共享设备可同时服务多个进设备请求和释放系统维护设备表记录程,如磁盘独占设备需要排队和互斥状态和控制信息,根据分配策略和优先控制,共享设备需要资源分配和冲突调级决定满足请求的顺序度设备驱动程序虚拟设备驱动程序是操作系统与硬件设备通信的虚拟设备技术通过软件模拟创建多个逻桥梁,封装设备细节,提供标准接口辑设备,共享同一物理设备例如,虚现代系统采用模块化设计,支持动态加拟打印机允许多进程同时输出,系统负载驱动,便于扩展和升级责缓存和调度实际打印操作操作系统安全机制身份认证方式身份认证是验证用户身份的过程,确保系统资源只被授权用户访问主流认证方式包括基于知识的认证(密码、PIN码等)、基于物品的认证(智能卡、令牌等)、基于生物特征的认证(指纹、人脸等)以及多因素认证(结合多种方式)现代操作系统还支持单点登录SSO和基于网络的身份服务,提高用户体验的同时保持安全性病毒与恶意攻击防护操作系统内置多层防护机制抵御恶意软件病毒扫描和实时监控检测已知威胁;行为分析识别可疑活动;应用程序沙箱隔离潜在风险;代码签名验证软件来源;自动更新修补安全漏洞防火墙和入侵检测系统监控网络流量,阻止未授权访问,构成完整的系统安全防线系统权限模型权限模型控制用户对系统资源的访问权限,遵循最小权限原则Windows采用基于用户和组的安全标识符SID,结合访问控制列表ACL实现细粒度控制;Linux使用用户ID、组ID和权限位,并支持能力capabilities机制分离特权操作特权分离和权限管理是防止权限提升攻击的关键技术,确保即使部分系统被攻破,攻击者也无法获得完全控制权访问控制策略强制访问控制自主访问控制基于角色的访问控制强制访问控制MAC是一种基于安全级别的自主访问控制DAC允许资源拥有者自行决基于角色的访问控制RBAC是一种更灵活的访问控制机制,由系统统一管理和实施,用定和管理访问权限在DAC系统中,文件或访问控制模型,将权限与角色关联,再将角户无法自行更改在MAC系统中,所有主体资源的创建者通常成为其拥有者,有权设置色分配给用户用户获得角色所拥有的全部用户、进程和客体文件、设备都被分配谁可以访问以及访问级别权限,而不是直接分配权限安全标签或等级Windows和大多数UNIX/Linux系统默认采用RBAC简化了权限管理,特别适合大型组织访问决策基于安全策略规则,通常遵循不DAC模型,通过访问控制列表或权限位实能向上读取和不能向下写入原则,防止高现DAC灵活易用,但安全性较MAC弱,因•减少管理复杂度,只需管理角色而非单级别信息泄露和低级别信息被高级别主体污为个用户权限染MAC广泛应用于军事和政府高安全系
1.用户可能错误配置权限,导致过度授权•支持职责分离原则,限制单个用户权力统,如SELinux就是Linux中的MAC实现
2.恶意程序可利用用户权限访问或修改受•易于审计和合规性验证保护资源现代操作系统通常结合多种访问控制模型,
3.权限传播难以控制,可能形成隐蔽通道提供全面安全保护网络与分布式操作系统网络操作系统基本结构扩展传统OS功能,加入网络通信与资源共享机制远程过程调用RPC跨网络调用远程服务器上的过程,封装通信细节分布式文件系统支持透明访问网络上的文件,实现数据共享与容错网络操作系统将多台计算机连接在一起,实现资源共享和分布式计算它在传统操作系统基础上增加了网络协议栈、远程访问控制和分布式服务等功能用户能够访问远程计算机上的文件、打印机和其他资源,就像使用本地资源一样分布式操作系统进一步集成了网络环境中的多台计算机,使整个系统表现为一个统一的计算环境它的特点包括透明性(用户无需知道资源位置)、高可靠性(通过冗余避免单点故障)和可扩展性(能够方便地增加新节点)典型应用包括分布式数据库、云计算平台和高性能计算集群操作系统实例Linux体系结构LinuxLinux采用单内核模块化设计,核心为内核层,负责进程管理、内存管理、文件系统和设备控制内核通过系统调用接口与上层应用程序交互,支持动态加载内核模块,既保证性能又提供灵活性Linux严格区分用户空间和内核空间,提高系统稳定性基本命令ShellShell是Linux的命令解释器和脚本执行环境,提供用户与系统交互的接口常用Shell包括Bash、Zsh等基本命令包括文件操作ls,cp,mv,rm、目录管理mkdir,cd、进程控制ps,kill、文本处理grep,sed,awk和系统管理shutdown,mount等Shell脚本通过组合这些命令自动化系统管理任务多用户多任务LinuxLinux是真正的多用户多任务系统,支持多个用户同时登录并运行程序它通过用户ID和组ID管理权限,使用umask、chmod等命令控制文件访问权限Linux进程调度采用完全公平调度器CFS,按比例分配CPU时间,保证系统响应性和吞吐量平衡操作系统实例Windows内核结构NTWindows NT内核是现代Windows系统的基础,采用微内核思想的混合设计其核心组件包括执行管理器进程与线程、内存管理器、安全引用监视器、I/O管理器和对象管理器NT内核支持多处理器、虚拟内存和抢占式多任务用户界面与服务Windows以图形用户界面GUI著称,提供丰富的视觉元素和交互方式系统服务作为后台程序提供核心功能,如事件日志、任务计划、打印后台处理等Windows通过组件对象模型COM和.NET框架提供应用程序开发接口,支持丰富的软件生态常用管理工具Windows提供多种系统管理工具任务管理器监控进程和系统资源;控制面板配置系统设置;事件查看器检查系统日志;注册表编辑器管理系统配置数据库;组策略编辑器控制安全策略和用户环境PowerShell作为高级命令行工具,支持复杂系统管理任务自动化实验案例一进程调度仿真实验案例二信号量并发控制本实验旨在通过编程实现经典的同步互斥问题,帮助学生深入理解并发控制机制实验包含两个部分生产者-消费者问题和哲学家就餐问题的实现在生产者-消费者部分,学生需要使用信号量Semaphore机制实现对有限缓冲区的并发访问控制,确保生产者在缓冲区满时等待,消费者在缓冲区空时等待,并避免多线程同时访问缓冲区导致的数据不一致问题在哲学家就餐问题部分,学生需要实现一个避免死锁的解决方案,可以采用资源分级分配、引入餐票限制或者使用服务生协调等策略通过这些实验,学生将掌握并发编程的基本技能,理解死锁产生的条件和预防方法实验案例三分页置换实验现代操作系统特性虚拟化技术虚拟化技术允许在单一物理硬件上运行多个独立操作系统主流技术有完全虚拟化VMware、KVM模拟完整硬件环境;半虚拟化Xen需要修改客户机OS;硬件辅助虚拟化Intel VT-x、AMD-V提供处理器直接支持,大幅提升性能虚拟化带来资源利用率提升、系统隔离、易于迁移等优势,成为数据中心和云计算的基础技术云计算操作系统云计算操作系统专为大规模分布式环境设计,管理数千台服务器组成的资源池它们提供统一的管理接口,实现资源动态分配、负载均衡、故障恢复和安全隔离等功能代表系统如OpenStack、Google Kubernetes等这类系统采用多层架构,包括基础设施层、平台层和软件服务层,每层提供不同抽象级别的服务,支持弹性扩展和按需付费模式容器技术容器技术是轻量级的虚拟化方案,共享主机OS内核但提供隔离的运行环境Docker等容器平台使用命名空间和控制组等Linux内核特性实现进程隔离,资源限制和安全控制相比传统虚拟机,容器启动速度快、资源占用少、部署灵活,特别适合微服务架构Kubernetes等容器编排系统进一步提供集群管理,支持大规模容器部署和服务发现移动与嵌入式操作系统架构架构嵌入式系统挑战Android iOSAndroid是基于Linux内核的开源移动操作iOS是Apple公司开发的移动操作系统,基嵌入式操作系统面临独特挑战资源受系统,由Google主导开发其架构分为四于Darwin内核(源自BSD UNIX)iOS采限(低功耗CPU、小内存)要求高效代层Linux内核层提供底层驱动和安全机用分层架构Core OS层包含内核、文件码;实时性要求确保任务在严格时间内制;硬件抽象层HAL定义标准接口连接系统和网络组件;Core Services提供基础完成;可靠性要求长时间无故障运行;硬件与上层;Android运行时ART和核心服务如数据存储和网络接入;Media层处安全性要求防止未授权访问关键系统库支持应用执行;应用框架层提供API供理图形、音频和视频;Cocoa Touch层提常见嵌入式OS包括FreeRTOS、VxWorks应用开发使用供UI框架和高级功能专注实时性能;嵌入式Linux提供丰富功Android采用沙箱安全模型,每个应用运iOS注重安全性和用户体验,使用应用沙能;QNX适用于汽车和医疗设备;Zephyr行在独立进程和用户ID下,权限系统控制箱和强制代码签名确保系统安全,所有支持物联网小型设备这些系统通常需敏感功能访问Android特色功能包括意应用必须通过App Store分发,接受Apple要针对特定硬件定制,移植和优化工作图Intent机制、活动Activity生命周期管审核系统提供统一的设计语言和人机量大理和后台服务等交互准则,确保应用风格一致与安全在操作系统中的应用AI提升系统安全性智能资源调度自动化运维与故障修复AI人工智能技术正逐渐融入操作系统安全机制AI算法正革新操作系统的资源管理方式预AI正在改变操作系统的维护模式自动化诊中,实现更智能的防护能力AI驱动的入侵测性资源分配利用历史使用模式预测未来需断工具利用机器学习分析系统日志和性能指检测系统IDS能分析系统行为和网络流量模求,提前分配资源;自适应调度根据工作负标,精确定位故障根因;预测性维护识别潜式,识别未知威胁和零日漏洞;异常行为检载特性动态调整CPU、内存和I/O分配策略;在问题,在造成严重影响前主动干预;自修测通过机器学习建立正常操作基线,发现偏智能电源管理分析应用行为,优化能耗与性复系统能够在检测到异常后,自动执行预定离正常模式的可疑活动;智能恶意软件分析能平衡义的恢复流程或生成修复策略可检测高级持续性威胁APT和多态病毒谷歌的Borg系统和微软的Azure智能调度器已Linux中的SystemTap和eBPF技术结合AI分析,微软Windows Defender和Google的Chrome OS已经证明,AI辅助的资源管理可显著提高数据已经能够实现复杂系统问题的自动诊断随开始集成AI安全功能,未来这一趋势将进一中心利用率和能效,同时减少人工干预需着技术发展,未来操作系统将更加自主,减步扩展,形成自适应安全架构求少管理员工作负担操作系统未来发展趋势边缘计算OS智能化管理专为物联网和边缘设备设计的轻量级未来操作系统将深度整合AI技术,实现OS,支持实时处理和低延迟决策自学习、自优化和自适应安全中心化以安全为核心设计原则,内置加密、隔离和完整性验证机制量子计算支持自动化与自愈为新兴的量子计算架构提供软件抽象和编程接口具备故障预测、自动修复和资源动态调整能力,最小化人工干预课程复习与知识结构梳理基础概念操作系统定义、目标、历史发展、分类与特性,了解操作系统在计算机系统中的核心地位和基本功能这些概念是理解后续所有内容的基础,构建操作系统的整体认知框架系统结构操作系统内核、系统调用、中断处理等核心机制,掌握操作系统的基本架构与工作原理理解单内核与微内核结构的区别,系统启动过程,以及用户态与内核态的转换机制资源管理进程与线程管理、内存管理、文件系统、设备管理等子系统,掌握操作系统如何有效管理和分配计算机资源这部分是课程的核心内容,包含诸多算法和策略,需要重点理解各种机制的优缺点和适用场景系统安全访问控制、认证授权、安全机制等内容,了解操作系统如何保护系统免受内部和外部威胁这部分与现实应用紧密相关,需要理解安全设计原则和常见攻防技术讨论与思考题实际案例分析系统架构创新设计OS选择一个真实操作系统(如Linux、针对特定场景(如物联网设备、云服务器、Windows、Android等),分析其架构设计、自动驾驶系统等),设计一个操作系统的核资源管理策略和特色功能探讨该系统如何心架构,包括资源管理策略、安全机制和接平衡性能、安全性和易用性等多种目标,以口设计论证你的设计如何满足该场景的特及其在特定应用领域的优势和局限性殊需求和挑战未来发展探讨OS讨论新兴技术(如人工智能、量子计算、区块链等)对操作系统发展的影响预测未来十年操作系统可能出现的重大变革,以及这些变革如何改变计算机系统的设计和使用方式操作系统是计算机科学中最为核心和基础的课程之一,通过本课程的学习,同学们应该已经掌握了操作系统的基本原理和核心技术但学习不应止步于课堂,鼓励大家通过实践项目、开源贡献或深入研究来进一步加深理解可以尝试编写简单的操作系统模块,参与开源项目如Linux内核开发,或者探索特定领域如实时系统、嵌入式系统的特殊需求只有将理论与实践相结合,才能真正掌握操作系统的精髓,为未来的学习和工作打下坚实基础。
个人认证
优秀文档
获得点赞 0