OS问题:什么是进程,进程的通信方式有哪些

我们编写的代码只是一个存储在硬盘的静态文件,通过编译后就会生成二进制可执行文件,当运行这个可自行文件后,它会被装载到内存中,接着CPU会执行程序中的每一条指令,这个运行中的程序,就是进程。进程是资源分配的基本单位。

管道:生命周期随进程的创建而建立,随进程的结束而销毁

命名管道:在文件系统中可见,需手动删除(unlink),任意进程均可通过文件名打开管道通信。

匿名管道:依赖内核缓冲区,无磁盘文件实体,随进程结束而销毁,用于具有亲缘关系的进程

消息队列:生命周期随内核,如果没有释放或关闭操作系统,就会一直存在

消息队列是保存在内核中的消息链表,在发送数据时,会分成一个个独立的数据单元(消息体),是用户自定义的数据类型,消息体有一个最大长度限制,全部消息体的总长度也是有上限。

每条消息具有属性:一个表示优先级的整数,消息数据部分的长度,消息数据本身。

共享内存:

共享内存机制就是拿出一块虚拟地址空间来,映射到相同的物理内存中。

信号量:

整型的计数器,用于实现进程间的互斥与同步。

同步就将信号量初始化为0

互斥就为1

信号量有两个操作

P操作减一个信号量,V操作加一个信号量

P操作:这个操作会把信号量减去1,相减后如果信号量<0,则表明资源已被占用,进程需阻塞等待;相减后如果信号量>=0,则表明还有资源可使用,进程可正常继续执行。

V操作:这个操作会把信号量加上1,相加后如果信号量<=0,则表明当前有阻塞中的进程,于是会将该进程唤醒运行;相加后如果信号量>0,则表明当前没有阻塞中的进程;

信号:

对于异常情况下的工作模式,就需要用信号的方式来通知进程

Socket:

跨网络与不同主机上的进程之间通信,就需要Socket通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值