计算机操作系统模糊知识点

操作系统模糊知识点

目录

第一章 计算机系统概述 3

1.1.
系统调用与库函数的区别?什么时候用到系统调用? 3

1.2. 用户使用计算机的两种方式? 3

1.3.
什么时候会发生CPU状态由用户态换为核心态,中断相关知识点? 3

1.3.1. 访管指令与访管中断的区别 4

1.3.2. CPU状态改变流程 4

1.3.3. 发生中断,数据是如何保存的? 4

1.3.4. 用户态和核心态下可以运行的事件 4

1.4. 核心态,用户态,陷入指令的不同叫法 5

1.5. 什么情况下需要向操作系统预定运行时间? 5

1.6.
为进程提供系统调用是否是操作系统必须提供的功能? 5

第二章 进程管理 6

2.1.
一个进程状态发生变化,什么情况下不会影响到另一个进程的变化? 6

2.2. 并发进程失去其封闭性是指? 6

2.3. 进程是多线程环境中的完整程序? 6

2.4.
C语言程序中的内容及相关数据结构各位于那一段中?正文段、堆段、栈段 6

2.5. PCB与进程的关系?PCB包含有哪些内容? 6

2.6.
进程三种状态的转变,哪一个是由进程自身决定的? 7

2.7.
降低进程的优先级的合理时机是?进程刚完成I/O操作降低? 7

2.8. 父进程与子进程的关系? 7

2.9.
什么调度算法有利于CPU繁忙型作业,而不利于I/O繁忙型的作业。 8

2.10. 响应时间与响应比 8

2.11.
分时系统的时间片固定,因此用户数越多,响应时间越长 8

2.12.
UNIX操作系统,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统 8

2.13.
在进程处于临界区时不能进行处理机调度吗? 8

第三章 字母缩写 9

计算机系统概述

系统调用与库函数的区别?什么时候用到系统调用?

答:系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间,许多库函数需要使用系统调用来实现功能。库函数是语言或应用程序的一部分,可以运行在用户空间。未使用系统调用的库函数,其执行效率通常比系统调用的要高,因为使用系统调用需要由用户态转向核心态。

系统调用又称广义指令。由一组系统调用组成叫做程序接口。

GUI和命令接口是给用户用的。GUI是通过调用程序接口(一组系统调用)实现的

用户使用计算机的两种方式?

答:命令接口和程序接口

命令接口直接面向用户直接使用,分为联机命令接口和脱机命令接口。程序接口面向软件,为软件提供系统调用。

什么时候会发生CPU状态由用户态换为核心态,中断相关知识点?

答:发生中断时;系统调用时(异常-陷入)、时钟中断(外中断)、I/O中断(外中断)、整数除0(异常-终止)、缺页故障(异常-故障)。

中断分为内中断和外中断,但是在考试时内中断被称为异常,外中断称为中断。内中断出现在CPU内部,外中断出现在CPU外部。异常(内中断)的具体情况有:试图在用户态下执行特权指令、执行除法指令时发现除数为0、程序请求操作系统内核程序,执行陷入指令(系统调用就是通过陷入指令来完成的,陷入指令不是特权指令);中断(外中断)的具体情况有:时钟中断、I/O中断(打印)。

异常(内中断)分为trap(陷阱,陷入)、fault(故障)、abort(终止)。陷入是程序故意引发来请求内核服务。故障是由错误条件引起的,可能被内核程序修复,内核程序把故障修复后会把CPU使用权还给应用程序,比如缺页故障。终止是由致命错误引起的,CPU无法修复该错误,不再将CPU权限交给应用程序,而是直接终止该应用程序,比如整数除0、非法使用特权指令。

发生中断需要调用中断向量表,查询不同的中断处理程序。中断操作是需要在核心态下运行,注意陷入指令是在用户态下运行。

命令解释程序属于命令接口,面向用户,用户态执行。

**注意:**以上引起CPU状态的改变的事件全部在用户态下发生,但是中断操作是在核心态下进行。用户态到核心态的转换是由硬件中断机制完成。

访管指令与访管中断的区别

答:访管指令引起引起访管中断

CPU状态改变流程

发生中断,数据是如何保存的?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B6H8MfQI-1627488021406)(media/4b3a2d38504ab2dc5998d6add62e76e7.png)]

用户态和核心态下可以运行的事件

