精华内容
下载资源
问答
  • 操作系统学习笔记
    千次阅读
    2021-12-19 11:03:00

    个人用书:操作系统教程 第五版 费翔林
    学习视频: 王道计算机考研 操作系统.

    操作系统概述

    操作系统的定义

    操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境。

    操作系统的四个特征

    !并发性和共享性互为存在条件

    1.并发

    指两个或多个事件在同一时间间隔发生。宏观上同时,微观上分时。

    注意,并发和并行是有区别的。
    单核cpu同一时刻只能执行一个程序,各个程序并发执行。多核cpu同一时刻可以同时处理多个程序,多个程序并行执行。

    2.共享

    资源共享,指计算机中的资源可以给内存中多个并发执行的进程共同使用。

    3.虚拟

    把一个物理上的实体变成若干个逻辑上的对应物。物理实体是实际存在,逻辑上的对应物是用户感受到的。(虚拟存储器技术,第三章重点讲解)

    4.异步

    多道程序环境下,允许多个程序并发执行,资源有限,进程是走走停停的。

    操作系统的几个阶段

    1.手工操作阶段

    缺点:用户独占全机,人机速度矛盾导致资源利用率低。

    2.批处理阶段

    (1)单道批处理系统

    磁带放入外围机,可以由程序监督程序的读取。

    监督程序负责作业的输入,输出。

    优点:缓解了一定程度的人机矛盾,但是利用率还是不够高。

    缺点:内存只能运行一道程序,cpu大量时间等待。

    (2)多道批处理系统(操作系统开始出现)

    每次读入多道程序,程序可以并发运行。

    优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,cpu大量时间忙碌,系统吞吐量大。

    缺点:用户响应时间长,没有人机交互功能。

    3.分时操作系统

    计算机以时间片为单位轮流为各个用户服务

    优点:用户请求可以及时响应,解决的了人机交互问题。允许多个用户同时使用一台计算机,感受不到别人的存在。

    缺点:不能优先处理紧急任务。

    4.实时操作系统

    优点:能优先响应一些紧急任务,某些任务不用排队。有及时性和可靠性。

    分为硬实时和软实时。

    硬实时

    导弹,自动驾驶等,必须在严格的规定时间内完成。

    软实时

    12306火车订票系统等,偶尔能违反时间规定。

    操作系统运行机制

    两种指令

    指令:cpu能识别,执行的最基本命令

    特权指令

    内核程序中:操作系统内核作为管理者,有时候会让cpu执行特权指令。如:内存清零

    非特权指令

    应用程序中:加减乘除等。

    两种处理器状态

    为了让cpu区别执行的是内核程序还是应用程序,cpu有一个程序状态寄存器(PSW)其中有个二进制位可以分辨。

    内核态:这个时候可以执行特权指令

    用户态:只能执行非特权指令

    当cpu处于用户态的时候遇到特权指令,会产生中断信号,立即变为内核态。处理完之后,cpu把使用权交给别的应用程序。

    中断和异常

    中断的作用

    “中断”是让操作系统内核夺回cpu使用权的唯一途径。

    内核——用户:执行一条特权指令,修改PSW的标志位为用户态,cpu主动让出使用权。

    用户——内核:由“中断”引发,硬件自动完成变态过程,夺回cpu使用权。

    中断的类型

    内中断(也称作异常):1.陷阱,陷入。 2.故障。3.终止。

    外中断(也称作中断):1.时钟中断。 2.i/o中断请求。

    几个例子:

    内:
    陷入指令:系统调用,应用程序执行陷入指令让cpu帮它完成一些工作。

    外:
    时钟中断——由时钟部件发来的中断信号。

    !要分辨是内中断还是外中断,只需要看是否和cpu执行的指令有关。

    中断机制基本原理

    不同信号,需要不同的中断处理程序来处理。

    系统调用

    操作系统作为用户和硬件之间的接口,需要向上提供一些简单易用的服务。包括了给用户使用的命令接口,GUI和给应用程序使用的程序接口。
    ###什么功能需要用到系统调用?
    应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源由操作系统统一保管。以下操作都是系统调用的方式完成。保证了系统的稳定性和安全性。

    1. 设备管理
    2. 文件管理
    3. 进程控制
    4. 进程通信
    5. 内存管理

    系统调用的过程

    传递参数(调用类型)——参数(其他参数)——陷入指令——执行请求的系统调用(转变为核心态完成)——返回应用程序

    更多相关内容
  • 操作系统学习笔记

    2015-12-17 16:19:43
    适合初学者,简单明了 第一章:保护模式下编程 第二章:进程 第三章:系统初始化等等
  • 操作系统学习笔记1

    2021-01-09 17:49:33
    #操作系统定义 1、控制程序 2、资源管理器 #操作系统的组成 1、内核:资源管理 2、GUI:所见即所得 3、Shell:命令行 #操作系统内核特征: 1、并发:OS对多个程序的管理和调度 2、共享:同时访问、互斥共享 3、虚拟...
  • B站王道操作系统学习笔记.pdf
  • 操作系统学习笔记(三)1
  • 王道操作系统系列视频学习笔记
  • 本文档是现代操作系统学习笔记,从厚重的书本中解放出来,简洁又清晰的学习现代操作系统
  • 操作系统学习笔记:操作系统基础知识

    千次阅读 多人点赞 2021-09-20 20:14:26
    操作系统的概念、功能和目标 概念(定义) 首先来一张图来看看计算机系统的层次结构: 可以看到的是,操作系统扮演这一个连接硬件和软件、用户的角色。 由此可以得出操作系统的定义: 操作系统(Operating System,...

    操作系统的概念、功能和目标

    概念(定义)

    首先来一张图来看看计算机系统的层次结构:

    在这里插入图片描述

    可以看到的是,操作系统扮演这一个连接硬件和软件、用户的角色。

    由此可以得出操作系统的定义

    操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件

    • 从中间往上下看,它控制和管理整个计算机系统的硬件和软件资源
    • 从上往下看,它提供给用户和其他软件方便的接口和环境
    • 从下往上看,它是计算机系统中最基本的系统软件,是最接近硬件的软件

    如果想要更直观的解释,我们可以打开任务管理器的界面:
    在这里插入图片描述

    这张图可以很直观的展示操作系统所干的事情。

    功能和目标

    首先结合上面操作系统的层次结构图,思考操作系统在以下三个方面的功能实现:

    • ①操作系统作为系统资源的管理者(这些资源包括软件、硬件、文件等),需要提供什么功能?
    • ②操作系统作为用户与计算机硬件之间的接口,要为其上层的用户、应用程序提供简单易用的服务,需要实现什么功能?
    • ③操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?

    这三个问题对应的层次如何所示:

    在这里插入图片描述

    补充知识

    • 进程:表示一个程序的执行过程。执行前需要将该程序放到内存中,才能被CPU处理

    首先解决第一个问题:操作系统作为资源的管理者,需要提供/实现哪些功能。

    我们拿QQ进行视频聊天的工作过程来讲解:

    使用QQ的第一步,是在各个文件夹中找到QQ安装的位置,操作系统将逐层打开文件夹,这一步涉及文件管理;第二步,就是运行QQ.exe,在这一步,操作系统会把该程序的相关数据放入到内存中,并决定放在内存中的位置,这一步涉及存储器管理(内存管理);第三步就是将QQ程序放入等待队列中,之后对应的进程将被放进处理机(CPU)中处理,这一步涉及处理机管理;最后一步,当我们需要打开摄像头跟朋友聊天的时候,操作系统会将摄像头设备分配给该进程,在摄像头使用完成后还要进行资源回收,这一步涉及设备管理。对于整个流程,操作系统必须保证这些行为都是安全高效

    总结如下图所示:
    在这里插入图片描述

    其次是第二个问题:操作系统作为用户与计算机硬件之间的接口,要为其上层的用户、应用程序提供简单易用的服务,需要实现什么功能。

    想要解决这一个问题,操作系统需要提供以下三个功能:

    • 命令接口:允许用户直接使用
    • 程序接口:允许用户通过程序间接使用
    • GUI:现代操作系统中最流行的图形用户接口

    命令接口和程序接口可以统称为用户接口,在考研当中,这两种功能经常考察

    以下是图示:

    在这里插入图片描述

    命令接口是允许用户直接使用的,其分为联机命令接口脱机命令接口

    其中,联机命令接口的特点是:用户说一句,系统做一句。而脱机命令接口的特点是:用户说一堆,系统做一堆

    下面拿两个例子来解释联机命令接口和脱机命令接口:

    例1:在Windows操作系统中,我们可以打开cmd窗口,输入time指令,窗口会返回当前系统时间,并且将操作权限返还给用户,用户随后可以设置一个新的时间。这就是一个典型的联机命令接口,或者叫交互式命令接口。

    例2:还是以Windows为例,使用Windows的搜索功能,在C盘中搜索并随便打开一个*.bat文件,可以看到里面编写着一系列的指令,文件本身就相当于一个指令清单,双击该文件,操作系统就会根据用户给出的这些一系列的指令,一条一条往下执行。这种就是典型的脱机命令接口实例,脱机命令接口也可以叫批处理命令接口

    聊完了命令接口,接下来我们聊聊程序接口。

    再拿Windows为例,我们在操作系统中能经常看见*.dll文件,例如C:\Windows\System32目录下的user32.dll,允许程序员在程序中调用该文件,实现创建窗口等功能。该功能不是由程序员实现的,而是通过程序员编写的程序进行调用,实现间接使用。详细的调用过程就是调用系统调用的过程(关于系统调用的相关概念将会在后面学习到)。

    程序接口就是由一组系统调用组成的,大部分情况可以认为程序接口=系统调用

    注意,系统调用也可以称为广义指令系统调用命令

    在这里插入图片描述

    图形用户界面这里不多赘述,其目标就是为了用户能够更加方便地操作计算机。

    最后我们聊聊第三个问题:操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能。

    在这一层面上看,操作系统需要实现的最主要功能就是实现对硬件及其的拓展。在没有任何软件支持的计算机(裸机)上安装的操作系统,要能够提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。

    如果把计算机比喻成锤子、钉子、木头,那么操作系统就应该是优秀的工匠,操作系统将这些简单的原料组织成房子、帆船、匹诺曹等等,普通用户就可以直接使用工匠提供的房子、帆船、匹诺曹,而无需关心这些东西在底层是怎么组织起来的。

    小结

    下面对知识进行总结:

    在这里插入图片描述

    其中需要以后重点掌握的是关于资源管理的四个小方面,以及系统调用的相关知识。

    操作系统的特征

    操作系统主要由四个特征:并发共享虚拟异步。其中并发和共享是操作系统两个最基本的特征,二者也互为存在条件

    并发

    并发是指两个或多个时间在同一时间间隔内发生,这些事件宏观上是同时发生的,但微观上是交替发生的。

    注意把并发跟并行区分,后者指两个或多个事件在同一时刻同时发生

    通常,一个单核处理机(CPU)同一时刻只能执行一个程序,操作系统在这里的职责就是负责协调多个程序交替执行。事实上,操作系统就是伴随着“多道程序技术”而出现的,可以说,操作系统和程序并发是一起诞生的。当然,现在的CPU一般都是多核CPU。

    共享

    共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

    共享有两种方式:互斥共享和同时共享。

    • 互斥共享是指系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
    • 同时共享是指系统中的某些资源,允许一个时间段内有多个进程”同时“对它们进行访问

    其实,同时共享中的”同时“,往往只能表示宏观层面,微观层面上这些进程可能是交替地进行对资源的访问(分时共享)

    下面拿两个案例来理解共享的两种方式:

    例1:使用QQ和微信进行视频聊天,同一时间段内摄像头只能分配给其中一个进程,这就是互斥共享;

    例2:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。这就是同时共享。

    关于并发和共享

    并发性指计算机系统中同时存在着多个运行着的程序。共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。

    通过下面这个例子来看并发与共享的关系:

    使用QQ发送文件A,同时使用微信发送文件B。

    1.两个进程正在并发执行(并发性)

    2.需要共享地访问硬盘资源(共享性)

    如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义;如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。

    虚拟

    虚拟是指把一个物理上的实体变为若干个逻辑上的对应物,前者(物理实体)是实际存在的,后者(逻辑对应物)是用户感受到的。

    下面用一个例子来理解虚拟:

    通过之前的学习我们知道,一个程序需要放入内存并给他分配CPU才能执行。假如说GTA5需要4GB的运行内存,QQ需要256MB的运行内存,网易云也需要256MB的运行内存,而我的电脑只有4GB的内存,但是却可以同时运行以上程序。问题来了:以上程序同时运行所需内存已经大于4GB了,为什么它们还可以同时运行在电脑上呢?原因就是操作系统采用了虚拟存储器技术。

    虚拟存储器技术其实就是虚拟技术中的”空分复用技术“,对于这个概念,这里只需了解,会在后续学习过程进行学习。

    再来一个例子:

    在一台单核CPU中,用户可以打开QQ、Chrome、QQ音乐等程序。一个程序需要被分配CPU才能运行,而单核CPU却能在电脑中同时运行多个程序,背后其实就是运用了虚拟处理器技术。

    虚拟处理器技术就是虚拟技术中典型的”时分复用技术“,在微观层面上处理机会在各个微小的时间段内交替着为各个进程服务。

    当然,虚拟往往也伴随着并发。

    异步

    异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

    这里拿一个老渣与两个女孩约会的例子来解释异步:

    在这里插入图片描述

    加入两个女孩都给老渣下达了两道命令,同时要求老渣陪其吃饭和把心给她,而老渣的心和老渣的人都只有一个,假如一开始跟一号吃饭,之后一号和二号同时要求老渣把心给她,那么老渣将有两种选择,所以会有不同的约会过程。

    老渣与与一号、二号的约会相当于对两个进程的处理,每个进程都有各自需要执行的指令。老渣的心相当于有限的系统资源。由于可分配的资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。

    显然,如果失去了并发性,那么系统只能串行的处理每个进程,每个进程的执行会一贯到底,所以,只有系统拥有并发性,才可能导致异步性。

    小结

    下面对知识进行总结:

    在这里插入图片描述

    重要考点:

    • 理解并发和并行的区别
    • 并发和共享互为存在条件
    • 没有并发和共享,就谈不,上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征

    操作系统的发展和分类

    手工操作阶段

    计算机刚被发明的时代的操作方式,那时并没有操作系统,程序员编写程序需要通过打孔机对纸带进行打孔,通过打孔与否区别二进制的1和0。机器读取纸带中的信息,并将其输入到计算机当中,计算机进行运算过后,CPU会将内存中的结果,操控机器对纸带打孔,进行结果输出。

    在这里插入图片描述

    主要缺点:用户独占主机、人机速度矛盾导致资源利用率极低

    批处理阶段

    单道批处理系统

    为了解决手工操作阶段暴露出的问题,人们引入了脱机输入/输出技术(用磁带完成),并使用**监督程序(操作系统雏形)**负责控制作业的输入、输出。

    程序员会事先将程序编写到纸带上,然后通过专门的外围控制机,把纸带机上的纸带的数据读到一个速度更快的磁带上,之后计算机直接从磁带上读取程序并处理,处理的结果将重新输送到磁带上,再通过外围控制机将结果输出到纸带上。

    在这里插入图片描述

    主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升。

    主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一-道程序。CPU有大量的时间是在空闲等待I/0完成。资源利用率依然很低。

    多道批处理系统

    为了解决单道批处理系统所暴露的问题,人们发明了多道批处理系统。

    用户还是利用磁带将程序输入到计算机中,但是每次的传输将往内存传入多道程序,这些程序将在计算机中并发地执行。这个时候,操作系统正式诞生,并且引入了中断技术,由操作系统负责管理这些程序的运行。
    在这里插入图片描述

    主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU和其他资源保持“忙碌”状态,系统吞吐量增大。

    主要缺点:用户响应时间长,没有人机交互功能,用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业执行。

    可以看到,并发和共享两大特性自操作系统诞生时就已存在

    两者的比较

    拿个例子来说明多道批处理系统相对于单道批处理系统,资源利用率为什么会大幅度提升。

    假设计算机需要处理三个作业:

    作业一:输入1秒,计算1秒,输出1秒
    作业二:输入1秒,计算1秒,输出1秒
    作业三:输入1秒,计算1秒,输出1秒

    若采用单道批处理技术:

    在这里插入图片描述

    采用多道批处理技术:

    在这里插入图片描述

    上诉两种比较很好的说明了单道批处理和多道批处理的区别,同时也要记住,操作系统的出现是在多道批处理阶段

    分时操作系统

    为了提供人机交互能力,人们发明了分时操作系统。计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。

    比如时间片为50ms,那么计算机为一个用户服务50ms之后就会处理为下一个用户服务。在这50ms当中,用户都可以通过终端跟计算机进行交互。

    在这里插入图片描述

    主要优点:用户请求可以在对应的时间片内被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
    主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。

    实时操作系统

    由于分时操作系统无法即使处理紧急任务的局限性,导致它无法被用于一些特别的场景,比如武器控制系统。所以人们发明了实时操作系统。在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。该系统的特点时及时性可靠性

    实时操作系统主要分为硬实时系统软实时系统

    • 硬实时系统要求必须在绝对严格的规定时间内完成处理,如导弹控制系统、自动驾驶系统。
    • 软实时系统规定能接收偶尔违反时间规定,如12306火车订票系统

    主要优点:能够优先响应一些紧急任务,某些紧急任务不需要时间片排队。

    其他操作系统

    网络操作系统

    伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如Windows NT就是一种典型的网络操作系统,网站服务器就可以使用)

    分布式操作系统

    主要特点时分布性和并行性。系统中的和泰计算机地位相同,任何工作都可以分布在这些计算机上,由他们并行、协同完成这个任务。

    个人计算机操作系统

    如Windows XP、MacOS,方便个人使用

    小结

    在这里插入图片描述

    绿框部分是考研重点内容,整体重点理解各阶段的优点和缺点,各阶段的主要优点其实都是解决了上一阶段的主要缺点。

    操作系统的运行机制与体系结构

    运行机制

    两种指令

    在将指令的类别之前,我们先来认识什么叫指令:

    简单点来说,指令就是处理器(CPU)能识别、执行的最基本命令。

    一条高级语言的代码翻译过来可能会对应多条指令:

    在这里插入图片描述

    有的指令”人畜无害“,比如加减乘除这些普通的指令;有的指令拥有很高的权限,比如内存清零指令。如果操作系统允许任意的用户程序都可以无差别地使用系统指令,那么就意味着一个用户可以将其他用户地内存数据随意清零,这样做显然是不符合安全规范地。

    为了解决上述问题,我们需要将指令划分为两种类别,并对权限加以区分:

    • 特权指令:如内存清零指令,这类指令拥有很高的权限,不允许用户程序使用
    • 非特权指令:如普通的运算指令,允许用户程序使用
    两种处理器状态

    上面我们说到指令分为两种,随之而来的有一个新问题,CPU如何判断当前是否可以执行特权指令?

    为此,我们将处理器状态划分为两种:

    • 用户态(目态):如果CPU处于用户态,那么此时CPU只能执行非特权指令
    • 核心态(管态):如果CPU处于核心态,那么CPU特权指令和非特权指令都可以执行

    在系统中使用程序状态寄存器(PSW)中的某标志位来表示当前处理器处于什么状态。

    两种程序

    对于程序而言,有些程序可以同时使用非特权指令和特权指令,而有的程序只能只用非特权指令。根据程序所能使用指令级别的不同,我们把程序分为两种:

    • 内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,又可以执行非特权指令,运行在核心态
    • 应用程序:只能执行非特权指令,运行在用户态
    小结

    在这里插入图片描述

    操作系统内核

    内核功能细分

    在我们安装完计算机的时候,可以发现操作系统给我们提供了多种多样的功能,比如“记事本”、”任务管理器“等等。然而,有些功能看起来并不是必不可少的,就像没有“任务管理器”,我们仍然可以使用计算机。可见,计算机内部的功能结构,也由核心与非核心之称。

    再来看之前的操作系统层次结构,这次我们把它再细分:

    在这里插入图片描述

    操作系统的功能分为内核功能非内核功能。其中内核是我们比较关注的,它是计算机上配置的底层软件,是操作系统最基本、最核心的部分。

    实现操作系统内核功能的那些程序就是内核程序

    内核主要分为两部分,一部分是对系统资源进行管理的功能,主要包括进程管理、存储器管理、设备管理等功能;另一部分主要包括时钟管理(实现计时功能)、中断处理、原语(一种特殊程序,是最接近硬件的部分,这种程序的运行具有原子性,涵括设备驱动、CPU切换等)

    原子性是指一但操作就必须执行完成,不可中断,否则回到执行之前的状态。

    小结

    在这里插入图片描述

    操作系统的体系结构

    上面我们说到操作系统有内核与非内核之分。

    需要注意的是:有些操作系统并没有把对系统资源进行管理的功能归为“内核功能”,也就是说,不同的操作系统对内核的划分并不严格一致。通常可以把内核包含了上述功能体系结构的称为大内核,内核没有把上述功能划分在内的体系结构称为微内核

    它们俩的区别:
    在这里插入图片描述

    操作系统的体系结构问题与企业的管理问题很相似:

    内核就是企业的管理层,负责一些重要的工作。只有管理层才能执行特权指令,普通员工只能执行非特权指令用户态核心态之间的切换相当于普通员工和管理层之间的工作交接大内核就相当于企业初创时体量不大,管理层的人会负责大部分的事情。优点是效率高;缺点是组织结构混乱,难以维护。微内核就相当于随着企业体量越来越大,管理层只负责最核心的一-些工作。优点是组织结构清晰,方便维护;缺点是效率低。

    小结

    在这里插入图片描述

    需要注意的是,操作系统体系结构之间的差别可能做作为选择题进行考察。

    中断和异常

    中断机制的诞生

    早期的计算机是采用串行机制处理程序的,一个程序进入计算机运行结束之后,只有等待I/O程序将结果输出,才能读取运行下一个程序:

    在这里插入图片描述

    这种方式的缺点显而易见:各程序只能穿行执行、资源利用率极低。

    为了解决上述问题,人们发明了操作系统(作为计算机的管理者),同时引入了中断机制,实现了多道程序并发执行(多道批处理阶段)。
    在这里插入图片描述

    中断的本质:发生中断就意味着需要操作系统介入开展管理工作

    中断的概念和作用

    中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

    下面说说中断机制运行的例子:

    假如计算机中有三个进程,进程一运行过程中,CPU可能受到计时部件发出的中断信号(例如过了一个时间片),此时就意味着需要操作系统的介入,因此CPU的状态将切换到核心态,对中断进行处理;此时CPU的权限会移交给操作系统,操作系统的内核负责对中断信号进行处理。此时操作系统发现刚才的中断是表明进程一的时间片已用完,所以切换到进程2执行;之后操作系统会将CPU的使用权交还给用户进程,之后进程二就会在用户态下开始执行。

    假如进程二发出系统调用(内中断信号),请求输出数据,此时CPU的状态将切换到核心态,同时移交权限给操作系统,操作系统内核再次负责对中断信号的处理,并要求打印机要是工作,此时进程二暂停运行等待I/O完成,换进程三运行,此时CPU状态返回用户态。等到I/O完成,设备向CPU发出中断信号,CPU接收到I/O设备发来的而中断信号,切换到核心态对中断进程处理。操作系统内核再次对中断信号进程处理,此时因为进程2的I/O已经完成,所以操作系统会让进程二恢复运行,以完成后续工作。

    从上面的例子我们不难发现中断有三个特点:

    • 当中断发生时,CPU立即进入核心态
    • 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
    • 对于不同的中断信号,会进行不同的处理

    发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态中断可以使CPU从用户态切换为核心态使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行

    需要注意的是,中断是CPU从用户态切换到核心态的唯一途径,核心态切换用户态只需要通过执行一个特权指令,将PSW的标志位设置为表示“用户态”的标志位

    中断的分类

    中断主要分为内中断外中断,内中断也称为异常、例外、陷入,外中断可以简称为中断(狭义上的中断就是指外中断)。

    这两种中断的区分主要根据信号的来源是CPU的内部还是外部,内中断与当前执行的指令有关,外中断与当前执行的指令无关。

    内外中断还有下面的细分:

    在这里插入图片描述

    指令中断如:系统调用时使用的访管指令。硬件故障如:缺页。软件中断如:整数除0。

    外设请求如:I/O操作完成发出的中断信号。人工干预如:用户强行终止有个进程。

    当然,有些书上也把中断做如下的细分:

    在这里插入图片描述

    但其实上面两种分类都是一样的,陷入值得就是有意为之的异常,比如系统调用;故障就是指由错误条件引起的,可能被故障处理程序修复,如缺页;终止就是无可恢复的致命错误造成的结果,终止处理程序不再将控制返回给引发终止的应用程序,如整数除0。

    外中断的处理过程

    下面拿一个案例来讲解外中断的处理过程:

    假如CPU正在执行某一个程序,这个程序有n条指令。CPU会按照顺序依次执行这些指令。并且它会遵循下面的步骤:

    1、在执行完每个指令之后,CPU都要检查当前是否有外部中断信号

    在这里插入图片描述

    2、如果没有检测到中断信号,则继续执行下一条指令;如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)

    在这里插入图片描述

    3、根据中断信号类型转入相应的中断处理程序

    在这里插入图片描述

    4、恢复原进程的CPU环境并退出中断,返回原进程继续往下执行

    小结

    在这里插入图片描述

    其中,中断的概念和作用、中断的分类是考研的考点

    系统调用

    概念

    之前在介绍操作系统的概念时说到过操作系统在三个层次上应该实现的功能和目标,其中提到过在向用户提供一些简单易用的服务时,主要实现包括命令接口和程序接口,而程序接口就是由一组系统调用组成的。

    在这里插入图片描述

    系统调用是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务

    系统调用所解决的问题就是禁止多个进程随机调用计算机资源,转而由进程本身运行时只能通过系统调用的方式向操作系统发出请求,最后再由操作系统对哥哥请求进行协调管理。

    如果要来个官方一点的解释,那么应该这么说:应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作( 如存储分配、I/0操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

    下面是系统调用的具体分类:

    在这里插入图片描述

    主要注意到的是:系统调用一般涉及对系统资源的管理、对进程的控制,而这些功能一般都是需要执行一些特权指令才能完成的,因此系统调用的相关处理需要在核心态下进行。

    系统调用与库函数的区别

    上面说过系统调用可以理解为是一种可供应用程序调用的特殊函数,但是它并不等同于我们开发过程中使用到的库函数。

    实际上,编写程序时可以通过汇编语言直接调用系统调用,也可以通过高级变成语言来实现相同的结果i,而平常我们所接触到的库函数,像C库这种其实也是在内部实现对系统调用的请求:

    在这里插入图片描述

    当然,不是所有的库函数都会使用到系统调用,比如“取绝对值”;判断库函数是否使用系统调用,可以通过是否涉及对计算机共享资源的操作进行简单判断

    系统调用背后的过程

    对于系统调用的过程,可以看下面这张图进行简单的理解:

    在这里插入图片描述

    这里的int指令的参数x指明了系统调用号(操作系统根据这个来进行系统调用),此处的int不是整形的意思,而是interrupt(中断)的缩写

    当执行了陷入指令之后(用户态,进行系统调用请求,引发内中断),CPU的控制权就被转交给操作系统(核心态),操作系统通过相应的系统调用对程序传入的参数进行处理,系统调用完成后又会返回之前的用户程序,继续执行下一条指令。可以概括成下面的过程:

    传递系统调用参数->执行陷入指令(用户态)->执行系统调用相应服务程序(核心态)->返回用户程序

    需要注意的是:陷入指令是唯一一个只能在用户态执行,而不可在核心态执行的指令

    小结

    在这里插入图片描述

    展开全文
  • 操作系统 操作系统学习笔记
  • 操作系统学习笔记——第一讲——导论(1.1什么是操作系统).pdf
  • Ubuntu操作系统学习笔记之vsftpd的安装.pdf
  • Ubuntu操作系统学习笔记之-----文件基本操作管理.pdf
  • 操作系统学习笔记——第三讲——进程(3.3进程通信).pdf
  • 操作系统学习笔记

    2018-08-04 21:45:03
    《计算机操作系统》课程适用于计算机科学、软件工程、电子工程、通信工程、自动控制等信息技术...学习者能够认知操作系统的基本概念与实现原理,并深入理解操作系统的设计方法与实现技术。本压缩包是老师所讲ppt的总结
  • 8.3 分页内存管理 1、由连续分配方式发展为分页存储管理方式的主要动力是()。...操作系统 B.存储管理的查表程序 C.硬件 D.存储管理进程 3、在页式存储管理中,块内位移量等于页内位移量是因为()。C...

    8.3 分页内存管理

    1、由连续分配方式发展为分页存储管理方式的主要动力是()。A
    A.提高内存利用率
    B.提高系统吞吐量
    C.满足用户的需要
    D.更好的满足多道程序运行的需要

    2、在页式存储管理中,当CPU形成一个有效地址时,要查页表。这一工作是由( )实现的。C
    A.操作系统
    B.存储管理的查表程序
    C.硬件
    D.存储管理进程

    3、在页式存储管理中,块内位移量等于页内位移量是因为()。C
    A.页和块的大小都是2的整数次方
    B.一页是装入内存的连续空间内的
    C.页和块的大小相等
    D.页和块的大小不等

    4、分页内存管理方案允许进程中每个页内的物理地址不连续。×

    解释:外碎片才允许物理地址非连续,而外碎片则是页与页之间产生;内碎片才是页内产生。
    在这里插入图片描述

    5、物理内存分成大小固定的页。×

    解释:物理内存是分为帧,逻辑地址分为页。

    8.4 页表结构

    1、一个系统的页面大小为1KB,每个页表项4个字节,则采用单级页表时一个进程最大为()。B
    A.4MB
    B.256KB
    C.1MB
    D.512MB

    解释:页面一共为1KB,一共页表项就占了4个字节(2的2次方),当一个进程最大,占了整个页面:1KB/4字节=2的10次方/2的2次方=2的8次方=256KB

    2、假如没有TLB的介入,一个两级32位分页结构的地址转换机制,访问内存中的一个字节数据需要访问内存()次。C
    A.1
    B.2
    C.3
    D.4

    3、在分页系统中,对于大进程的页表解决方法有()。ABC
    A.层次页表
    B.哈希页表
    C.反向页表
    D.单级页表

    4、页表的作用仅仅是实现逻辑地址到物理地址的映射。×

    5、反向页表适用于进程较多的系统。

    8.5 分段内存管理

    1、 在段式存储管理中,一个段是一个( )区域。B
    A.定长的连续
    B.不定长的连续
    C.定长的不连续
    D.不定长的不连续

    2、段页式内存管理中,物理内存本质上是()的。B
    A.分段
    B.分页
    C.段页
    D.这三个都不是

    3、分段管理的突出的优点有()。ACD
    A.可以实现有意义的共享
    B.用户可以使用覆盖技术
    C.方便地址转换
    D.程序不需要连续的内存

    4、段式和页式存储管理的地址结构很类似,但是他们之间有实质上的不同,表现为( )。ABCD
    A.页式的逻辑地址是连续的,段式的逻辑地址可以不连续
    B.页式的地址是一维的,段式的地址是二维的
    C.分页是操作系统进行,分段是用户确定
    D.各页可以分散存放在主存,每段必须占用连续的主存空间

    5、分段逻辑地址由一个有序对组成:<段号, 偏移>。

    8.6 内存扩容技术

    1、在存储管理中,采用覆盖与交换技术的目的是()A
    A.减少程序占用的主存空间
    B.物理上扩充主存容量
    C.提高CPU效率
    D.代码在主存中共享

    2、常用的“扩充”内存技术有()。ABCD
    A.紧缩
    B.交换
    C.覆盖
    D.虚拟存储器

    解释:在这里插入图片描述

    3、交换时机选择的策略有()。AD
    A.进程只要不用或者很少再用的就换出
    B.大进程换出
    C.申请资源多进程换出
    D.内存空间不够或有不够的危险时启动交换程序换出

    解释:在这里插入图片描述

    4、采用覆盖技术需要操作系统的支持。×

    解释:在这里插入图片描述

    5、交换技术的一个问题是交换的过程需要I/O支持。

    展开全文
  • 计算机操作系统学习笔记 第一章、操作系统概论

    万次阅读 多人点赞 2022-04-03 10:42:37
    详细介绍了计算机系统概论,带大家入门计算机操作系统

    1 操作系统的基本概念

    1.1 操作系统的概念

    计算机系统自下而上可大致分为4部分:硬件、操作系统、应用程序和用户。而操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介。在计算机系统的运行过程中,操作系统提供了正确使用这些资源的方法。

    计算机系统层次结构

    综上所述,**操作系统(Operating System, OS):**是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织、调度计算机的工作和资源分配,以提供给用户和其他软件方便的接口和环境的软件集合;它是计算机系统中最基本的系统软件。

    1.2 操作系统的特征

    操作系统的基本特征包括**并发、共享、虚拟和异步。**这些概念对理解和掌握操作系统的核心至关重要。

    操作系统的特征

    1. 并发(Concurrence)

      并发是指两个或多个时间在同一时间间隔内发生。操作系统的并发性则是指计算机系统中同时存在多个运行的程序,因此具有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的就是为了使程序能并发执行。

      注意同一时间间隔(并发)和同一时刻(并行)的区别。在多道程序环境下,一段时间内,宏观上有多道程序在同时执行,而在每个时刻,单处理机环境下实际仅能有一道程序执行,因此微观上这些程序仍是分时交替执行的。操作系统的并发性使通过分时得以实现的。注意,并行性是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的工作。并行性需要有相关硬件的支持,如多流水线或多处理机硬件环境。

      我们可以以一个现实生活中的直观例子来认识并发和并行的区别。例如,如果你在9:00~9:10仅吃面包,在9:00~9:20仅写字,在9:20~9:30仅吃面包,在9:30~10:00仅写字,那么在9:00~10:00吃面包和写字这两种行为就是并发执行的;那如果你在9:00~10:00左手吃面包,右手同时写字,那么这两个动作就是并行执行的。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GraQ43K1-1648953737438)(https://raw.githubusercontent.com/unique-pure/PicLibrary/main/img/image-20220310114448354.png)]

    2. 共享(Sharing)

      资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为以下两种资源共享方式。

      (1)互斥共享方式:系统中的某些资源,如打印机、磁带机等,虽然可供多个进程使用,但为使得所打印或记录的结果不一致造成混淆,应规定在一段时间内只允许一个进程访问该资源。为此,当进程A访问某个资源时,必须先提出请求,若此时该资源空闲,则系统将之分配给进程A使用,此后若有其他进程也要访问资源时(只要A未用完)就必须等待。仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问。我们把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为**临界资源。**计算机系统中的大多数物理设备以及某些软件中所用的栈、变量和表格,都属于临界资源,它们都要求被互斥地共享。

      (2)同时访问方式:系统中还有一类资源,这类资源允许在一段时间内由多个进程“同时”访问。这里说的“同时”通常是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问即“分时共享”的。可供多个进程“同时”访问的典型资源就是磁盘设备,一些用重入码编写的文件也可以被“同时”共享,即允许若干个用户同时访问该文件。

      注意,互斥共享要求一种资源在一段时间内只满足一个请求,否则就会出现严重的问题,而同时访问共享通常要求一个请求分几个时间片段间隔地完成,其效果与连续完成效果相同。

      实例

      并发和共享是操作系统两个最基本的特征,两者互为存在的条件:①资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题;②若系统不能对资源共享实施有效的管理,则必将影响到程序并发执行,甚至根本无法并发执行。

    3. 虚拟(Virtual)

      虚拟是指把一个物理上的实体变为若干逻辑上的对应物。物理实体(前者)是实的,是实际存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术,称为虚拟技术。操作系统中利用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等。

      虚拟处理器技术是通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器的。此时,虽然只有一个处理器,但它能为多个用户服务,使每个终端用户都感觉有一个中央处理器(CPU)在专门为他服务。利用多道程序设计技术把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟处理器。

      操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时复用;空分复用技术,如虚拟存储器。

    4. 异步(Asynchronism)

      多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。

      异步性使得操作系统运行在一种随机环境下,可能导致进程产生与时间有关的错误,就像对全局变量的访问顺序不当会导致程序出错一样。然而,只要运行环境相同,操作系统就须保证多次运行进程后都能获得相同的结果。

    1.3 操作系统的目标和功能

    为了给多道程序提供良好的运行环境,操作系统应具有以下几方面的功能:处理机管理、存储器管理、设备管理和文件管理。为了方便用户使用操作系统,还必须向用户提供接口。同时操作系统可用来扩充机器,以提供更方便的服务、更高的资源利用率。

    我们用一个直观的例子来理解这种情况,假设用户是雇主,操作系统是工人(用来操作机器),计算机是机器(由处理机、存储器、设备、文件几个部件构成),工人有熟练的技能,能够控制和协调各个部件的工作,这就是操作系统对资源的管理;同时,工人必须接收雇主的命令,这就是“接口”;有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”。

    1. 操作系统作为计算机系统资源的管理者

      (1)处理机管理:在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。 进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等

      (2)存储器管理:存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。

      (3)文件管理:计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等

      (4)设备管理:设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。

      这些工作都由“工人”负责,“雇主”无须关注。

    2. 操作系统作为用户与计算机硬件系统之间的接口

      操作系统提供的接口主要分为两类:一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口,编程人员可以使用它们来请求操作系统服务

      (1)命令接口: 使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。联机命令接口又称交互式命令接口,适用于分时或实时系统的接口,它由一组键盘操作命令组成。可以理解为:“雇主”说一句话,“工人”做一件事,并做出反馈,这就强调了交互性。脱机命令接口又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。可以理解为:“雇主”把要“工人”做的事写在清单上,“工人”按照清单命令逐条完成这些事,这就是批处理。

      (2)程序接口程序接口由一组系统调用(也称广义指令)组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。严格来说,图形接口并不是操作系统的一部分,但图形接口所调用的系统调用命令是操作系统的一部分。

    3. 操作系统实现了对计算机资源的扩充

      没有任何软件支持的计算机称为裸机。它仅构成计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。裸机在里面,其外面是操作系统。操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器;因此,我们通常把覆盖了软件的机器称为扩充机器或虚拟机。

      “工人”操作机器,机器就有了更大的作用,于是“工人”便成了“扩充机器”。

    1.4 综合应用题

    1. 说明库函数与系统调用的区别和联系。

      库函数是语言或应用程序的一部分,可以运行在用户空间中。而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,而且许多库函数都会使用系统调用来实现功能。未使用系统调用的库函数,其执行效率通常要比系统调用的高。因为使用系统调用时,需要上下文的切换及状态的转换(由用户态转向和心态)。

      系统调用和库函数的区别**

    2 操作系统发展历程

    2.1 手工操作阶段(此阶段无操作系统)

    用户在计算机上算题的所有操作都需要人工干预。突出的两个缺点为:用户独占全机,虽然不会出现因资源已被其他用户占用而等待的现象,但资源利用率低;CPU等待手工操作,CPU的利用不充分。

    唯一解决办法:用高速的机器代替相对较慢的手工操作来对作业进行控制。

    2.2 批处理阶段(操作系统开始出现)

    为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,出现了批处理系统。按发展历程又分为单道批处理系统、多道批处理系统(多道程序设计技术出现以后)。

    1. 单道批处理系统

      系统对作业的处理是成批进行的,但内存中始终保持一道作业。主要特征有:

      • 自动性。在顺利的情况下,磁带上的一批作业能自动地逐个运行,而无须人工干预。
      • 顺序性。各道作业完成顺序与它们进入内存的顺序在正常情况下应该完全相同。
      • 单道性。内存中仅有一道程序运行,即监督程序每次从磁带上只调入程序进入内存运行。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wGQzs8gK-1648953737443)(https://raw.githubusercontent.com/unique-pure/PicLibrary/main/img/image-20220310212131764.png)]

      面临的主要问题:每次主机内存只能放入一道作业,每当它在运行期间发出I/O请求后,高速的CPU便处于等待低速的I/O完成的状态。为了进一步提高资源的利用率和系统的吞吐量,引入了多道程序技术。

    2. 多道批处理系统

      多道程序设计技术允许多个程序同时进入内存并允许它们在CPU中交替地运行,这些程序共享系统中的各种硬/软件资源。例如当一道程序因I/O请求而暂定运行时,CPU便立即转去运行另一道程序。

      当然,多道批处理系统的设计与实现要比单道系统复杂很多,因为要充分利用各种资源,就涉及到各种资源的调度问题。主要特征有:

      • 多道。计算机中同时存放多道相互独立的程序。
      • 宏观上并行。同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕。
      • 微观上串行。内存中的多道程序轮流占有CPU,交替执行。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-95zSJp37-1648953737444)(https://raw.githubusercontent.com/unique-pure/PicLibrary/main/img/image-20220313194845432.png)]

      在批处理系统中采用多道程序设计技术就形成了多道批处理操作系统。该系统把用户提交的作业成批地 送入计算机内存,然后由作业调度程序自由地选择作业运行。

    3. 分时操作系统

      所谓分时技术,是指把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分给各联机作业使用。若某个作业在分配给它的时间片内不能完成计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。

      分时操作系统是指多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。分时系统也是支持多道程序设计的系统,但它不同于多道批处理系统。多道批处理是实现作业自动控制而无须人工干预的系统,而分时系统是实现人机交互的系统,这使得分时系统具有与批处理系统不同的特征。主要特征有:

      • 同时性。也称多路性。指允许多个终端用户同时使用一台计算机。
      • 交互性。用户能够方便地与系统进行人机对话。
      • 独立性。系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感受不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样。
      • 及时性。用户请求能在很短时间内获得相应(时间片轮转方式)。

    4. 实时操作系统

      为了能在某个时间限制内完成一些紧急任务而不需要时间片排队,诞生了实时操作系统。在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并在严格的时限内处理完接收的事件。其主要特点是及时性和可靠性,但交互性不如分时系统

      实时系统情况分类

    5. 网络操作系统和

      网络操作系统:是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如:Windows NT 就是一种典型的网络操作系统,网站服务器就可以使用)

    6. 分布式操作系统

      主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。

    7. 个人计算机操作系统

      目前使用最广泛的操作系统。常见的有Windows、Linux和Macintosh等。

    3 操作系统运行环境

    3.1 处理器运行模式

    计算机系统中,通常CPU执行两种不同性质的程序:操作系统内核程序(或简称内核,内核是操作系统中最重要最核心的部分,也是最接近硬件的部分。Docker仅需Linux内核)和用户自编程序(即系统外层的应用程序,或简称“应用程序”)。对操作系统而言,这两种程序的作用不同,前者是后者的管理者,因此“管理程序”(即内核程序)要执行一些特权指令,而“被管理程序”(即用户自编程序)处于安全考虑不能执行这些指令。

    • 特权指令,是指不允许用户直接使用的指令。如I/O指令、置中断指令等。
    • 非特权指令,是指允许用户直接使用的指令,它不能直接访问系统中的软硬件资源,仅限于访问用户的地址空间,这也是为了防止用户程序对系统造成破坏。

    在具体实现上,将CPU的运行模式划分为用户态(目态)和核心态(又称管态、内核态)。处于用户态时,说明正在运行的是应用程序,此时只能执行非特权指令;处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令。

    这个区分根据CPU中的一个寄存器:程序状态字寄存器(PSW),其中有一个二进制位,1表示“内核态”,0表示“用户态”。

    内核态 -> 用户态:执行一条特权指令—修改PSW的标志位为“用户态”,这个动作意味着操作系统

    将主动让出CPU使用权。

    用户态->内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺

    回CPU的使用权。

    3.2 中断和异常的概念

    由于系统不允许用户程序实现核心态的功能,而它们又必须使用这些功能。那么需要在核心态上建立一些“门”,以便用户态进入核心态。“中断”是让操作系统内核夺回CPU使用权的唯一途径,如果没有“中断”机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序。

    中断的分类

    中断机制的基本原理

    3.3 系统调用

    所谓系统调用,是指用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序。

    系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、进行I/O传输及管理文件等),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。

    系统调用分类

    4 操作系统结构

    4.1 分层法

    分层法将操作系统分为若干层,其中最底层(层0)为硬件,最高层(层N)为用户接口,每层只能调用紧邻它的低层的功能和服务(单向依赖)。

    4.2 模块化

    模块化将操作系统按功能划分为若干具有独立性的模块。每个模块具有某方面的管理功能,并规定好各模块间的接口,使各模块之间能够通过接口进行通信。这种设计方法被称为模块—接口法。

    4.3 宏内核和微内核

    从操作系统的内核来划分,可以分为宏内核(也称单内核或大内核)和微内核。

    宏内核是指将系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为用户程序提供高性能的系统服务。因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。

    而微内核是指将内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低内核的设计复杂性。那些移出内核的操作系统代码根据分层的原理被划分成若干服务程序,它们的执行相互独立,交互则都借助于微内核进行通信。

    4.4 操作系统引导过程

    操作系统是一种程序,程序以数据的形式存放在硬盘中,通常分为多个区,一台计算机中又有多个或多种外部存储设备。操作系统引导是指计算机利用CPU运行特定程序,通过程序识别硬盘,识别磁盘分区,识别磁盘分区上的操作系统,最后通过程序启动操作系统,一环扣一环地完成上述过程。

    1. 激活CPU。激活的CPU读取ROM的boot程序,将指令寄存器置为BIOS的第一条指令,即开始执行BIOS的指令。
    2. 硬件自检。启动BIOS程序后,先进行硬件自检,检查硬件是否出现故障。如有故障,主板会发出不同含义的蜂鸣,启动终止;如无故障,屏幕会显示CPU、内存、硬盘等信息。
    3. 加载带有操作系统的硬盘。硬件自检后,BIOS开始读取Boot Sequence,把控制权交给启动顺序排在第一位的存储设备,然后CPU将该存储设备引导扇区的内容加载到内存中。
    4. 加载主引导记录MBR。注意到记录MBR的作用是告诉CPU去硬盘的哪个主分区去找操作系统。
    5. 扫描硬盘分区表,并加载硬盘活动分区。
    6. 加载分区引导记录PBR。其作用是寻找并激活分区根目录下用于引导操作系统的程序(启动管理器)。
    7. 加载启动管理器。
    8. 加载操作系统。

    5 虚拟机

    5.1 虚拟机的基本概念

    虚拟机是一台逻辑计算机,是指利用特殊的虚拟化技术,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。有两类虚拟化方法。

    1. 第一类虚拟机管理程序

      从技术上讲,第一类虚拟机管理程序就像一个操作系统,因为它是唯一一个运行在最高特权级的程序。它在裸机上与逆行并具备多道程序功能。虚拟机管理程序向上层提供若干台虚拟机,这些虚拟机是裸机硬件的精确复制品。由于每台虚拟机都与裸机相同,所以可以在不同的虚拟机上运行任何不同的操作系统。

    2. 第二类虚拟机管理程序

      它是一个依赖于Windows、Linux等操作系统分配和调度资源的程序,很像一个普通的进程。第二类虚拟机管理程序仍然伪装成具有CPU和各种设备的完整计算机。VMware Workstation是首个X86平台上的第二类虚拟机管理程序。

    在这里插入图片描述

    展开全文
  • 操作系统学习笔记(四)

    千次阅读 2020-03-13 14:13:35
    1、操作系统为用户和应用程序提供服务的形式不包括()。A A.应用程序 B.用户接口 C.系统程序 D.系统调用 2、早期操作系统采用的人机交互接口是()。C A.声控接口 B.其它 C.命令行接口 D.图形化接口 3、智能手机...
  • 操作系统学习笔记(一)

    千次阅读 多人点赞 2020-03-12 12:54:48
    1.1 什么是操作系统 1、操作系统的核心目标是()B A.管理硬件 B.运行程序 C.让用户方便使用 D.提高CPU利用率 解释: 2、从设备到本地缓冲之间传输数据由()完成。A A.I/O控制器 B.CPU C.设备机械装置 D.内存 解释...
  • 本人2020年考研,考试科目为北京邮电大学803,包括计算机组成原理,数据结构,操作系统,计算机网络。本文档是我的笔记扫描版,全部是我学习过程中的对教材,辅导书以及错题,难题的总结。可以用作考研学生的复习...
  • 操作系统学习笔记-进程的概念

    千次阅读 2017-03-03 19:51:21
    程序的概念一个程序由多个程序段组成,其中任何一个程序段都是顺序的,这种程序的执行的方式就是...程序并发执行的特征间断性: 程序之间要共享系统的资源,形成相互制约的关系。相互制约导致了并发程序具有”执行-暂定-
  • 《王道操作系统学习笔记总目录+思维导图

    万次阅读 多人点赞 2020-02-20 19:02:14
    本篇文章是对《2021操作系统》所有知识点的笔记总结归档,会一直更新下去 之后我也会写组成原理、计算机网络、数据结构与算法、Java、Linux等底层和应用层的技术文章,并总结目录 希望在自己可以复习的同时,也能将...
  • IBM大型机操作系统学习笔记
  • 博主观看的 2019 王道考研 操作系统 进行学习的!!强烈推荐!! 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 后续章节陆续推出… 一、操作系统概述1.1 操作系统的概念、功能、目标1.1.1 基本概念...
  • SOAL操作系统学习笔记1

    千次阅读 2022-03-08 14:52:25
    学习SOAL操作系统笔记,部分转载他人。 一、OSAL是什么? OSAL主要是这样一种机制,一种任务分配资源的机制,从而形成了一个简单多任务的操作系统。首先,osal初始化系统,包括软件系统初始化和资源初始化.其中...
  • 操作系统学习笔记(二十)~进程同步巩固习题

    千次阅读 多人点赞 2020-04-17 17:36:21
    (1)用 PV 操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。 (2)根据所定义的信号量,写出应执行的 PV 操作。 答: 2.、某寺庙,有小,老和尚若干,由小和尚提水倒入缸供...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 301,914
精华内容 120,765
关键字:

操作系统学习笔记