计算机四级网络工程师-操作系统原理-第3章进程线程模型

本文详细解析了计算机四级网络工程师考试中关于操作系统原理的进程线程模型,涉及进程状态转换、OS特性、fork函数的应用、线程库函数、并发与互斥关系以及C语言程序示例。重点讨论了进程的七状态模型、fork函数产生的HelloWorld打印次数和线程数量等问题。
摘要由CSDN通过智能技术生成

计算机四级网络工程师-操作系统原理-第3章进程线程模型

单选题

进程运行过程七状态之间关系(状态转换):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

记忆技巧:心里大概记住这个图,然后记住都是相邻可以互转换状态,记忆特殊情况。

a.仅运行状态可以转为退出【运行——退出

b.运行可以直接转为阻塞或者转为就绪挂起【运行——就绪/就绪挂起/阻塞

c.记住a和b触发转换的事件,运行——就绪(时间片用完),

就绪——运行:该进程创建完成进入就绪队列并具有最高优先级

OS特性:

并发性宏观上看是不同进程一起向前推进,微观上看不同进程交替占用资源向前推进
独立性一个进程是一个相对完整的资源分配单位
异步性每个进程按照各自独立的、不可预知的速度向前推进

求A、B两个程序执行完毕时间:

请添加图片描述

第54题:题目如下

在这里插入图片描述

参考解析:45秒【解析】题目要求的是在并发执行的环境下,设备与CPU可以并
行,所以A程序和B程序可以交替占用设备和CPU序可以交替占用设备和CPU

涉及到Father——son,child——parent

在这里插入图片描述

如题,题库全选A,都是先son/child再Father/parent,共两行输出结果,先输出儿子再输出爸爸

在这里插入图片描述在这里插入图片描述

涉及到函数fork()问打印几行Hello World:

函数fork()特点:调用一次,返回两次

题型1:**单个fork()**出现

在这里插入图片描述

fork()本身创建2个进程,2个输出结果,加上开头的print=2+1=3次

题型2,**2个fork(),fork2有print()**嵌套形式是次方倍数增长
在这里插入图片描述在这里插入图片描述

fork()创建2个fork()进程,第二个fork运行2次print,加上开头的print=2^2+1=5次,次方倍增关系,有第三个fork()就是8次+开头1次

题型3,**3个fork(),fork3有print()**嵌套形式是次方倍数增长

注意是次方倍增关系!

题型42个fork(),各有print()

在这里插入图片描述

题型4:,循环里的fork()
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
做题:先判断循环次数,再看里面fork什么情况,把每次循环的结果累加

线程库函数各语句含义:

pthread_join:等待一个特定的线程退出;pthread_yield:线程让出CPU(主动释放);
pthread_creat:创建线程库函数;pthread_exit:结束一个线程的库函数

条件变量的使用中,``pthread_mutex_initO表示创建一个互斥量#init`表示初始化

C语言程序代码阅读题

涉及到``pthread`的C语言程序代码阅读题:

在这里插入图片描述在这里插入图片描述在这里插入图片描述

问存在几个线程(线程数量)

在这里插入图片描述

问create函数创建的线程名是什么

在这里插入图片描述在这里插入图片描述

问运行结果(3次Hello World,并且每个后跟数字,数字顺序不重要,线程并发是随机执行时间)
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

同步和互斥关系应用题(篮球比赛、足球比赛等)

同步关系互斥关系
篮球、足球同队队员、进程A等待B发来数据、进程A向B传输数据(这都是协同动作、相互配合、共同完成一个任务)、生产者和消费者进程中既存在同步关系、也存在互斥关系篮球、足球不同队(敌对)队员

作业响应比

响应比=(等待时间+预计运行时间)/预计运行时间

在这里插入图片描述

需要直接记忆单选

所谓程序并发执行是指两个或两个以上程序在计算机系统中同处于已开始执行且尚未结束的状态。程序并发执行产生了一些和程序顺序执行时不同的特性:

(1)并发程序在执行期间具有相互制约关系;

(2)程序与计算不在一一对应

(3)并发程序执行结果不可再现

(4)并发程序的执行过程失去了封闭性(执行过程透明性

函数fork()属于进程控制类系统调用,如搭配print()即可输出2次结果

进程控制块(PCB)的内容一般可以分成调度信息和现场信息两大部分,调度信息包括:进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针、进程队列指针和当前打开文件等;现场信息包括:程序状态字、时钟、界地址奇存器等。中断源不属于进程控制块中记录的信息。禁选-中断源

线程所需资源】线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器线程相关的用户栈/系统栈)。

单纯基于时间片考虑的调度算法:轮转法(RR)、

综合了多种调度算法:多级反馈队列算法

比较公平的算法:先来先服务(是一种不可抢占的调度算法)

多道程序设计技术:提高I/O设备的利用率、提高计算机软硬件资源的利用率缩短作业的平均周转周期

多道程序设计系统中能并行工作的是:CPU与外存设备

多道程序设计的意义:宏观上有多个进程在计算机中同时运行,根本目的是提高整个系统的效率

与进程具有一一对应关系的是:进程控制块

进程和程序既有联系又有区别,程序是构成进程的组成部分之一。从静态的角度看,进程是由程序、数据和进程控制块(PCB)3部分组成。程常是静态的,而进程是动态的。

进程的唯一“标志”是指:进程控制块

可再入程序:纯代码程序,运行中不需要修改

为了解决内存中的各个程序互相干扰或干扰系统,需要解决的问题是:程序装入内存时的重定位问题

函数wait():父进程获取子进程的结束状态并回收资源

一个进程从就绪状态变为运行状态一定不会引起进程调度

不能引起新进程调度的是:新创建的进程进入就绪队列

Internet的主要组成部分可以概括为4部分:通信线路、路由器、主机和信息资源。

主机是信息资源和服务的载体,路由器是通信节点、选择网络路径、转发路径

多选题

重要提示:很多题目是全选,多选题一定要用排除法来做,5个答案排除一个错误答案剩下全选【只用记忆错误选项,刷多了会一眼看出哪些是对的】

进程的七状态模型,考状态转换

技巧:按置顶的单选题第一个技巧,记住图片位置,然后联想关系来选
在这里插入图片描述

T1和T2并发执行,哪些是有可能的结果

在这里插入图片描述

需要直接记忆多选

几种典型线程实现方式:用户线程、内核线程、混合线程

进程控制块PCB的主要组织方式:线性表、索引表、链表

进程和程序共有的部分:代码数据

进程的基本状态3种:运行、就绪、等待

线程不具有自己的独立地址空间,一个进程包含多个线程,这些线程共享内存和文件

线程是进程中的一个实体,是CPU调度和分派的基本单位

运行——就绪的可能原因:被调度程序抢占处理机、进程创建完成、时间片用完(执行完成重新就绪)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

新时代先锋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值