首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
在迎接offer的候选人1
西安工程大学 数据分析师
关注
已关注
取消关注
@黎笛:
【重点详解】关于进程
进程是操作系统中很重要和基础的,而且也是面试中的常考题。关于进程可以延申出很多问题。定义进程是程序的一次执行过程,是资源分配,接受调度的基本单位。进程由程序段,数据段,PCB三部分组成。所谓创建进程,实质上是创建进程中的PCB进程控制块PCB记录了操作系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统的记录型数据结构作用:1)进程的唯一标识2)能实现间断性运行方式3)提供进程管理所需要的信息4)提供进程调度所需要的信息5)实现与其他进程的同步与通信进程的五种状态创建状态,就绪状态,运行状态,阻塞状态,结束状态其中就绪状态和运行状态能相互转化,当进程为就绪态时,等待CPU分配时间片,得到时间片后就进入运行态。使用完时间片后,就进入就绪态阻塞状态是进程在运行状态时,需要等待某个资源而处于等待进程互斥在操作系统中,当某一进程正在访问某一存储区域时,就不允许其他进程进行读写或者修改该储存区的内容,进程之间的这种相互制约的关系称为进程互斥进程同步并发进程在一些关键点上可能需要互相等待与互通消息,这种相互制约的等待与互通信息称为进程同步也就是保证多个进程能有条不紊的运行进程同步的方式1)临界区对临界资源进程访问的那段代码叫做临界区为了互斥访问临界资源,每个进程在进入临界区之前,需要先进行检查2)同步与互斥3)信号量信号量是一个整型变量,可以进行PV操作4)管程把控制的代码独立出来进程通信注意:进程通信和进程同步容易混淆,他们确实有一定的因果关系。进程同步:控制多个进程按一定顺序执行进程通信:进程间传输信息为了能够达到进程同步的目的,需要让进程进行通信,传输一些进程同步所需要的信息。通信方式:1)管道只支持半双工通信2)消息队列3)信号量4)共享存储5)套接字还有六种进程调度算法,也非常重要,这里我就不细讲了,和进程同步耦合性不是很强,笔者主要想讲解关于信号量的问题信号量机制信号量其实就是个计数器,简单一点的例子就是a进程访问临界资源,把信号量设置为0,然后b进程也想访问,发现信号量为0,无法访问。用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥,进程同步信号量机制实现进程互斥步骤:1)分析并发进程的关键活动,划定临界区2)设置互斥信号量mutex,初值为13)在临界区之前执行P4)在临界区之后执行Vmutex=1,标识两个进程皆未进入需要互斥的临界区mutex=0,标识有一个进程进入临界区运行,另外一个必须等待,挂入阻塞队列mutex=-1,表示有一个进程正在临界区运行,另外一个进程因等待而阻塞在信号量队列中,需要被当前已在临界区运行的进程退出时唤醒信号量机制实现进程同步步骤:1)分析什么地方需要实现同步关系2)设置同步信号量S,初始为03)在“前操作”之后执行V(S)4)在“后操作”之前执行P(S)下面的代码中,S就是同步信号量,若先执行到了V(S),则s++,正常执行P(S),保证了代码4在代码2之后执行若先执行P(S),s–之后表示没有可用资源,P操作会执行block原语,主动请求阻塞P(1) { 代码1; 代码2; V(S); 代码3;}P(2) { P(S) 代码4; 代码5; 代码6;}生产者-消费者问题系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品使用需求:生产者每生产一个产品,就消耗一个缓冲区,只有当缓冲区不满的时候才能放入消费者每消费一个产品,就消耗一个产品,只有当缓冲区不空的时候才能消费做法:因为缓冲区是临界资源,所以在访问的时候需要一个互斥信号量,实现互斥访问为了同步生产者和消费者的操作,需要记录缓冲区的剩余大小empty和产品的个数full。当缓冲区大小不为0时,生产者才能放入产品;当产品个数不为0时,消费者才能拿走产品。注:同步在前,互斥在后,防止死锁producer() { while(1) { 生产一个产品; P(empty); //消耗一个空闲缓冲区 P(mutex); 把产品放入缓冲区; //临界区 V(mutex); V(full); //增加一个产品 }}consumer() { while(1) { P(full); //消耗一个产品 P(mutex); 从缓冲区取出一个产品; V(mutex); V(empty); //增加一个空闲缓冲区 使用产品; }}
点赞 0
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-24 19:04
已编辑
北京交通大学 .NET
进字节做AI需要掌握哪些技术?
看看进字节AI需要哪些技术人才?你应该学什么?
从事AI岗需要掌握哪些技...
点赞
评论
收藏
分享
02-25 16:52
门头沟学院 Java
27后端简历求拷打
菜鸡求拷打,最近想找一段暑期或者日常实习,hot100目前还在二刷,八股看了一半,去年找了一段小厂实习,干了两个月太水了就提前离职了,期间做了个玩具项目,甚至都没有上线,包装一下就写进简历了,把原来的外卖替换掉了,另一个是点评,今天下午ssob沟通了一百多,有要简历的但是之后就已读不回了,求各位大佬指点
找工作的小源1:
学历加粗放大
点赞
评论
收藏
分享
03-11 23:33
已编辑
曲阜师范大学 后端工程师
28一本小登被发一堆感谢信
目前这个简历投直接秒挂,想问问各位大佬哪里出问题了
牛客68808588...:
果真开发过12306购票系统吗,这不是一眼就被看穿了
点赞
评论
收藏
分享
03-26 23:19
北京工业大学 Web前端
一文讲明白前端项目中的各种懒加载(不止路由和图片)
在前端性能优化中,懒加载几乎是必考概念。但很多人一提懒加载,只能说出两句话:路由懒加载用 import()图片懒加载用 IntersectionObserver这在真实项目和面试中,远远不够。这篇文章从加载对象、作用层级、真实业务动机三个维度,系统讲清楚——前端里到底有哪些懒加载,以及它们各自解决什么问题。什么是懒加载?一句话定义:懒加载 = 把“现在不需要的东西”,从初始化阶段推迟到真正需要时再加载。本质目标只有三个减少首屏资源体积降低初始化 JS 执行压力提升关键性能指标(FCP / LCP / TTI)前端懒加载的完整分类总览可以按 懒什么 来分类:分类懒加载对象路由级懒加载页面模块组件...
前端面试准备&技...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
双非选手的求职的感悟
2758
2
...
美团暑期实习一面
2735
3
...
阿里笔试竟然考了AI提示词。。。
2108
4
...
暑期结束,拥抱腾讯了
1683
5
...
双非两段大厂实习0offer,我做对了什么
1620
6
...
携程3.25Java开发二面面经
1596
7
...
字节一面-飞书后端暑期实习
1507
8
...
京东零售暑期一面
1329
9
...
快手暑期前端一面 3.25
1162
10
...
感谢信
1099
创作者周榜
更多
正在热议
更多
#
你的实习产出是真实的还是包装的?
#
19396次浏览
340人参与
#
中国电信笔试
#
31450次浏览
284人参与
#
开放七大实习专项,百度暑期实习值得冲吗
#
14575次浏览
216人参与
#
春招至今,你的战绩如何?
#
62304次浏览
570人参与
#
如果秋招能重来,我会____
#
96814次浏览
500人参与
#
一张图晒出你司的标语
#
3984次浏览
74人参与
#
米连集团26产品管培生项目
#
13083次浏览
285人参与
#
i人适合做什么工作
#
37040次浏览
124人参与
#
我是面试官,请用一句话让我破防
#
79643次浏览
219人参与
#
金三银四,你的春招进行到哪个阶段了?
#
21786次浏览
280人参与
#
哪些公司真双非友好?
#
69431次浏览
287人参与
#
投递几十家公司,到现在0offer,大家都一样吗
#
340295次浏览
2170人参与
#
AI面会问哪些问题?
#
26221次浏览
528人参与
#
找AI工作可以去哪些公司?
#
8335次浏览
213人参与
#
从事AI岗需要掌握哪些技术栈?
#
8268次浏览
278人参与
#
面试尴尬现场
#
220884次浏览
861人参与
#
五一之后,实习真的很难找吗?
#
102847次浏览
584人参与
#
你做过最难的笔试是哪家公司
#
31760次浏览
211人参与
#
应届生第一份工资要多少合适
#
20600次浏览
86人参与
#
聊聊你的职场新体验
#
336215次浏览
1894人参与
#
你小时候最想从事什么职业
#
159892次浏览
2072人参与
#
阿里笔试
#
177543次浏览
1306人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务