首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
牛客852944762号
05-11 09:13
门头沟学院 电子信息类
暑期实习总结
从3月初陆陆续续开始投简历,忘记都投过哪些公司了,第一家投的是携程,因为也比较想去,虽然中间有点波折,最后也是去了携程,写一下面经给秋招攒攒人品。Timeline3.28笔试4.8号一面一面开始是自我介绍然后就是根据简历上的项目问相关内容八股考察是顺带的。promise异步问题问了好多,包括它的api和每个的用法,然后问了await和asnyc的用法。然后问了场景,只记得了有两个页面相互跳转,怎么保留上一个页面的状态,以及保存在哪里的问题。计网问了,网络攻击方式,是让我自己说,然后根据你讲的会问有关这个攻击方式会存在哪些地方,解决方式等等等。最后手撕是一道有关前端字符串操作的问题。还问了自己实...
投递携程等公司9个岗位 >
点赞
评论
收藏
转发
想六点下班牛可乐在做核酸
05-14 15:19
华东理工大学 计算机类
滴滴实习
有没有懂哥,我滴滴日常实习和秋储都投了,日常投的比较早,是不是只有日常实习处理完了,才能到秋储实习,能否发个滴滴hr 的联系方式
投递滴滴等公司10个岗位 >
点赞
评论
收藏
转发
收心檬
昨天 12:44
快手_电商_前端实习生(实习员工)
被告诉基本内定转正了,此时我的心情
点赞
评论
收藏
转发
_陈顺
05-14 18:42
门头沟学院 电子信息类
腾讯 后台开发 一面
概述:4月29号面试,腾讯会议,八股、项目、智力题、手撕各个方面都有问到,面试体验很好面试流程:1.面试官自我介绍2.自我介绍3.new和malloc区别(性质/原理/大小/失败)4.面向对象三大特性5.虚函数表放在哪(常量区)6.基类和子类的构造和析构顺序(构造先基类后子类,析构相反)7.讲一下map的实现?具体细节?(红黑树,细节不知道,可能是想让讲key/value?)8.move的实现和原理(答的比较含糊,将一个对象的资源转移到另一个对象上,原理应该是修改对象的指针)9.如果不是指针呢?比如move的是结构体对象,有指针也有int?(提了下移动拷贝,继续问怎么赋值,沉默)10.是栈赋值...
腾讯一面1140人在聊
软件开发2024笔面经
我的实习求职记录
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
携程oc了
2.5W
2
...
美团-Java后端-平台技术部-一面凉经(复活赛)
1.3W
3
...
比亚迪机械面经&薪资爆料&面试题目&解答思路
1.2W
4
...
【话术建议】求职者和企业的互骗话术?
8741
5
...
瑞幸java校招二面(史诗级80min)
7762
6
...
快手二面g
4927
7
...
【进面核心】如何紧盯个人简历与企业需求的契合度
4863
8
...
滴滴秋储后端(秒挂)
4701
9
...
字节抖音电商后端日常实习一二三面已oc
4484
10
...
腾讯 后台开发 一面
4015
正在热议
#
牛客帮帮团来啦!有问必答
#
710090次浏览
11527人参与
#
许愿池
#
77177次浏览
1541人参与
#
通信硬件人笔面经互助
#
107729次浏览
2178人参与
#
你的秋招进展怎么样了
#
500812次浏览
13423人参与
#
找工作时遇到的神仙HR
#
177640次浏览
1744人参与
#
如何写一份好简历
#
259272次浏览
3918人参与
#
铜五铁六真的存在吗?
#
27338次浏览
293人参与
#
找工作,你会甘心进小厂还是猛冲大厂
#
35040次浏览
352人参与
#
产品实习,你更倾向大公司or小公司
#
35944次浏览
548人参与
#
非技术岗是怎么找实习的
#
73854次浏览
1385人参与
#
市场营销面经
#
4539次浏览
125人参与
#
互联网公司评价
#
79524次浏览
1087人参与
#
通信硬件薪资爆料
#
196274次浏览
1759人参与
#
你的秋招进行到哪一步了
#
352933次浏览
6269人参与
#
硬件兄弟们 甩出你的华为奖状
#
27511次浏览
180人参与
#
无实习如何秋招上岸
#
224656次浏览
3518人参与
#
投了多少份简历才上岸
#
56644次浏览
947人参与
#
面试中的破防瞬间
#
82558次浏览
1015人参与
#
通信/硬件的薪资开多少,才值得去?
#
10731次浏览
140人参与
#
产品人求职现状
#
50581次浏览
745人参与
牛客网
牛客企业服务