[操作系统]操作系统原理(清华大学出版社)知识总结

第一章 计算机系统概述

1、计算机的软件和硬件是什么?他们之间的关系。

计算机是由软件和硬件组成,计算机的硬件是指计算机的物理设备,由CPU、主存储器、I/O设备、系统总线组成。
计算机的软件是由程序与数据构成。
计算机通过软件来完善和扩充计算机硬件系统的功能,而系统硬件的基础是计算机的软件。

2、计算机硬件组成部分以及各个部分用途。

计算机由CPU、主存储器、I/O设备、系统总线组成。
​
CPU:中央处理器,控制计算机操作,用于进行数据处理,由运算器、寄存器、控制器组成
​
主存储器:内存,用于存储数据和程序,CPU直接与内存交换信息,其他部件主要通过主存与CPU交换信息。
​

3、处理器由什么组成?

处理器由运算器、一组寄存器、控制器组成。(数据传输、输入\输出、数据处理、数据控制)
控制器:负责根据读入计算机的指令执行相应的控制操作
运算器:对读入的数据进行加减乘除的数学运算和比较大小的逻辑运算
寄存器:指令和数据先加载到寄存器中,然后进行处理。可以提升CPU的运行速度

4、总线传输哪些数据?

数据
数据的存储地址(数据从哪里来的)
控制信号(I\O设备的控制信号)

5、计算机内信息交换的方式有几种?为什么采用这种方式?

一般计算机只允许CPU与内存通过总线进行数据交换,这样交换可以处理大部分数据。
为了减轻CPU的压力,也允许少部分的I\O设备数据直接与CPU进行交互(直接读入或者写出)。直接内存存取(DMA)

6、I\O模块技术有哪三种?

可编程I\O
中断驱动I\O
直接内存访问(DMA)

7、什么是操作系统?

计算机系统中的一个系统软件。
作用:有效的控制和管理计算机系统中的硬件以及软件资源
     合理组织计算机系统的工作流程
     提供用户与计算机硬件之间的软件接口
优势:使用户能够方便、有效、安全、可靠的使用计算机,使整个计算机系统高效地运行。     

8、操作系统的地位。

​
应用程序(用户层)                     -
实用工具(程序员层)                   ---
操作系统(操作系统设计层)             -----
硬件(操作系统设计层)               -------

9、操作系统的功能。@@

作用:有效的控制和管理计算机系统中的硬件以及软件资源
     合理组织计算机系统的工作流程
     提供用户与计算机硬件之间的软件接口,使用户更加便捷、安全的控制计算机,使计算机更加高效
服务:用户接口
     程序执行
     I\O操作
     文件管理
     错误处理

10、操作系统的特征。@@

操作系统具有三个主要特征:并发性,共享性,随机性
共享性:操作系统程序与多个用户程序之间的资源可以共享。
并发性:操作系统的活动可以平行进行。例如在执行I、O设备输入、输出的同时,也可以执行CPU处理活动。这两个活动是同时进行而彼此之间不会互相干预。
随机性:操作系统可以对不可预测的事件进行响应。

11、操作系统一般提供哪些服务?@@

一般提供:处理器管理、内存管理、设备管理、文件管理、工作调度、网络服务、错误检测与处理、用户接口等。
处理器管理:多道程序可以独立的进行,互不干扰,提高CPU的利用率和效率。
内存管理:通关对进程的分配进行管理,保证各道程序不冲突。
设备管理:对I\O设备进行管理。
文件管理:将外存储器内容装入内存,包括存储器空间的分配和回收。
进程管理:进程的创建于撤销、进程之间的通信、处理器在进程间的转换、进程状态转换、进程调度管理
用户接口:提供用户友好的界面,使得用户可以更加便捷和直接的管理硬件典型界面:命令行和图形界面。
异常处理:操作系统可以应对系统随机性产生的异常或者错误等问题。

12、操作系统资源管理的作用?@@

记住资源的使用状态
确定资源的分配策略
执行资源的分配
执行资源回收

13、操作系统是虚拟机,如何理解?@@

