分享

《操作系统设计与实现》(第三版)第一章 引言 重要概念汇总_操作系统设计与实现第三版

 山峰云绕 2023-05-17 发布于贵州

1.计算机软件大致分为两类:

系统软件和应用软件。系统软件负责管理计算机本身的运作,而应用软件则负责完成用户所需要的各种功能。最基本的系统软件是操作系统(Operating System OS)

                                                             

2.什么是操作系统?理解并举例说明操作系统是功能扩展机、是资源管理器(考点)

操作系统,一般是指在内核态(kernel mode)或称管态(supervisor mode)下运行的软件,它受到硬件的保护,用户不能随便去篡改它的内容。

操作系统有两个基本的职能:

①操作系统是负责将硬件细节与程序员隔离开来,并提供一个简单、方便的文件访问方式的程序。对于每一种硬件,操作系统都提供了一个简单、好用的抽象接口。——该角度,操作系统的功能就是为用户提供一台等价的扩展计算机,或称虚拟机

举例:对磁盘的抽象:用户使用文件时,不需要知道文件位于哪个磁盘,只要知道文件名就可进行相应的操作

②操作系统是一个复杂系统的管理者——该角度,操作系统的任务就是跟踪资源的使用情况、满足资源请求、提高资源利用率,以及在时间和空间上协调不同程序和用户对资源的访问冲突

举例:资源管理主要包括时间上的资源共享和空间上的资源共享

A.时间上共享资源:当有多个打印任务在队列中等待打印时,操作系统必须做出决策,选择其中的哪一个去执行

B.空间上共享资源:一块硬盘,同时存放不同用户的许多文件,操作系统的任务通常包括分配磁盘空间、跟踪记录磁盘块的使用情况

MINIX3的系统调用大致可以分为两类:

3.1与进程有关的系统调用和与文件系统有关的系统调用

3.1.1与进程有关的系统调用

1)进程:一个进程就是一个正在执行的程序,每个进程都有自己的地址空间,对于一个被挂起的进程,它主要包括两部分的内容:

A.进程的地址空间,称为内核映像(core image)

B.相应的进程表项,包含寄存器值及其他信息

2)在与进程管理有关的系统调用中,最主要的是进程的创建和终止。例如:命令解释器(shell)进程:假设用户刚刚键入一条命令,要求编译一个程序,那么shell必须首先创建要给新进程来运行编译器。当该进程完成编译后,它就会执行一条系统调用来终止自己

3)一个进程能够创建一个或多个其他的进程(称为子进程),而子进程又可以创建它们的子进程,进而得到一颗进程树

                                                           

一组相关的进程需要相互合作,共同完成某项任务,需要互相通信以协调各自的进展,这种通信称为进程间通信

4)与进程有关的其他系统调用包括请求更多的内存(释放不再使用的内存)、等待一个子进程结束、加载并执行另一个程序等

3.1.2与文件系统有关的系统调用

1)绝对路径:从根目录到该文件的所有中间目录,相互之间用斜杠“/”隔开

例如:/Faculty/Prof.Brown/Course/CS101(UNIX规范)

在任意一个时刻,每个进程都会有一个当前的工作目录,在这种目录下,路径名不是用斜杠开始的。

例如:当前工作目录为/Faculty/Prof.Brown,那么路径名Course/CS101等价于绝对路径

                         

挂装前,CD-ROM驱动器上的文件不可访问;挂装后,它们是文件层次结构的一部分(文件系统总是被挂装在一个空目录下)

2)设备文件:①块设备文件;②字符设备文件

块设备文件:以随机访问的数据块为单元

字符设备文件:以字符流方式进行操作

3)管道:与文件和进程都有关,管道是一种用来连接两个进程的虚拟文件。当进程A和进程B想要通过管道来交流信息时,必须先创建一个管道。

                                            

4. 什么是核心态、用户态,两者之间怎样切换(考点)

核心态:供操作系统使用,在该状态下可以执行所有的命令

用户态:供用户程序使用,在该状态下不能执行I/O操作和一些操作

用户态——>核心态

①系统调用:用户态进程主动要求切换到核心态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作;

②异常:当CPU在执行运行用户态下的程序时,发生了某些事先不可知的异常时,会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,如缺页异常;

③外围设备中断:当外围设备完成用户请求的操作后,会向CPU发出相应的中断

核心态——>用户态:设置程序状态字PSW

5. 举例说明什么是特权指令(考点)

特权指令:只能由操作系统使用、用户程序不能使用的指令。举例:启动I/O内存清零修改程序状态字设置时钟允许/禁止终端停机

非特权指令:用户程序可以使用的指令。举例:控制转移算数运算取数指令访管指令(使用户程序从用户态陷入内核态)

6. 什么是系统调用,举例说明。(考点)

在计算机中,系统调用(英语:system call),又称为系统呼叫,指运行在使用者空间的程序向操作系统内核请求需要更高权限运行的服务。 系统调用提供了用户程序与操作系统之间的接口。大多数系统交互式操作需求在内核态执行。如设备IO操作或者进程间通信。

任何单CPU计算机一次只能执行一条指令。如果一个进程正在用户态下运行一个程序,然后它需要一个系统服务,如读取文件数据,那么它就必须执行一个陷阱/系统调用指令,把控制权交给操作系统。操作系统通过检查此次调用的参数,判断该进程所需要的服务类型,然后去执行相应的服务功能并把控制权交还给用户进程,从系统调用后面的那条指令开始执行。

注:MINIX系统调用6大类:

进程管理的系统调用、文件管理的系统调用、保护的系统调用、时间管理的系统调用、信号管理的系统调用、目录管理的系统调用

7. 进程的内存空间被分为三个部分:

代码段(test segment)、数据段(data segment)、栈段(stack segment)

                                                                         

8. 操作系统结构:

                                                                                 整体结构

                                           

①一个主程序,用来调用被请求的服务例程

②一组服务例程,用来实现相应的系统调用

③一组工具函数,用来帮组服务例程的实现

                                                                                 分层结构

                                                

第0层负责处理器的分配

第1层负责存储(内存和磁鼓)管理,为进程分配内存空间

第2层负责处理进程与操作员控制台之间的通信

第3层负责管理I/O设备和相关的信息流缓冲区

第4层用户程序

第5层系统操作员进程

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多