导图社区 操作系统
操作系统(operating system,简称:OS)是用户和计算机之间的界面. 一方面操作系统管理着所有计算机系统资源, 改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大...
社区模板帮助中心,点此进入>>
操作系统
进程的通信方式
管道
匿名管道
例如Linux中的|。只有血缘关系的才能共享
命名管道
例如用mkfifo创建:mkfifo
特点
单向传输、同步交付,不适合频繁通信的进程
消息队列
这种通信类似于缓存,互相发消息
缺点
需要拷贝,不适合发送数据很大的
提供msgsnd和msgcv来接收和发送消息
共享内存
虽然两个进程有着不同的虚拟内存空间,但我们可以把部分映射到相同的物理空中
存在问题
并发安全问题,解决方式是采用信号量
信号量
Socket
信号
类似于硬件中断
异步处理,公平对待
进程的数据
标识符
状态
程序计数器
优先级
内存指针
保存程序代码、数据集
上下文数据
进程执行时处理器的寄存器中的数据
I/O状态信息
进程与线程的区别
进程主要组成是代码块和数据集,进程是拥有资源的基本单位,而线程是调度的基本单位
系统开销不同
进程需要保存虚拟内存信息、栈、全部变量等信息,而线程只需要保存一些私有变量
通信方式
内存管理
虚拟内存
可以让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存
分页系统地址映射
内管理单元管理着地址空间和物理空间的转化,页表存储着页和页框(物理地址)的映射
虚拟地址分为两部分,前面存放页面号,后面存放偏移量
分段
页面置换算法
最佳
最换的页面将最长时间不实用(理想)
最近最久未使用(LRU)
最近未使用
用R表示被访问,M表示被修改,定期将R置为0