操作系统为用户提供一个虚拟机,使用户可以直接通过操作系统对硬件和软件进行管理和控制从而避免了用户直接与硬件打交道,从而使用户拥有一个更加强大的计算机(即虚拟计算机)。从虚拟机的角度出发,操作系统是层次结构,既每一层都会提供上一层的支持,再上一层的基础上进行拓展和延伸,每一层提供特定的功能,为用户提供全套的服务。

14、操作系统结构有哪些?@@

简单模块组合结构、层次结构、微内核结构。
简单模块组合结构:不是按照数据和程序特性分,而是按照功能划分成不同的模块,每个模块提供相应的接口。
层次结构:操作系统可以分成很多层,每一层都有独特的功能实现,每一层都提供对上一层的支持,并且对上一层进行拓展和延伸,从而为用户提供全套的服务区和强大的功能。
微内核结构:核心态不负责用户进程的操作,只负责操作系统的操作,而用户态负责用户进程的操作。

第二章 进程与线程

1、操作系统为什么引入进程的概念?进程与程序的区别是什么?

随着多道程序的操作系统的出现,程序这一静态的概念已经不再能描述多道程序出现的并发性、动态性等特点,程序执行的"走走停停"的状态无法用程序来描述,因此需要引入进程的概念。
区别:
1、进程是一个独立的资源分配、系统调度的基本单位,而程序不是一个能独立执行的单位。
2、一个相同程序可以在多道进程中使用,一个进程也可以使用多个不同程序。
3、进程宏观上具有并发性、多态性而程序只是一个静态的概念。
4、程序不是异步的,进程是异步的。

2、进程的基本状态有几种?图描述

新建状态:正在创建一个进程,在创建完毕后将该进程转换为就绪状态。
就绪状态:该进程已经具备了CPU处理的条件,但是由于执行状态下进程数量已满,需要在就绪状态下等待执行状态下的队列有空闲
执行状态:执行队列中的进程已经分配进入CPU
阻塞状态:阻塞状态正在等待某一事件的发生
终止状态:该程序在执行完毕或者遇到错误时会进入终止状态

3、进程控制块PCB的作用?以及内容?

作用:
进程控制块是进程管理和控制最重要的数据结构。
进程控制块中记载着进程的相关信息。
PCB在伴随着进程的创建而创建,伴随着进程的销毁而销毁
内容:
进程标识符(name):标记了进程的唯一表示名称
进程状态(status):记录该进程所处的状态
当前队列指针(next):记录该状态的队列下进程指向的下一个进程
执行程序开始地址(start_addr):记录程序开始的代码块的地址
进程优先级(properties):反应进程紧迫程度
CPU保护区:在进程阻塞时记录CPU内运行情况,以便下次进程唤醒时候恢复挂起前的状态

4、什么是线程?它与进程之间的关系?

在没有引入线程的系统中,进程既是资源分配又是运行调度的单位,但是在现代操作系统中,引入了线程的概念,使得资源分配与系统调度分离开来,线程只得到其需要执行的一部分资源,多线程之间的资源可以通过程序获得,线程只负责系统调度而进程负责对资源进行分配。
区别:
调度单位:在引入线程的系统中线程是系统的调度单位而进程不负责调度
拥有资源:线程只拥有一小部分自身运行所需的资源,其余资源由进程拥有,多个线程可以共享进程的资源
系统开销:创建一个新的线程比创建一个新的进程所需的时间要少很多
并发性:线程和线程之间具有并发性,使得进程中的并发性更加加强,从而提高作业吞吐量,提高系统的效率。

5、主要有哪几种线程?

内核级线程:
线程的创建、同步、终结都是由内核态中的内核空间进行的,在线程的创建时,有一个核心线程被创建,运行用户的初始程序
用户级线程:
用户级线程的创建于内核级线程无关,因此内核级线程不知道用户级线程的存在,线程的创建、切换、终结都发生在用户级。

6、高级进程通信有哪几中?

共享存储器:进程与进程之间创建一个存储器用来共享进程之间信息的存储和使用
消息系统:消息是进程之间通信的单位,程序员通过调用相关指令来将消息传递给另一个进程
管道通信:通过一个打开的共享文件(被称为管道)作为两个进程之间的相互连接