在用户态下运行的事件:取数指令,寄存器置零,读时钟指令,命令解释程序

在核心态下运行的事件:程序状态寄存器(PSW)清零,系统调用的执行,既可以执行特权指令又可以执行非特权指令,除了访管指令的全部指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UWkZeZEX-1627488021416)(media/3c7bb457126a96d0d483c1314f1d6e2f.png)]

核心态,用户态,陷入指令的不同叫法

核心态:管态

用户态:目态

陷入指令:trap指令,访管指令,

什么情况下需要向操作系统预定运行时间?

答:通用操作系统使用时间片轮转调度算法,用户运行程序并不需要预先预定运行时间。实时比较强,专用操作系统,比如火箭上的操作系统。

为进程提供系统调用是否是操作系统必须提供的功能?

答:不是。系统调用的目的是为了使系统更安全稳定,防止小白用户错误操作,恶意用户进行非法越权操作。这样导致系统调用过程需要用户态和核心态的切换,降低效率。在专业性比较强、实时性比较高的操作系统中,可不提供系统调用,以换取效率,比如火箭卫星上的系统。

进程管理

一个进程状态发生变化,什么情况下不会影响到另一个进程的变化?

答:阻塞态到就绪态

并发进程失去其封闭性是指?

答:进程有五大特性动态性,并发性,异步性,独立性,结构性。程序封闭性是指进程执行的结果只取决于进程本身,不受外界影响。也就是说,进程在执行的过程中无论是不停地执行,还是走走停停,进程地执行速度都不会改变它的执行结果。失去封闭性后,不同速度下的执行结果不同。

进程是多线程环境中的完整程序?

答:错。进程不等于程序,程序是静态的,进程是动态的,不能混为一谈。进程包含了程序。

C语言程序中的内容及相关数据结构各位于那一段中?正文段、堆段、栈段

答:C语言编写的程序使用内存时一般分为三个段,正文段;堆段;栈段。二进制代码和常量存放在正文段,动态分配的存储区在数据堆段,临时使用的变量在数据栈段。

全局赋值变量 正文段

未赋值的局部变量 栈段

函数调用实参传递值 栈段 有点疑问

用malloc()要求动态分配的存储区 堆段

常数值(如1995,“String”) 正文段

进程的优先级 PCB

PCB与进程的关系?PCB包含有哪些内容?

答:进程是由代码、数据和PCB组成。PCB主要包括进程描述信息、进程控制信息、资源分配清单和处理机相关信息四种。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QQWz6TP6-1627488021426)(media/6db6a41577c47a00643ee9a2288b7199.png)]

资源分配清单和处理机相关信息内容有些不知道是干嘛的

进程三种状态的转变,哪一个是由进程自身决定的?

答:运行态到阻塞态。进程主动调用资源,但资源不足导致阻塞。

降低进程的优先级的合理时机是?进程刚完成I/O操作降低?

答:进程时间片用完,降低其优先级让其他进程被调入进入执行状态。在进程从就绪态转换为运行态时,此时不能降低其优先级,应该等时间片结束再减低。若进程刚完成I/O操作进入就绪队列等待,应该提高优先级让其尽快处理I/O结果。

父进程与子进程的关系?

父进程与子进程可以并发执行?

可以。

父进程与子进程不能共享虚拟地址空间?

不能。父进程可与子进程共享一部分资源,但不能共享虚拟地址空间,在创建子进程时,会为子进程分配资源,如虚拟地址空间。

父进程与子进程有相同的进程控制块?

进程控制块不同。进程控制块(PCB)是进程存在的唯一标识,每个进程都有自己的PCB

父进程与子进程不能同时使用统一临界资源?

不能。

什么调度算法有利于CPU繁忙型作业,而不利于I/O繁忙型的作业。

答:CPU繁忙型作业是指该类作业需要大量的CPU时间进行计算,很少请求I/O操作,因此更符合长作业,对长作业友好地调度算法是FCFS(先来先服务)。I/O繁忙型作业是指CPU处理时,需要频繁地请求I/O操作。

响应时间与响应比

答:

  • 响应时间指用户提交请求到系统首次产生响应所用的时间。

  • 响应比Rp=;由响应比公式看出要求服务时间越短响应比越高,有利于短作业。

  • 周转时间:作业的完成时间 - 作业的提交时间

  • 带权周转时间:

  • 平均周转时间:(作业1的周转时间+作业2的周转时间+…+作业n的周转时间)/n

  • 平均带权周转时间:(作业1的带权周转时间+作业2的带权周转时间+…+作业n的带权周转时间)/n

