(0)操作系统概念图解
初学操作系统之时,可能会对操作系统的概念、作用等基础知识比较模糊,本文将以图为对象,用通俗易懂的语言对操作系统的基础知识进行讲解,我们一起来看一下吧~
操作系统处于用户、应用程序与硬件中间的位置,操作系统是用户和应用程序和硬件之间交流的“中介”。
用户、应用程序程序与操作系统连接的接口不同,用户采用用户接口,包括GUI、命令接口(包括联机/交互、脱机/批处理)方式,应用程序采用程序接口(又称广义指令或系统调用,指用户调用系统API函数,通过软中断实现,执行顺序为:传递系统调用参数→执行trap指令→执行相应的服务程序→返回用户态,在创建一个进程、读取一个文件、打开一个文件时都要用到系统调用)。
操作系统包含两种功能,内核功能和非内核功能,只有在管态(内核态)才能执行内核功能、特权指令,目态(用户态)只能执行非内核功能、非特权指令,系统经过中断从目态转向管态,通过PSW(程序指令字)变化从管态转向目态。在内核态下,CPU可执行任何指令,在用户态下CPU只能执行非特权指令,而特权指令只能在内核态下执行。trap指令、数据传送指令、设置断点指令等都是提供给用户使用的指令,可以在用户态执行,只是可能会使CPU从用户态切换到内核态,而I/O指令等是特权指令,只能在内核态下使用。
注意,除了trap指令以外的所有指令都可以在内核态执行。
在内核功能中,又分为两种,微内核包含的功能与大内核增加的功能,也就是说,微内核包含的一定是最重要的,比如时钟管理、中断处理、原语,是与硬件联系紧密的功能,而进程管理、 内存管理、文件管理、设备管理等则相对没那么重要,与硬件联系相对不紧密,所以在内核比较大的时候可以添加入这些功能。
进程管理对应CPU,内存管理对应内存,文件管理对应外存,设备管理对应IO设备,这几个内容正好对应操作系统的第二、三、四、五章。
(1)操作系统的概念
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
操作系统是计算机系统中最基本的系统软件,是硬件与用户之间的桥梁,可以简化对硬件的操作。
(2)操作系统的特征
1.并发性:两个或多个事件在同一时间间隔内发生。而并行性是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的工作。
2.共享性:资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。资源共享主要可分为互斥共享和同时访问两种方式。
并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件。
3.虚拟性:虚拟是指将一个物理上的实体变为若干逻辑上的对应物。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术称为虚拟技术。操作系统的虚拟技术可归纳为:时分复用技术,如虚拟处理器;空分复用技术,如虚拟存储器。
4.异步性:多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。
(3)操作系统的功能
1.处理机管理:在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。并发是指在计算机内同时运行多个进程,因此进程何时创建、何时撤销、如何管理、如何避免冲突、合理共享就是进程管理的最主要的任务。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。
2.存储器管理:存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。
3.文件管理:计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。
4.设备管理:设备管理的主要任务是完成用户的/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。
(4)操作系统的发展
1.手工操作阶段:此阶段无操作系统。
2.批处理阶段:为了解决人机矛盾及CPU 和I/O 设备之间速度不匹配的矛盾,出现了批处理系统。按发展历程又分为单道批处理系统(从始至终只完成一个作业)、多道批处理系统(并发执行多个作业,多道、宏观上并行、微观上串行)(多道程序设计技术出现以后)。
3.分时系统:将处理器的运行时间分成很短的时间片,按时间片轮流将处理器分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,将处理器让给其他作业使用,等待下一轮再继续运行。由于计算机速度很快,作业运行轮转得也很快,因此给每个用户的感觉就像是自己独占一台计算机。
4.实时系统:为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并在严格的时限内处理完接收的事件。实时操作系统的主要特点是及时性和可靠性。
5.网络操作系统和分布式计算机系统:网络操作系统将计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各台计算机之间数据的互相传送。分布式计算机系统是由多台计算机组成,系统中任意两台计算机通过通信方式交换信息;系统中的每台计算机都具有同等的地位,即没有主机也没有从机;每台计算机上的资源为所有用户共享;系统中的任意台计算机都可以构成一个子系统,并且还能重构;任何工作都可以分布在几台计算机上,由它们并行工作、协同完成。用于管理分布式计算机系统的操作系统称为分布式计算机系统。
分布式操作系统与网络操作系统的本质不同是,分布式操作系统中的若干计算机相互协同完成同一任务。
6.个人计算机操作系统:个人计算机操作系统是目前使用最广泛的操作系统,常见的有Windows、Linux 和 Mac OS等。
此外,还有嵌入式操作系统、服务器操作系统、智能手机操作系统等。
总的来看,操作系统的发展是循序渐进、不断弥补之前不足的,一开始是手工操作阶段,操作者直接操控硬件,操作者速度慢、处理机速度快,存在速度矛盾,总体执行速度慢且消耗人力,因此出现了早期操作系统单处理机单道批处理,可以缓解人与处理机之间的速度矛盾,但是每次只能执行一个作业,因此出现了单处理机多道批处理,可以并发执行多个作业,但是只能满足一个用户需求,因此出现分时系统可以满足多个用户的使用需求,交互性较强,但是实时性较差,因此出现实时系统及时性和可靠性较强,适用于对速度要求较高的系统,如军工系统、航天系统等,继而又出现网络操作系统、分布式操作系统满足大型计算需求,个人计算机操作系统满足个人需求。
(5)操作系统的引导
操作系统(如Windows、Linux 等)是一种程序,程序以数据的形式存放在硬盘中,而硬盘通常分为多个区,一台计算机中又可能有多个或多种外部存储设备。操作系统引导是指计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统,一环扣一环地完成上述过程。
常见操作系统的引导过程如下:
①激活 CPU。激活的 CPU 读取 ROM中的 boot 程序,将指令寄存器置为 BIOS(基本输入输出系统)的第一条指令,即开始执行BIOS的指令。
②硬件自检。BIOS 程序在内存最开始的空间构建中断向量表,接下来的 POST 过程要用到中断功能。然后进行通电自检,检查硬件是否出现故障。如有故障,主板会发出不同含义的蜂鸣,启动中止;如无故障,屏幕会显示CPU、内存、硬盘等信息。
③加载带有操作系统的硬盘。通电自检后,BIOS 开始读取 Boot Sequence(通过CMOS里保存的启动顺序,或者通过与用户交互的方式),将控制权交给启动顺序排在第一位的存储设备,然后 CPU 将该存储设备引导扇区的内容加载到内存中。
④加载主引导记录(MBR)。硬盘以特定的标识符区分引导硬盘和非引导硬盘。如果发现一个存储设备不是可引导盘,就检查下一个存储设备。如无其他启动设备,就会死机。主引导记录MBR 的作用是告诉 CPU 去硬盘的哪个主分区去找操作系统。
⑤扫描硬盘分区表,并加载硬盘活动分区。MBR 包含硬盘分区表,硬盘分区表以特定的标识符区分活动分区和非活动分区。主引导记录扫描硬盘分区表,进而识别含有操作系统的硬盘分区(活动分区)。找到硬盘活动分区后,开始加载硬盘活动分区,将控制权交给活动分区。
⑥加载分区引导记录(PBR)。读取活动分区的第一个扇区,这个扇区称为分区引导记录(PBR),其作用是寻找并激活分区根目录下用于引导操作系统的程序(启动管理器)。
⑦加载启动管理器。分区引导记录搜索活动分区中的启动管理器,加载启动管理器。
⑧加载操作系统。将操作系统的初始化程序加载到内存中执行。
(6)虚拟机
虚拟机是指利用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。有两类虚拟化方法。
第一类虚拟机管理程序就像一个操作系统,因为它是唯一一个运行在最高特权级的程序。它在裸机上运行并且具备多道程序功能。虚拟机管理程序向上层提供若干虚拟机,这些虚拟机是裸机硬件的精确复制品。由于每台虚拟机都与裸机相同,所以在不同的虚拟机上可以运行任何不同的操作系统。
第二类虚拟机管理程序是一个依赖于Windows、Linux 等操作系统分配和调度资源的程序,很像一个普通的进程。第二类虚拟机管理程序仍然伪装成具有CPU和各种设备的完整计算机。
有了虚拟技术,服务商提供租用虚拟机时,一台物理服务器就可以运行多个虚拟机,每个虚拟机看起来都是一台完整的服务器,客户可以在虚拟机上安装自己想用的操作系统和软件,但是只需支付较低的费用,这就是市面上常见的“云”主机。
写在后面
这个专栏主要是我在学习408真题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!!!
参考资料
[1]王道408教材(2025版)
[2]王道课程资料