UNIX系统进程管理与消息队列建立
需积分: 12 137 浏览量
更新于2024-08-21
收藏 109KB PPT 举报
UNIX系统进程管理与消息队列建立
UNIX系统作为一个多用户、多任务的操作系统,具有良好的开放性、功能强大、实现高效、提供了丰富的网络功能和支持多处理器功能等特征。UNIX系统的进程管理是其核心组件之一,通过进程管理,UNIX系统可以高效地管理和调度进程资源。
1. UNIX系统概述
UNIX系统是由美国Bell实验室研发的,诞生于1969-1970年间。UNIX系统的编写语言主要是汇编语言B语言和C语言。UNIX系统具有良好的开放性,支持多用户多任务,功能强大,实现高效,提供了丰富的网络功能和支持多处理器功能。
2. UNIX中的进程描述
UNIX系统采用段页式存储管理,段称为区。一个进程通常由若干个区组成,这些区包括程序区、数据区、栈区等。每个区又可分页。UNIX系统为每个进程配置一个进程控制块(PCB),将其分为四部分:进程表项、U区、系统区表和进程区表。
(1)进程表项:存放描述和控制一个进程的信息。常驻内存。
(2)U区:存放描述和控制进程的另一部分信息。每个进程一个私用U区。非常驻内存。
(3)系统区表:系统V把一个进程的虚地址空间划分为若干个连续的区,相当于第四章所讲的“段”。为对区进行管理,在核心中设置一张系统区表,用于记录描述活动取得有关信息。
(4)进程区表:系统为每个进程配置一张,用于记录区的起始虚地址和指向系统区表中对应的区表项的指针。
核心通过查找进程区表和系统区表,将区的逻辑地址变为物理地址。这里使用两张表来实现地址映射,是为了实现对区的共享。
3. UNIX进程状态及其转换
UNIX系统中,进程的状态有九种:初始态、运行态、休眠态、等待态、睡眠态、僵尸态、停止态、继续态和终止态。进程的状态转换是通过发送信号或执行系统调用来实现的。
4. 消息队列的建立
消息队列是UNIX系统中的一种IPC机制,通过系统调用msgget()可以建立消息队列。msgget()函数的原型为int msgget (key, msgflag),其中key是用户指定的消息队列的名字,msgflag是建立标志。核心将搜索消息队列头标表,确定是否有指定名字的消息队列。如果没有,核心将分配一个新的消息对列头标,并对它进行初始化,然后给用户返回一个消息队列描述符;否则,它只是检查该消息队列的许可权后便返回。
本文总结了UNIX系统的概述、进程管理机制、进程状态及其转换,并介绍了消息队列的建立机制。这些知识点是UNIX系统编程的基础知识,对于UNIX系统开发者和研究者来说非常重要。
2008-09-16 上传
2012-10-12 上传
2018-03-12 上传
2021-07-09 上传
2018-03-20 上传
2012-05-29 上传
2009-02-07 上传
点击了解资源详情
点击了解资源详情
深井冰323
- 粉丝: 24
- 资源: 2万+
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器