线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别

线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别计算机四级网络工程师笔记——操作系统1创作于Jan 12, 2021去年9月通过了三级网络技术,12月通过了四级网工。本来我是打算在今年3月过四级,没想到我们当地考试院在12月开考了全部科目,心想着三级都过了突击一下又何妨,于是在考前最后10几天通过了考试,成绩合格。简单说一下四级考试,

计算机四级网络工程师笔记——操作系统1   创作于—-Jan 12, 2021   去年9月通过了三级网络技术,12月通过了四级网工。本来我是打算在今年3月过四级,没想到我们当地考试院在12月开考了全部科目,心想着三级都过了突击一下又何妨,于是在考前最后10几天通过了考试,成绩合格。   简单说一下四级考试,我当时考的是四级网工(41),考试有两个部分,分为”操作系统原理”与”计算机网络”,题型全为选择题,总共100分,每部分各占50分,其中每部分单选30道(1分1个),多选10道(2分1个)。考试通过条件:两部分分别达到30分才算合格,若有一门没达标,则不合格。考试难度相对于三级网络技术略偏难,但是认真对待是没有问题的。   当时只有10几天时间备考4级,在淘宝买了个激活码,我只刷了操系全部和计网的单选(计网多选估计全遭殃),但是有些题目具有一定规律,于是通过此次整理呈现给大家。建议练习题库的时候一章一章来(见图1),这样有利于汇集知识点,不要急于求成。   想通过考试只需一个题库就行(题库用的:未来教育),买相应配套教材不起太大作用(系统学习的另当别论)。在这里不讨论四级含金量如何,如果你是CS、SE之类专业建议走软考或厂商之类的考试,非计专业建议考二级office,能力较强者可尝试软考之类的。(若有意见请轻喷!)   我会从题库里面章节练习的角度去总结部分知识点与题型“套路”(见图1),该篇幅从某种角度上不会帮助大家学到相应计算机专业的知识,旨在帮助大家高效刷题通关,不要指望该篇幅一定能帮助你能通过考试,因为四级网络工程师不像三级网络技术那样存在大量的技巧和套路。想要通关,除了掌握四级里面常用题型外,还要去篇幅里面没有总结到的地方。(四级网工——操作系统技巧套路型题目占整个操作系统60%左右,且主要集中在单选题,意味着有将近部分选择题和大部分多选需要大家自行去刷题记忆。)   关于第二篇见下https://zhuanlan.zhihu.com/p/
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图1 未来教育截图内容概要   ★操作系统概论   ★操作系统运行机制   ★进程线程模型   ★并发与同步一、操作系统概论   1.1、组成操作系统的四大部分:线程管理、内存管理、设备管理、文件管理;   1.2、四大计算机角度看操作系统主要作用:   ①应用角度——提供人机交互接口;   ②软件设计与开发角度——提供软件开发平台;   ③计算机安全保护角度——第一道安全防线(不是最后一道);   ④系统发展角度——虚拟机和扩展机;   1.3、用户可见寄存器:数据、地址、条件码(后面章节用得到);   1.4、关于操作系统的说法:操作系统属于系统软件(看到工具软件、应用软件都是错的);   1.5、操作系统特征——并发性   ①概念角度:进程在宏观同时运行,微观交替运行。   ②现象角度:单处理器(cpu)交替运行两个程序。   PS:至于其它特征共享性、随机性只是概念问题,大家自行刷题即可。后面不再阐述!   1.6、可同时共享有:硬盘、可重入代码、硬盘驱动器、内存储器;   1.7、不可同时共享:内存分配模块、扫描仪;   1.8、可互斥共享有:中央处理器、存储器、打印机;   1.9、常见操作系统有:Ubuntu、Windows、Unix、DOS、BSD;   PS:第一章多选题没有太多总结地方,大家自行刷题即可。当然有些选择题可以靠直觉选出,这样的题有点多。例如:
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图1.1
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图1.2   看到内核这两个字,首先联想到是和计算机内部有关,而用户应用程序应属于计算机表面(我的理解),故答案选择D。二、操作系统运行机制   2.1、用户不可见寄存器:程序计数器(pc)、指令寄存器(ir)、程序状态字(psw);   2.2、问到关于“编写程序”之类的问题,需用到什么接口?:系统调用;
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图2.2-1
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图2.2-2
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图2.2-3   2.3、关于几个中断的概念   ①中断请求:外部I/O设备(中断控制器)向处理器发出的中断信号;   ②中断源:引起中断的那些事件;   ③中断响应:处理器暂停当前程序,转而进入中断处理程序;   ④中断断点:正在运行程序的暂停点;   2.4、关于中断与异常事件的判断:   ①属于中断事件有:网卡数据缓冲区满、用户按鼠标左键、计时器归0、时钟中断、I/O中断、控制台中断、硬件故障中断……;   ②属于异常事件有:被0除、程序执行时所访问的变量不在内存、产生缺页故障(或中断)、算术溢出…….;   PS:从以上两种时间可以看出——中断是由外部事件引发,异常是由正在执行的指令引发。   2.5、采用多道程序设计可以提高CPU、I/O设备、软硬件资源的利用率、缩短作业的平均周转时间   2.6、关于“访管指令”的几个选择题:(外部→内部)
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图2.6-1   这种题可抽象理解为计算机外部对内部的一个交互过程,于是就会用到“访管指令”,下面这2个题也是类似的。
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图2.6-2
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图2.6-3   如果是内部→外部,则是:修改程序程序状态字(PSW)。见图2.6-4
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图2.6-4   当然运用这种“内外”抽象思维可解决某些选择题,比如:
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图2.6-5   2.7、关于系统调用与一般调用的几个说法:(我就不打字了,冬天手冷)
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别   2.8、关于两种调用   ①函数open()属于文件操作类系统调用;   ②函数fork()属于进程控制类系统调用;   2.9、程序状态字(psw)标志位不包含有:保护位(p)、修改位(m)、访问位(r);三、进程线程模型   3.1、”Hello World”多少个的问题?
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.1   这种题问的是程序执行完后会输出多少个”Hello World”,大家都知道图3.1在没有fork()函数时,程序会打印出2行”Hello World”。那么fork()函数有什么样的功能?fork()是一个系统调用,用于创建进程。创建的这个进程与原来进程几乎完全相同。这个新产生的进程称为子进程。什么意思?就这个题举个例子。
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.1-1   当然这是一个较为简单的情况,我们来看两个较为复杂的情况。见图3.1-2所示。
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.1-2
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.1-3   有时候这种题目会问:派生出多少个进程?见下图3.1-4所示.
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.1-4   有时候该程序可能是一个if嵌套语句,遇到这种题可以这样处理,见下图3.1-4。
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.1-5   3.2、fork()函数其它题型:
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.2   这种题需要对fork()函数进一步理解,刚才上面提到过,fork函数从已存在的进程中创建一个新进程,新进程为子进程,而原进程称为父进程。学过C的都知道,函数执行完后会返回一个值。这里需要记住:当fork系统调用成功时,它会返回两个值给父子进程:其中子进程返回0,父进程返回所创建子进程的pid(>0)。ps:pid=process id(进程号)   有了以上基础后我们来看相关的题,先看图3.2。可能上图if(fork()==0)不太好理解,我们对这个程序作一个变形,见下图3.2a所示。
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.2a   给出解析,见图3.2-1。   PS:”pid_t pid;”是声明一个进程号类型变量,要想实现该声明,需头文件支持!
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.2-1   出了以上例题外,再来看几个类似的题,以下我直接给出套路。见图3.2-2
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.2-2   图3.2-2中的相应值是分别经过”++””–“运算后的两个值。   3.3、进程多少个问题
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.3   对于这种题给出个模板就好,若m核处理器的计算机系统中共有n个进程(m<n),问:   ①处于就绪状态最多为:n-m;   ②处于运行状态最多为:m;   ③处于阻塞状态最多为:n;   ④处于就绪、运行、阻塞状态最少为:0;   有时候会遇到下面这种题,故直接给出方法:
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.3-1   3.4、几种Pthread线程操作含义   ①pthread_create:创建一个新线程;   ②pthread_exit:结束调用的线程(线程运行后正常退出);   ③pthread_join:等待一个待定的线程结束;   ④pthread_yield:释放CPU来运行另外一个进程;   ⑤pthread_mutex_init:创建一个互斥量;   其中①-④是最重要的,我们来看几个关于该知识点的选择题,首先给出这种类型题的通用题版,见图3.4所示。
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.4   这种题的选项有两种类型,我们先看第一种,见图3.4a所示。
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.4a   遇到这种选项,就需要大家牢记①-④这几个知识点,故该选项类型的解题方法是
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.4-1   PS:若没有图3.4-1紫色框圈住的这一行,则是“线程th_f运行后退出”。有时候需要审题。   第二种就是问到程序在运行中存在多少个进程(线程)。这种题就不需要看是什么情况了,答案通通为2。
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图3.4-2   3.5、程序并发执行产生了一些和程序顺序执行不同的特性的几个说法:   ①并发程序在执行期间具有相互制约的关系;   ②程序与计算不在一一对应;   ③并发程序执行结果不可再现;   ④并发程序执行过程失去了封闭性;   3.6、进程唯一的”标志”或与进程具有一一对应关系或进程调度所需信息存放在:进程控制块(pcb)。   进程必须拥有而程序没有的是:进程控制块。   3.7、计算机创建的进程四种特性   ①动态性:进程动态产生、动态变化、动态消亡。   ②并发性:宏观上,不同的进程可以一起向前推进。   ③独立性:一个进程是一个相对完整的资源分配单位。   ④异步性:每个进程按照各自独立的、不可预知的速度向前推进。   3.8、多道程序设计环境具有:独立性、随机性、资源共享性。   3.9、进程控制块内容一般包括调度信息与现场信息两类,   ①属于调度信息有:进程名、进程号、存储信息、优先级、当前状态、资源清单、”家族”关系、消息队列指针、进程队列指针、当前打开文件等……   ②属于现场信息有:程序状态字、时钟信息、界地址寄存器等……   3.10、多道程序设计的意义:宏观上有多个进程在计算机中同时运行。   3.11、关于几种进程状态的说法   ①运行态变成阻塞态的原因(事件)是:需要的数据没有准备好。   ②当一个新的进程创建完成后,该进程的控制块将插入到:就绪队列。   ③运行态变成就绪态的原因(事件)是:时间片到或分配给该进程的时间片用完、被调度抢占处理机、进程创建完成。   ④等待态转为就绪态称为:唤醒。   3.12、关于进程原语的几种操作:   ①使用进程原语创建进程:申请PCB→填写PCB→放入就绪队列;   ②使用进程原语撤销进程:找到对应进程PCB→撤销其子孙进程→释放该进程资源→撤销PCB   ③使用进程原语唤醒进程:在等待队列找到该进程PCB→修改PCB中进程状态为就绪→将其插入到就绪队列。   ④使用进程原语阻塞进程:中断CPU执行→保存现场信息→修改PCB中进程状态为阻塞→将其插入到阻塞队列。四、并发与同步   4.1、临界资源访问过程的四个区域
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图4.1   遇到这种选择题,只需记住以下四个即可。   ①临界资源访问过程中的进入区:while TS(&lock);   ②临界资源访问过程中的临界区:n=fetch(blance);   ③临界资源访问过程中的剩余区:output(list);   ④临界资源访问过程中的退出区:lock=FALSE;   除此之外,还补充关于此方面的几个说法:   ①在采用P、V操作对共享资源进行保护时,对共享资源读写的代码称为:临界区。   ②进程对临界资源访问前,必须首先调用“进入区”代码。   ③进程在结束临界资源访问后必须通过“退出区”才能离开。   ④对信号量进行P原语操作的是在“进入区”进行、对信号量进行V原语操作是在“退出区”进行。   4.2、进程间的相互制约关系
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图4.2   遇到这种题只需记住一个表格即可。见下图4.2-1所示
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图4.2-1   4.3、进程同步机制应遵循的准则:空闲则入、忙则等待、有限等待、让权等待。   4.4、关于几种通信方式的定义   ①共享内存:在相互通信的进程之间设一公共区域,一组进程向该公共区域写,令一组进程从公共区域读,通过这种方式实现两组进程间的信息交换。   ②消息缓冲:在内存中开辟若干区域,发送进程申请一个区域,并将信息送入,然后把它插入到接受进程的相应队列中,之后通知接收进程。   ③信箱:发送进程首先创建一个连接两个进程的通信机制,然后把信息送入该机制;发送进程和接受进程不直接建立联系,而接受进程可以在任何时刻从该机制中取走信息。   ④管道:发送进程创建好连接两个进程的一个打开的共享文件,然后写入数据流;接受进程在需要时可以该共享文件读出数据,写入和读出的长度是可变的。   4.5、关于几种通信方式的说法   ①共享内存:最适合传送大量信息、不会再系统中产生多份相同拷贝;该方法优点:公共内存互斥访问有程序员控制,相对灵活。   ②消息机制:利用内存中若干公共缓冲区组织成队列,以实现进程之间的信息交换。   ③管道通信:通过连接两个进程的一个打开的共享文件,可实现进程间的数据通信;且该方式是同步的;不足之处:通信速度太慢。   ④信号量:低级通信方法;   ⑤信箱优点:发送方和接收方不必直接建立联系;发送者和接收者可以异步收发邮件,无时间限制。   4.6、常见进程关系事件   这种题就需要考验大家的理解力了,举个例子
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图4.6   题目问以下哪些事件“只”存在同步关系,显然汽车装配流水线的各种工序属于同步关系。想象一下,我们生活中的手机、电脑之类的,它们都是通过一步一步零件组装而来,不存在互斥之类的。然而“航班的订票”就是一个互斥关系,航班机票总是有限的,想象一下在春运、节假日期间,有很多人为了回家过节,于是机票就会成为有限资源(临界资源),很多人在不同的app上抢票就会造成互斥,所以在民航订票服务中,订票点在服务器上发生发起订票过程,这些进程相互之间的关系属于互斥关系。“复印室的打印机使用”也属于互斥关系,举个例子,每当在毕业论文答辩前后的这些时间,你会发现校外对面的打印店都会排到校门口(打个比方而已,当然校内打印店压力也不小)。特别是去年,很多学校因为疫情原因而封校,于是打印资料就成为了一大难题,当时我为了等毕业设计打印资料从下午等到了晚上。当时资料太多了,我做的是设计类毕业设计,除了论文外(严格来说,本科期间我们专业的论文应该叫设计说明书,不存在什么论文说法,懂的都懂……),还有图纸、列表清单、任务书、检查表、评阅表、开题报告、查重报告等……回到正题,在这种情况下由于打印资料繁多,这时候,复印店中的打印机就成为了有限资源(临界资源),很多学生为了打印资料会造成互斥。当然在打印机内部也存在互斥现象,比如说先处理打印哪个文件的问题。这种互斥关系在我们日常生活中还有很多,比如:考研占座。   这种题,稍微理解下就能正确选出,有时候需注意审题。   4.7、信号量值PV操作(多选)
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图4.7   这种题只需记住一个法则,然后按照该法则去依次检验每个选项即可。   法则:P操作减1,V操作加1。怎么检验?见图4.7-1所示
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别
线程的互斥和同步可以采用什么方法来控制_线程的同步和异步的区别图4.7-1   本篇幅先总结一到四章常用题型知识点与解题方法。文中若有错误的地方,恳请广大”乎友、带佬”们指正,在下表示万分感谢。   未完待续!   Thanks for your reading!

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/77270.html

(0)
上一篇 2024年 8月 3日
下一篇 2024年 8月 3日

相关推荐

关注微信