【软考教程】操作系统知识

时间:2022-08-25 14:25:50
这几天的软考复习,一直在和“真正”的计算机打交道,对计算机又有了一次整体结构上的认识。正是因为它那强大而又丰富的硬件资源,使得这一章要学习的软件资源的重头戏——操作系统知识,也很是庞大。
【软考教程】操作系统知识
从第1章我们就知道了计算机的基本硬件由五个部件构成:运算器、处理器、存储器、输入和输出设备。而本章的操作系统的功能便可从这里讲起,对应着五个部件,便对应着五大功能。在这里,先有个宏观认识,至于每个管理,在后面都会有更加详细的整理。
【操作系统】
计算机系统中的软件极为丰富,通常分为应用软件和系统软件两大类。应用软件是指计算机用户利用计算机的软件、硬件资源为某一专门的应用目的而开发的软件。系统软件是计算机系统的一部分,由它支持应用软件的运行。而操作系统是计算机系统中必不可少的核心系统软件,其他软件是建立在操作系统的基础上,并在操作系统的统一管理和支持下运行,是用户和计算机之间的接口。
对操作系统的宏观知识主要包括以下三个方面:
1.2个重要作用:一是通过资源管理提高计算机系统的效率;二是改善人机界面向用户提供友好的工作环境。
2.4个特征:并发性、不确定性、共享性、虚拟性。
3.5个类型:从作业处理角度看,有批处理、分时和实时操作系统三类;从硬件结构角度看,有网络、分布式操作系统两类。
下面便深入了解操作系统功能即五大管理的知识:
【处理机管理】
处理机管理也称进程管理。进程是资源分配和独立运行的基本单位。
【软考教程】操作系统知识
程序、进程、线程,三个词,看起来相似,实际上是存在着很大的不同。进程是程序的一次执行,该程序可以和其他程序并行执行。进程通常是由程序、数据和进程控制块组成的。
由于在传统的进程的创建、撤销和切换中,系统需要付出较大的时空开销,所以引入线程。线程是进程中的一个实体,是被系统独立分配和调度的基本单位。线程可创建另一个线程,同一个进程中的多个线程可以并发执行。
进程一般有3种基本状态:运行、就绪和等待。这在我们自考中已经接触过,也算是很熟悉了,在这里就不在赘述了。除此之外,加入了一个新建和终止状态,便形成了软考教程中所描述的五态模型。
在多道程序环境的系统中存在多个可以并发执行的进程,故进程间必然存在资源共享和合作的问题。进程通信便是指各个进程交换信息的过程。
进程的互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
进程的同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。
PV操作在自考学习的时候是一片茫然的,也没好好看,通过这一次的软考学习,有种丰收的喜悦,做了些题目后,才发现PV操作原来是这么回事。抓住要点:P操作是申请资源,信号量减1,V操作是释放资源,信号量加1。
进程的调度算法在自考中也是很详细的学习了,看知识点的时候,便很容易就回想起来了。
【存储管理】
存储管理的对象是主存,也称内存。
存储管理的主要目的是解决多个用户使用主存的问题,其存储方案主要包括:分区、分页、分段、段页式和虚拟存储管理。
【设备管理】
设备管理是操作系统中最复杂而且与硬件紧密相关的部分。不仅要管理实际I/O操作设备(如打印机),还要管理诸如控制器和I/O处理机(通道)等支持设备。
【软考教程】操作系统知识
我把设备管理分为两个部分,一个是基本的概述,一个是缓冲技术,这样内容便很清晰了。主要是磁盘的调度算法部分,经常是让我们计算如果不采用优化分布时间多少,采用后时间又是多少。
【文件管理】
文件是日常生活中我们一直在接触的,对于它,我们只是一直都在使用,要说起它的结构、组织等,我想都道不明白吧。
但是在学习了数据结构后,发现文件的结构和它是一样一样的。
曾经在总结数据结构的时候,画过这样一张图:
【软考教程】操作系统知识
 而文件结构,也是分为逻辑结构和存储结构两类。
【软考教程】操作系统知识
这样就很容易想起文件的组织形式了。文件的目录也是一个值得关注的点。文件目录结构的组织方式直接影响到文件的存取速度。常见的目录结构有3种,对比如下:
【软考教程】操作系统知识
【作业管理】
作业是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和,所以,自己将其放在了系统的输入输出部分下的管理。
通常,可以采用脱机(无须人工干预)和联机(需要人工干预)两种控制方式控制用户作业的运行。作业状态分4种:提交、后备、执行和完成。至于作业的调度算法,在自考中也都做过题,比较简单。
【软考点点】
操作系统这部分的知识在自考中是有专门的一科学过的,所以在学习的过程中,不是第一次接触,接受起来也是比较容易的。
在软考的考试中,操作系统这部分并没有出现在大题中,之前的自考学习,各种算法都考过大题目,所以当时也是掌握了各种管理中出现的各种算法应该如何进行具体的计算,现在算是温习了一遍,做软考选择题的时候问题就不大了。
通过软考的这部分学习,自己最大的感受便是觉得知识更加系统化了,知识库处在是不断更新、不断积累的过程中,所以,知识间建立的联系也就更多了,并不仅仅是局限于这一部分的学习。