第三章

1、处理机调度分为哪三级?各级任务是什么?哪一级必不可少?

处理机调度分为作业调度(高级调度)、交换调度(中级调度)、进程调度(低级调度)。
作业调度系统从外部输入井中,按照一定的原则,选择出一个作业,给选择的作业分配内存、I\O设备等资源,并为该作业提供相应的环境,创建系统进程和用户进程,然后将程序和数据加载入内存,使该作业出于就绪状态。交换调度按照一定的原则,使进程在内存中的一部分交换出外存中,并将需要的部分交换进内存,提高内存的使用效率。进程调度按照一定的策略和算法,选择就绪状态下的一个进程占用处理器等资源,并为其切换上下文进程以建立该进程相应的执行状态。
进程调度是必不可少的。

2、进程调度有哪两种方式

抢占式和非抢占式。
抢占式的进程调度是指某一个进程正在运行时,此时出现了一个更加紧急或有限度更高的进程,系统会等待该进程使用完处理机等资源后,才允许这个更紧急的进程使用处理机等资源。
非抢占式进程调度是指某一个进程正在运行时,此时出现了一个更加紧急或有限度更高的进程,系统会保存当前进程的运行状态,将其记录在CPU保护区中,让出处理机资源,使其进入等待状态,让更加紧急或优先度更高的进程使用处理机等资源。

3、三级调度之间的关系?

作业调度从大量外部输入井中,按照一定的策略选择出一个作业,为该作业创建相应的系统进程和用户进程,给予该进程I\O设备、内存等资源,使其状态称为就绪状态,而进程调度从大量就绪状态的作业中选择一个作业,为其切换进程上下文以创建该进程所需的执行环境,而交换进程是介于这两种进程之间的一种调度,使进程所需的部分交换入内存,暂时不必运行的部分交换出外存,提高内存的使用效率、
总之,作业调度是进程调度的前提活动,进程调度使进程活动起来,而交换调度使不适用的进程部分或全部挂起。

4、常用的评价调度的策略有哪几种?

处理器利用率、等待时间、响应时间、用户关心周转时间、吞吐量等。

第四章、进程同步和死锁

1、什么是临界资源?什么是临界区?

临界资源是只允许一个进程使用的共享资源
临界区是程序访问临界资源的一段代码

2、什么是时间有关的错误?

并发程序的活动是某种交叉活动,该交叉的次序不同会得到与预期不同的结果,交叉的次序与速率有关,而速度又是时间的函数。
例如:
A1:         B2:
x=1         x=2
x=x+1       x=x*2
A=x         B=x
​
按照A1-->A2--A3-->B1--->B2--->B3的顺序执行结果与其他执行结果不相同

3、什么是管程?管程有哪几个数据组成?

管程定义了一组数据结构和该数据结构和能为并发程序在其上执行的一组操作。该操作可以使进程同步和改变管程数据。
管程组成:管程的名称、局部于管程的数据的说明、一组改变数据的操作、局部于管程的共享数据初始赋值语句

4、产生死锁的四个条件?

1.互斥条件。某一资源被进程占有后,该资源无法再被其他进程使用,除非该进程释放资源
2.部分分配。某进程再获得资源后还可以获得其他资源,即进程可以不用一次性获得其他资源。
3.非抢占式进程调度。进程无法从其他进程抢占资源,只能等待其他进程释放资源。
4.形成循环等待条件。p1进程等待P2进程,P2等待P3...Pn进程等待P1进程,形成一个循环等待

五、存储管理

1、什么是逻辑地址、什么是绝对地址、什么是地址转换?

逻辑地址:用户不必知道作业所在的内存的具体地址,只需要知道作业是从0开始的一组连续的地址空间所组成。
物理地址:绝对地址又叫物理地址,是由系统系统的一组硬件存储单元组成,该存储单元的序号从0开始,依次连续。每一个序号对应的存储单元是真实存在的物理地址,因此物理地址又叫真实地址或者绝对地址
地址转换:在目标模块连接成为一个可执行的程序后,该程序需要装入逻辑地址与绝对地址不一样的地址空间中,在装入时,作业的绝对地址和物理地址不相同,使得其必须让逻辑地址转换为物理地址,这种转换就叫做重定向或者地址转换。

