版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统核心概念复习资料引论:操作系统的基石操作系统,作为计算机系统中最核心的系统软件,扮演着管理者与协调者的双重角色。它直接运行在硬件之上,为上层的应用程序提供稳定、高效、便捷的运行环境,并对计算机的所有硬件资源(如处理器、内存、存储设备、I/O设备等)和软件资源进行统一的管理与调度。理解操作系统的核心概念,不仅是深入掌握计算机科学的基础,也是进行系统开发、性能优化和故障排查的关键。本复习资料旨在梳理操作系统的核心知识点,帮助读者构建清晰的知识框架。操作系统的目标与功能操作系统的设计通常围绕几个核心目标:方便性(使计算机更易于使用)、有效性(提高系统资源的利用率和吞吐量)、可扩展性(能够方便地集成新功能和硬件)以及开放性(遵循标准,支持兼容的应用开发)。其主要功能包括:*进程管理:负责进程的创建、调度、同步与通信,以及进程的终止。*内存管理:对内存进行分配、回收、保护和扩充,确保多道程序能够有效运行。*文件管理:提供文件的创建、删除、读写、检索等操作,并管理文件的存储介质。*设备管理:控制和管理各种I/O设备,实现设备的分配、回收和无关性(设备独立性)。*提供用户接口:包括命令行接口(CLI)、图形用户接口(GUI)等,方便用户与计算机交互。操作系统的基本特征现代操作系统普遍具备以下基本特征:*并发:指多个程序在宏观上同时运行。注意,并发与并行不同,并行指微观上多个处理器同时执行多条指令流。*共享:系统中的资源可以被多个并发执行的程序共同使用,分为互斥共享和同时共享。*虚拟:通过某种技术将一个物理实体映射为若干个逻辑上的对应物,如虚拟处理器、虚拟内存、虚拟设备等。*异步:程序的执行并非一气呵成,而是“走走停停”,以不可预知的速度向前推进,但只要环境相同,操作系统需保证程序运行结果的可再现性。进程管理:并发的基石进程是操作系统中最核心的概念之一,是程序的一次执行过程。进程管理涉及到如何有效地组织和调度这些并发执行的实体,以提高系统效率并保证程序执行的正确性。进程的定义与状态进程可以被视为一个正在执行的程序实例,它不仅包含程序代码(文本段),还包括当前活动(程序计数器的值、寄存器集合)、堆栈段以及数据段(全局变量、动态分配的内存等)。操作系统为每个进程维护一个进程控制块(PCB),记录了进程的关键信息,如进程ID、状态、优先级、程序计数器、寄存器值、内存分配情况、打开文件列表等。PCB是进程存在的唯一标志。进程在其生命周期中会经历多种状态,典型的状态包括:*就绪状态:进程已获得除处理器外的所有必要资源,等待分配处理器以运行。*运行状态:进程正在处理器上执行。*阻塞状态(等待状态):进程因等待某一事件(如I/O完成、信号量)而暂时无法继续执行,即使分配到处理器也不行。*创建状态:进程正在被创建,各项资源和PCB正在初始化。*终止状态:进程已完成执行或因异常终止,等待操作系统回收其资源。这些状态之间会根据系统事件和进程自身行为发生转换。进程调度进程调度的任务是从就绪队列中选择一个进程,将处理器分配给它。调度算法的优劣直接影响系统的性能。调度算法的设计目标通常包括:CPU利用率、吞吐量(单位时间内完成的进程数)、周转时间(进程从提交到完成的时间)、等待时间(进程在就绪队列中等待的总时间)以及响应时间(从用户提交请求到系统首次产生响应的时间)。常见的调度算法有:*先来先服务(FCFS):按进程到达就绪队列的先后顺序调度,简单但可能导致“convoy效应”(长进程阻塞短进程)。*短作业优先(SJF):选择估计运行时间最短的进程优先执行,能有效降低平均等待时间,但“最短”是预估的,且可能导致长进程饥饿。*优先级调度:为每个进程分配优先级,调度优先级最高的进程。优先级可以是静态的或动态的。可能导致低优先级进程饥饿。*时间片轮转(RR):为就绪队列中的每个进程分配一个固定的时间片,进程在时间片内运行,若未完成则回到就绪队列末尾等待下一次调度。常用于分时系统,能提供较好的响应时间。*多级反馈队列调度:结合了多种调度算法的优点,设置多个就绪队列,每个队列有不同的优先级和时间片。进程根据运行情况在不同队列间移动。进程同步与互斥并发带来了资源共享的便利,但也引入了竞态条件(RaceCondition)——多个进程并发访问和操作共享数据,最终结果取决于这些进程的执行顺序。为了保证数据的一致性,必须对并发进程的执行顺序进行控制,这就是进程同步。互斥是同步的一种特殊情况,指多个进程不能同时进入访问共享资源的临界区。为实现互斥,可以采用软件方法(如Peterson算法),但更常用的是操作系统提供的同步机制:*锁机制:如互斥锁(Mutex),提供`acquire()`和`release()`操作,确保只有获得锁的进程才能进入临界区。*信号量(Semaphore):是一个整数变量,只能通过`P()`(wait,申请资源,值减1,若为负则阻塞)和`V()`(signal,释放资源,值加1,若有进程阻塞则唤醒一个)原语操作。信号量可用于实现互斥(二值信号量)和同步(计数信号量)。*管程(Monitor):一种高级同步机制,将共享数据和对共享数据的操作封装起来,确保每次只有一个进程能进入管程执行其中的操作。管程内部可以设置条件变量,用于进程间的等待和唤醒(`wait()`和`signal()`操作)。经典的进程同步问题包括生产者-消费者问题、读者-写者问题、哲学家进餐问题等,理解这些问题有助于深入掌握同步机制的应用。进程通信进程是资源分配的基本单位,不同进程拥有各自独立的地址空间。为了协同工作,进程间需要交换信息,这就是进程通信(IPC)。常见的IPC机制有:*共享内存:进程通过共享一块内存区域来交换数据,速度快,但需要同步机制来保证数据一致性。*消息传递:进程通过发送和接收消息进行通信,分为直接通信(直接指明接收方)和间接通信(通过信箱或端口)。操作系统负责消息的复制和传递,开销相对较大,但更安全和灵活。*管道:一种半双工的通信方式,用于连接两个父子进程或兄弟进程。数据在管道中单向流动。常见的有匿名管道和命名管道。*信号:一种异步通信机制,用于通知进程某个事件的发生(如用户按下Ctrl+C产生SIGINT信号)。进程可以捕获、忽略或执行默认处理。线程为了进一步提高并发度和减少进程切换的开销,引入了线程(Thread)。线程是进程内的一个执行单元,是CPU调度的基本单位。一个进程可以包含多个线程,它们共享该进程的地址空间和大部分资源(如文件描述符、信号处理等),但每个线程有自己的程序计数器、寄存器集合和堆栈。线程的引入使得:*并发粒度更细:一个进程内的多个线程可以并发执行。*切换开销更小:线程切换只需保存和恢复少量寄存器信息,无需切换地址空间。*通信更高效:同一进程内的线程共享内存,通信方便。线程的实现方式有用户级线程(ULT)和内核级线程(KLT),以及两者的组合(如轻量级进程LWP)。现代操作系统大多支持内核级线程或混合实现。内存管理:高效利用的艺术内存是计算机系统中的关键资源,内存管理负责计算机内存的分配、回收、保护和扩展,其目标是提高内存利用率,方便用户使用,并能从逻辑上扩充内存。地址空间与地址重定位物理地址是内存单元的实际地址。逻辑地址(虚拟地址)是程序中使用的地址,由编译程序生成。为了使程序能够正确加载到内存中执行,需要将逻辑地址转换为物理地址,这个过程称为地址重定位。重定位方式有:*静态重定位:程序装入内存时,由装入程序一次性完成所有逻辑地址到物理地址的转换,之后不再改变。*动态重定位:在程序执行过程中,每当访问内存时,通过硬件(如重定位寄存器)将逻辑地址转换为物理地址。这种方式允许程序在内存中移动。连续内存分配早期的内存管理采用连续分配方式,即一个进程的程序和数据被装入一个连续的内存区域。*单一连续分配:内存分为系统区和用户区,用户区只装入一个用户进程。简单但内存利用率低。*分区分配:*固定分区:将用户内存空间划分为若干个固定大小的区域,每个区域装入一个进程。分区大小可相等或不等,但一旦划分好就不再改变。*动态分区:根据进程的实际需求,动态地为其分配连续的内存空间。分配算法有首次适应(FF)、最佳适应(BF)、最坏适应(WF)等。动态分区会产生外部碎片(内存中零散的、无法利用的小空闲区)。可以通过紧凑(将所有进程移到内存一端,使空闲区集中)来解决,但开销较大。分页存储管理为了克服连续分配的缺点,引入了分页存储管理。它将进程的逻辑地址空间划分为大小相等的页面(Page),将物理内存划分为与页面大小相等的页框(Frame)。程序加载时,将其页面装入内存中不连续的页框,并通过页表记录页面与页框的对应关系。地址转换过程:逻辑地址分为页号和页内偏移量。页号作为索引查找页表,得到对应的页框号,页框号与页内偏移量拼接形成物理地址。为了提高地址转换速度,通常会使用快表(TLB),这是一种高速缓冲存储器,存放当前最常用的页表项。访问内存时,先查TLB,若命中则直接得到页框号;若未命中再查内存中的页表。分页系统可以有效解决外部碎片问题,但会产生内部碎片(一个页面最后未被完全利用的部分),其大小不超过一个页面。分段存储管理分段是为了满足用户在编程和使用上的需求(如模块化编程、保护、共享等)。它将进程的逻辑地址空间按程序的自然逻辑单位(如主程序段、子程序段、数据段、堆栈段等)划分为若干个大小不等的段(Segment)。每个段有自己的段名和段号,在内存中占据一个连续的存储区。系统为每个进程建立一张段表,记录段号、段的基址(段在内存中的起始地址)和段长。逻辑地址由段号和段内偏移量组成。地址转换时,根据段号查找段表,检查段内偏移量是否越界,若合法,则将段基址与段内偏移量相加得到物理地址。分段与分页的主要区别在于:页是物理单位(大小固定,由系统决定),段是逻辑单位(大小不固定,由用户程序决定);分页是为了提高内存利用率,分段是为了满足用户需求。虚拟内存管理虚拟内存技术允许将一个进程的部分内容装入内存即可运行,从而从逻辑上扩充了内存容量。其实现基于程序执行的局部性原理——在一个较短的时间内,程序的执行往往局限于其地址空间的某个部分。虚拟内存的主要优点是:*程序不再受内存容量限制:可以运行比物理内存大的程序。*提高内存利用率:只装入当前需要的页面/段。*进程隔离与保护:每个进程拥有独立的虚拟地址空间。实现虚拟内存的技术主要有请求分页和请求分段,以及两者的结合。以请求分页为例:*程序运行前,只将部分页面装入内存,其余页面放在外存(如硬盘)的交换区。*执行过程中,若访问的页面不在内存,则产生缺页中断。*操作系统处理缺页中断:选择内存中一个页面换出到外存(根据页面置换算法),将所需页面从外存调入内存,并更新页表。页面置换算法是虚拟内存管理的核心,其目标是尽可能减少缺页率。常见的页面置换算法有:*最佳置换算法(OPT):选择未来最长时间内不再被访问的页面淘汰。理论最优,但无法实现(需要预知未来)。*先进先出置换算法(FIFO):选择最早进入内存的页面淘汰。简单,但可能出现“Belady异常”(分配更多页框时缺页率反而增加)。*最近最久未使用置换算法(LRU):选择最近一段时间内最久未被访问的页面淘汰。性能接近OPT,但实现开销较大(需要记录页面访问顺序)。*时钟置换算法(CLOCK):LRU的近似实现,使用一个访问位,通过循环检查页面的访问位来选择淘汰页面,开销较小。抖动(Thrashing)是虚拟内存系统中一个严重的问题,指页面频繁地换入换出,导致系统效率急剧下降。其主要原因是给进程分配的物理页框过少,导致缺页率过高。可以通过工作集模型等方法来预防抖动。文件系统:数据的管家文件系统是操作系统中负责管理和存储文件信息的软件模块和数据结构的集合,它为用户提供了一种简便、统一的访问存储设备的方式。文件的概念与属性文件是具有符号名的、在逻辑上具有完整意义的信息项的集合。文件具有以下基本属性:文件名、标识符(inode号或类似)、类型、位置、大小、保护信息(访问权限)、时间信息(创建、修改、访问时间)等。文件可以按多种方式分类,如按用途(可执行文件、源文件、数据文件)、按访问权限(只读、读写、可执行)、按文件中数据的组织形式(文本文件、二进制文件)等。文件的逻辑结构与物理结构文件的逻辑结构是用户所看到的文件的组织形式,分为:*无结构文件(流式文件):由字符流组成,如文本文件。*有结构文件(记录式文件):由若干逻辑记录组成,如数据库文件。根据记录的组织方式,又可分为顺序文件、索引文件、索引顺序文件等。文件的物理结构(文件的存储结构)是文件在外存上的实际存储方式,直接影响文件的存取速度和存储空间的利用率。常见的物理结构有:*连续分配:文件的所有数据块连续存放在外存的连续区域。优点是顺序访问速度快;缺点是不利于文件动态增长,会产生外部碎片。*索引分配:为每个文件创建一个索引块,索引块中记录了文件所有数据块的地址。访问文件时,先查找索引块,再根据索引块中的地址访问数据块。优点是支持随机访问,文件易于增长;缺点是需要额外空间存储索引块。当文件很大时,可能需要多级索引或混合索引(如Unix的inode结构)。目录结构为了便于管理和检索文件,文件系统使用目录(文件夹)来组织文件。目录本身也是一种文件(目录文件)。常见的目录结构有:*单级目录结构:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建福州市东盟海产品交易所有限公司招聘6人备考题库及答案详解(夺冠系列)
- 采石环保应急预案(3篇)
- 2026青海海南州贵南县招聘项目管理人员办公室文员3人备考题库带答案详解
- 人教版小学英语听力理解能力测试试题及答案
- 吊装指挥考试题及答案
- 地理考试题型及答案
- 村居干部考试题目及答案
- 处方管理考试题及答案
- 初级技士考试题及答案
- 园林园艺行业养护与管理指南
- 2026年高级人工智能训练师(三级)理论考试题库(附答案)
- 2026北京印钞有限公司招聘26人笔试备考试题及答案解析
- 2026山西杏花村汾酒集团有限责任公司生产一线技术工人招聘220人笔试参考题库及答案解析
- 百师联盟2025-2026学年高三上学期1月期末考试俄语试题含答案
- 2026年湖北中烟工业有限责任公司招聘169人笔试参考题库及答案解析
- 2026年六年级寒假体育作业(1月31日-3月1日)
- 干部培训行业现状分析报告
- DL∕T 1917-2018 电力用户业扩报装技术规范
- 精准定位式漏水检测方案
- 2023气管插管意外拔管的不良事件分析及改进措施
- 2023自动启闭喷水灭火系统技术规程
评论
0/150
提交评论