编程知识 cdmana.com

计算机四级网络工程师——操作系统部分题目笔记汇总【1~10题】

计算机四级笔记

操作系统部分:(1~10题)

因篇幅过长,为保证学习质量,遂将其分成四部分(四篇博客)
每10题为一篇,其他题目在我的计算机四级考试网络工程师专栏可以找到

第1题:

  1. 在组成计算机系统的各类资源中,主要包含有硬件部件以及软件系统(代码和数据
  2. 计算机应用角度来看,操作系统的主要作用是提供:人机交互接口
  3. 软件设计和开发角度来看,操作系统的主要作用是提供:软件开发基础平台
  4. 计算机安全保护角度来看,操作系统的主要作用是提供:第一道安全防线
  5. 计算机系统发展角度来看,操作系统的主要作用是提供:虚拟机和扩展机
  6. 操作系统作为系统软件,位于软件系统的哪一个层面:硬件之上,支撑软件之下 (硬上支下
  7. 操作系统的主要功能:资源管理和控制程序执行
  8. 操作系统的“合理”是指,公平对待不同用户程序,不发生死锁和饥饿
  9. 操作系统中建立了数据结构,其作用是:了解用户需求和当前资源使用情况,对资源进行有效组织、管理
  10. 具有随机性的是:操作系统内核进行进程切换
  11. 具有并发性的是:在 单处理器环境下,两个程序交替在CPU上运行

第2题:

  1. 构造操作系统的方法有:模块化,分层式,微内核,整体结构

  2. 组成操作系统的主要部分:进程线程(处理机管理),内存(存储)管理,设备管理,文件管理

  3. 同时共享:硬盘 外部设备 可重入代码

  4. 互斥共享(可以共享,但是不能被抢占使用):打印机 中央处理器 存储器 扫描仪

  5. 可以(同时)共享,且可以被抢占使用:中央处理单元

  6. 哪种软件资源可以同时共享:可重入代码

  7. 哪种软件资源不可以同时共享:内存分配模块

  8. 共享性:是指在一定的策略控制下,按不同资源类型共同占有使用

  9. 随机性:操作系统不能对所运行程序的行为,以及硬件设备的情况做出任何事先的假定

  10. 具有“并发性”:单CPU系统交替运行积分计算和磁盘读写的进程

  11. 程序状态字(PSW)中的状态字:CF,ZF,SF,OF,TF,IF,VIF,VIP,IOPL 不包含 驻留位(A)一个字母的就不是

  12. 用户可见寄存器:数据(程序)寄存器,地址寄存器,条件码寄存器

第3题:

  1. 不能作为进程来管理的是:中断服务程序 (是一个固定的代码段 )

  2. CPU分为两种状态,一种是用户态,只能执行非特权指令;一种是内核态非特权指令和特权指令都可以执行

  3. 操作系统提供:用户接口(命令输入)和 程序接口(系统调用)

  4. 内核态和用户态,其含义是指:CPU在运行时所处的状态

  5. 处理器 从内核态转为用户态,采用 修改程序状态字(PSW)

  6. 处理器 从用户态转为内核态,采用 访管中断(访管指令)

  7. 既可以在内核态下运行,又可以在用户态下运行的指令是:置移位方向标志

  8. 哪一个标志位或状态码不包含在程序状态字(PSW)中:条件码(C)

  9. 中断和异常都是将正常执行的程序打断,完成相应处理后再恢复执行,但是二者是有区别的。

    中断是人为的外界干扰打断,异常是系统内部自身打断,故,用户按鼠标左键是属于中断

  10. 中断是由外部事件引发的,而异常则是由正在执行的指令(内部事件)引发的。

第4题:

  1. 不属于IO(输入输出)中断的事件:指令错
  2. 用户编写程序时调动fork()创建进程,其使用的是操作系统提供给用户的什么接口:系统调用
  3. 用户在编写程序时,若要在屏幕上画出一个红色的圆,需要使用:系统调用
  4. 凡是**“用户程序想干啥的”**,都是 系统调用
  5. 中断处理程序的入口地址一般存放在下列哪个数据表格中:中断向量表
  6. 外部I/O设备向处理器发出的中断信号又称为:中断请求
  7. 哪个不是中断而是异常:被零除
  8. 凡是带有**“程序”,“指令”,“0除”,“算术”,“内存”等字眼,都是异常**。
  9. 当运行中的进程不希望被外部事件打扰时,可以采用:屏蔽中断
  10. 哪一种中断与当前运行的进程有关(变相的问“异常”):程序性中断
  11. 中断源:是指 引起中断的那些事件
  12. 中断请求:是指 中断控制器向处理器发出的信号
  13. 中断响应:是指 处理器暂停当前程序,转而进入中断处理程序
  14. 中断断点:是指 正在运行的程序的暂停点
  15. 不属于系统调用:将一个整型变量转换为浮点数变量
  16. 系统调用,调用程序和被调用程序位于不同状态,调用程序位于 用户态,被调用程序位于 核心态
  17. (一般)过程调用,调用程序和被调用程序都位于 用户态

第5题:

  1. 操作系统提供给用户用于应用程序编程的唯一接口是:系统调用

  2. 非特权指令:算术运算指令

  3. 特权指令:设置控制寄存器指令,关中断指令,屏蔽中断,切换栈指针指令,消指针计数

  4. 微内核结构特点:灵活性和可扩充性,可靠性,可移植性,适合分布式系统

  5. 应将时间片设为:片 = 时间 ÷ 用户数 eg: 100 ÷ 100 = 1 , 所以是 ≤1ms

  6. 系统调用不能实现的功能是:调用程序多次嵌套与递归

  7. open(读),属于系统调用中文件操作类

  8. 函数fork(),创建一个进程,属于系统调用中的进程控制类

  9. 不能使用什么方法传递参数:通过变量传递

  10. 过程调用和系统调用均可以嵌套使用

  11. 被调用程序 返回 调用程序的描述:过程调用直接返回到调用程序,系统调用在返回到调用程序前先运行调度程序

  12. 不属于系统调用:查找数据库中的某个学生信息 (属于数据库)

  13. 不属于系统调用:查找数组中的最大数 (查找)

  14. 不属于系统调用:将成绩填入学生成绩数据库 (数据库)

  15. 线程拥有的资源(线程相关的用户【系统】栈):计数器+寄存器+栈

第6题:

  1. 进程控制块与进程具有一一对应关系

  2. 能并行工作的是:CPU 与外部设备

  3. 多道程序设计的意义是:宏观上有多个进程在计算机中同时运行

  4. 进程优先级 存放在哪里:进程控制块 (只要是带**“进程”的,问存放在哪里**,就选 进程控制块

  5. 位于进程控制块中而不是位于进程中:进程优先级

  6. 相比于单道程序运行,并发运行的多道程序不再具有 可再现性

  7. 进程用户栈中的信息 不需要保存在进程控制块中

  8. 所谓 ”可再入程序“,是指:纯代码程序,运行中不需要修改

  9. 进程控制块(PCB)的组织方式:线性方法,索引方法,链接方法

  10. 进程控制块(PCB)的内容一般可以分成调度信息现场信息两大部分。

  11. 现场信息:程序状态字,时钟信息,界地址寄存器

  12. 调度信息:(有7种)排除现场信息即可

  13. 进程的动态性:是指进程动态产生、动态变化、动态消亡

  14. 进程的独立性:一个进程是一个相对完整的资源分配单位

  15. 进程的异步性:每个进程按照各自独立的、不可预知的速度向前推进

  16. 多道程序设计的含义:允许多个程序同时进入内存并运行

第7题:

  1. Linux系统支持的状态:运行状态、僵尸状态、睡眠状态、中断状态

  2. 进程从运行态转换为阻塞态的原因是:需要的数据没有准备好

  3. 进程从等待态转换为就绪态称为:唤醒

  4. 某一单核处理机中共有20个进程,处于运行状态的进程最多为几个:1个,最少为几个:0个(看作写字数)

  5. 某一单核处理机中共有20个进程,处于就绪状态的进程最多为几个:19个,最少为几个:0个 (看作写篇数)

  6. 某一单核处理机中共有20个进程,处于阻塞状态的进程最多为几个:20个

  7. 某4核处理器的计算机系统中共有50个进程,处于运行状态的进程最多有几个:4个,最少为几个:0个(看作写字数)

  8. 某4核处理器的计算机系统中共有50个进程,处于就绪状态的进程最多有几个:49个,最少为几个:0个(看作写篇数)

  9. 某八核处理器的计算机系统中共有150个进程,任意时刻处于运行状态的进程最多有几个:8个,最少有几个:0个(看作写字数)

  10. 某八核处理器的计算机系统中共有150个进程,任意时刻处于就绪状态的进程最多有几个:149个,最少有几个:0个(看作写篇数)

  11. 某服务器装有四颗处理器,每颗处理器有八个核。共有240个进程,且支持多线程,那处于运行态的进程最多有几个:4 x 8 = 32个

第8题:

  1. fork() 调用一次,返回两次,故fork() 函数后面的语句执行两次

  2. 一般 跟进程有关的东西,都存放在 进程控制块

  3. 进程从阻塞态转换为挂起态,使用的原语是:suspend()

  4. 原语及含义:suspend() 挂起、block() 街区,阻塞、wake up() 唤醒、active() 激活

  5. 操作系统改变进程状态主要通过 调用进程控制原语 实现的

  6. 若一个进程由于申请的内存资源 长期得不到满足,那么该进程将会被挂起

  7. 哪一个进程的状态变化必然引起另一个进程的状态发生变化:运行状态 ——》 阻塞状态 (坏的变化过程)

  8. 使用进程创建原语 创建进程时的顺序:申请PCB进程控制块——》填写PCB——》放入就绪队列

  9. 使用进程撤销原语 撤销进程时的顺序:找到对应进程的PCB,撤销其下的子孙进程,释放该进程资源,撤销该PCB

  10. 使用进程唤醒原语 唤醒进程时的顺序:在等待队列中找到该进程 PCB,修改PCB中进程状态为就绪,将其插入到就绪队列

  11. 使用进程阻塞原语 阻塞进程时的顺序:中断CPU执行,保存现场信息,修改PCB中进程状态为阻塞,将其插入到阻塞队列

  12. 进程控制块的组织方式:线性表方式、索引表方式、链表方式 (巧记:铁索连环

  13. 进程的组成部分:进程控制块、程序代码、数据

  14. 进程创建后 其进程控制块形成了多个队列,哪一个队列不在这些队列中:调度队列

  15. 进程控制原语:优先级,挂起,激活,阻塞,唤醒

  16. 为了便于系统控制和描述进程的活动过程,在操作系统内核中为进程定义了一个专门的数据结构,称为:进程控制块(PCB)

第9题:

  1. 线程操作 pthread**_join** 的含意是:等待一个特定的线程退出

  2. 线程操作pthread _yield表示的是:线程让出CPU

  3. 分析程序题:第一种:纯英文的儿子父亲(child[son] parent[dad]) 题,都 选A保证child[son]在parent[dad]前(儿子在父亲前面)

  4. 程序正常运行时最多会派生出多少个进程:三个连续的 fork() ,第一个fork()产生2个,第二个fork() 产生4(2^2)个,第三个fork() 产生8 (2^3)个,因为fork()是连续的,所以只取最多的,故8个。

  5. 打印**“HelloWorld”** 共多少个:单独的一行**“HelloWorld”** 算一个;第一个fork()产生2个,第二个fork() 产生4(2^2)个,第三个fork() 产生8 (2^3)个,因为fork() 不是连续的,所以将他们相加即可。

第10题:

  1. 不会引起进程调度的操作:一个进程从就绪状态变成了运行状态 / 新创建的进程进入就绪队列 (有CPU让出来,就会引起进程调度)
  2. 常用的线程库函数:pthread_create() 创建、pthread_exit() 结束、pthread_yield() 让出CPU、pthread_join() 退出CPU
  3. 管程保证不了互斥问题(管程不能解决进程互斥问题)
  4. pthread_mutex_init()表示的是:创建一个互斥量
  5. 程序分析题:看“HelloWorld”后面的 语句(eg: pthread_exit(0) ), 若 其后面没有语句,则找 整个程序体末尾的语句 注:此类题注意变通:exit() 表示退出(结束) 可表示成:运行后主动退出yield() 表示让出 可表示成: 主动释放CPU给其他线程join() 表示退出 可表示成: 运行后等待一个特定的线程退出
  6. 创建线程,线程名为:pthread_create(&tid, NULL , th_f , NULL);
  7. 当pthread_create 运行成功后,进程有多少个线程:(巧记:运行成功:2个,运行失败:1个)

版权声明
本文为[HHppGo]所创,转载请带上原文链接,感谢
https://blog.csdn.net/asacmxjc/article/details/124708021

Scroll to Top