2、什么是地址转换?有哪几种?有什么区别?

①地址转换:在目标模块连接成为一个可执行的程序后,该程序需要装入逻辑地址与绝对地址不一样的地址空间中,在装入时,作业的绝对地址和物理地址不相同,使得其必须让逻辑地址转换为物理地址,这种转换就叫做重定向或者地址转换。
②地址转换有静态地址转换和动态地址转换。
静态地址转换是在装入程序时,软件将程序的指令地址和数据地址一次性转换成为绝对地址。
动态转换是在装入程序后,在程序执行时,由软件和硬件完成。创建一个基址寄存器,将主存储区域的首地址记录在寄存器中,再由硬件进行逻辑地址向绝对地址的转换,使寄存器中的地址加上逻辑地址就可以得到绝对地址。
③区别:
一个是在装入作业前进行转换,一个是在装入作业后,执行作业时进行转换。静态由软件来操作,动态由软件和硬件操作。动态使得内存地址移动,而静态并没有。动态创建了虚拟存储空间,静态没有。

3、什么叫虚拟存储器?

虚拟存储器是由程序执行的局部性和互斥性决定的。程序在装入内存时,可以只装入一部分所需要的进入内存,另一部分暂时用不到的程序留在外存空间中,等待所需要的时候再加载入内存。这个特性使得程序的设计可以不用考虑内存空间的大小,使得逻辑地址大于绝对地址,仿佛让用户拥有了一个大的内存存储器即虚拟的存储器。

4、叙述页式存储思想实现虚拟存储器?

叙述页式存储使作业的全部信息作为副本全部存储在磁盘空间,在加载入内存的时,只需要将至少一页信息加入进入内存,当内存加载的该页内容以外的信息时候,再将其信息加载进入内存。

第六章文件管理

1、什么是文件,什么是文件系统?

文件是具有的符号名称、具有相同逻辑的一组信息项的集合。
文件系统是对文件进行统一管理的一组软件和相关数据的集合,是对文件进行管理和存取的软件系统。

2、文件的分类。

文件按照保存期限分为:临时文件、档案文件、永久文件
按照作用和功能:系统文件、库文件、用户文件
按照保护等级分:只读、读写、不保护、可执行

3、文件的目录结构以及优缺点

文件目录结构有一级目录、二级目录、多级目录。
一级目录优点是结构简单,缺点是不能重复命名。
二级目录是有利于文件的安全、共享和保存,不同的命名空间可以重复命名,缺点是查询效率较低。
多级目录按照文件进行分类大大提高了查询的效率,但是结构较为复杂。

第七章 输入\输出管理

1、为什么引入缓冲技术?

CPU的处理速度与I\O设备的处理速度之间存在较大的差异,一般CPU,I\O设备的速度要满很多,引入缓冲技术可以有效的减少因I\O设备速率不匹配引起的处理器中断问题,缓冲区一般设计为一个硬盘大小,但根据CPU与I\O设备之间实际速率之差可以设计为单缓冲、双缓冲、多缓冲。

2、简述Spooling的功能。

将独占设备改造为共享设备,实现虚拟设备功能。

3、为什么引入独立设备?如何实现设备独立性?

引入独立设备可以提升设备的可独立性和可拓展性。使OS不必因独立设备的更新,数量增加,更换等操作引起OS的修改和编译,既让OS与设备进行解耦合。
实现设备的独立性可以通过设计在驱动层上设置一层设备独立性软件,用以执行设备的统一操作,如设备分配、缓冲管理用以完成设备逻辑名到物理名的转换,提供统一的逻辑操作,而驱动层提供物理操作向逻辑操作之间的转换。

4、Spooling技术如何改造一台打印机虚拟成多台打印机?

打印机并没有真正将打印机分配给用户进程,而是为进程创建一块空闲区域,用于存放打印的数据并且为用户进程填写打印表,将该表挂起到打印队列,直到打印机空闲,从打印队列中取出表,将要打印的数据加载进入内存缓冲区,再次打印,直到打印队列为空。
  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值