分时系统的时间片固定,因此用户数越多,响应时间越长

分时操作系统的响应时间与时间片和用户数成正比

UNIX操作系统,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统

在进程处于临界区时不能进行处理机调度吗?

答:可以。当进程处于临界区时,说明进程正在占用处理机,只要不破坏使用临界资源的规则,就不会影响处理机的调度。比如,通常访问的临界资源可能是慢速的外设(打印机),若在进程访问打印机时,不能进行处理机的调度,则系统的性能将非常差。

再看几个说法:

在进程结束时能进行处理机的调度。 对

创建新进程后能进行处理机调度。 对;
可以是抢占式的操作系统。该说法没说一定,说的是“能”

在系统调用完成并返回用户态时能进行处理机的调度。 对

需要信号量才能是实现的功能有?

答:进程同步,进程互斥,执行的前驱关系

在操作系统中要对并发进程进行同步的原因是?

答:并发进程是异步的。

进程是并发异步执行的,但是有可能需要共同完成一项任务,所以需要同步来对进程进行限制。

进程A和进程B通过共享缓冲区协作完成数据处理,进程A负责产生数据并放入缓冲区,进程B从缓冲区读数据并读出。进程A和进程B之间的制约关系是同步还是互斥?

答:同步和互斥关系。缓冲区是互斥资源。但是进程AB又存在着制约关系,所以是两种关系。

用P,V操作实现进程同步,信号量的初始值为?

答:由用户确定。若期望的消息尚未产生则信号量应该为0,若期望的消息已经存在则信号量的初始值应该设置为一个非0的正整数。

一个进程映像由程序、数据及PCB组成,其中PCB、数据、PCB、和共享程序段哪个必须用可重入编码编写?

答:共享程序段

一个进程因存在互斥信号量mutex上执行V(mutex)操作而导致唤醒另一个进程时,执行V操作后mutex的值为?

答:小于等于0。如果大于0那说明,临界资源还有,不会存在等待的进程,也就不会存在唤醒操作。

若一个系统中共有5个并发进程设计某个相同的变量A,则变量A的相关临界区是由几个临界区构成的?

答:5

管程是什么?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EHZ2PZy5-1627488021431)(media/a99de7b88d8a36c32b08344c2fd25962.png)]

为了解决信号量机制编程麻烦、易出错的问题引入

管程中signal操作的作用和信号量机制中的V操作相同吗?

答:不同。信号量机制中的V操作一定会改变信号量的值S=S+1,而管程中的signal操作是针对某个条件变量的,若不存在因该条件而阻塞的进程,则signal不会产生任何影响(不会加1)。

若系统有n个进程,则就绪队列中进程的个数最多有①个?阻塞队列中进程的个数最多有②个?

答:①:n-1;②:n

阻塞队列有n个进程是因为发生了死锁。

为禁止两个进程同时进入临界区,同步机制应遵循以下哪几个原则?

答:空闲让进,忙则等待,有限等待,让权等待。

实现临界区互斥的软件实现方法

答:算法一:单标志法;违背空闲让进;

算法二:双标志先检查;违背忙则等待;

算法三:双标志后检查;违背空闲让进,导致“饥饿”现象;

算法四:Peterson算法;遵守其它三个原则,但不能实现让权等待;分三步:①主动争取(双标志),②主动谦让(单标志),③检查对方意愿(两种标志都检测)

最优的是Peterson算法

Peterson方法、swap指令、TestAndSet指令它们的作用分别是什么?

答:Peterson方法:一种实现临界区互斥的软件实现方法。

swap指令:交换两个字的内容;硬件逻辑直接实现,不会被中断。

TestAndSet指令:这条指令是原子操作,即执行该代码时不允许被中断。功能是读出指定标志后把该标志设置为真。硬件逻辑直接实现,不会被中断。

专业名词英文缩写

PC:程序计数器

PSW:程序状态寄存器

PCB:进程控制块

TCB:线程控制块

TLB:块表

DLL:

FCFS:先来先服务

SJF/SPF:短作业优先

SRTN:最短剩余时间优先

HRRN:高响应比优先(Highest Response Ratio Next)

TS/TSL:TestAndSet指令

XCHG:Swap指令

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扮作大侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值