
OS
文章平均质量分 52
Operating System
SUKEPP
SDE
展开
-
进程调度01_操作系统类型
1. 操作系统类型Reference1.1. 单道批处理系统当 CPU 进行计算操作的时候,外部设备空闲;当外部设备进行 I/O 操作的时候,CPU 空闲。CPU 和外部设备是完全串行的工作状态。1.2. 多道批处理系统为了解决单道批处理系统存在的忙闲不均的问题,就出现了多道批处理系统。一次从磁带或磁盘上同时装入多个用户作业到内存中,使这多个作业同时处于运行状态。当该系统对计算硬件具有一...原创 2020-04-11 09:15:44 · 225 阅读 · 1 评论 -
线程间同步机制02_互斥锁
一.定义:另一种用在多线程程序中的同步访问机制是使用互斥锁。它允许程序员锁住某个对象,使得每次只能有一个线程访问它。二.使用机制:1.pthread_mutex_init函数:(1)功能: 初始化互斥量 (2)原型:int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *原创 2018-02-05 19:08:48 · 220 阅读 · 0 评论 -
线程间同步机制01_信号量
一.定义:信号量是一个特殊类型的变量,它可以被增加或者减少,但对其的关键访问被保证是原子操作,即使在一个多线程程序中也是如此。 我们将介绍一种最简单的信号量——二进制信号量,它只有0和1两种值。还有一种更通用的信号量——计数信号量,他可以有更大的取值范围。二.信号量使用机制:1.sem_init函数:(1)功能:这个函数初始化由sem指向的信号量对象,设置它的共享选项,并给它一个初始的整数值。原创 2018-02-03 18:20:17 · 279 阅读 · 0 评论 -
进程间通信05_套接字
一.定义:套接字(socket)是一种 通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。套接字的创建和使用与管道是有区别的,因为套接字明确地将客户和服务器区分开来。套接字机制可以实现多个客户连接到一个服务器。二.套接字属性:套接字的特性由是三个属性确定,它们是:1.域(domain):指定套接字通信中使用的网络介质。(1原创 2018-02-02 19:19:17 · 376 阅读 · 0 评论 -
进程间通信机制04_消息队列
一.定义:消息队列与命名管道有许多类似之处,但少了在打开和关闭管道时的复杂性。但使用消息队列并未解决我们在使用命名管道时遇到的问题,比如管道满时的阻塞问题。 与命名管道相比,消息队列的优势在于,它独立于发送和接收进程而存在,这消除了在同步命名管道的打开和关闭时可能产生的一些困难。二.消息队列机制:1.msgget函数:(1)功能:创建和访问一个消息队列。 (2)原型:原创 2018-02-01 19:09:50 · 394 阅读 · 0 评论 -
进程间通信机制03_共享内存
一.定义:它允许两个不相关的进程访问同一段逻辑内存。共享内存是两个正在运行的进程之间传递数据的一种非常有效的方式。虽然X/Open标准并没有对它做出要求,但大多数共享内存的具体实现,都把由不同进程之间共享的内存安排为同一段物理内存。二.共享内存使用机制:1.shmget函数:(1)定义:通过shmget函数来创建共享内存。 (2)原型:int shmget(key_t原创 2018-01-31 19:14:37 · 280 阅读 · 0 评论 -
进程间通信机制02_管道
一.管道的定义:当从一个进程连接数据流到另一个进程时,我们使用术语“管道”。我们通常是把一个进程的输出管道连接到另一个进程的输入。二.管道的分类及特点:1.匿名管道:(1)它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 (2)它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。 (3)它可以看成是一种特殊的文件,对于它的读写也可以原创 2018-01-30 14:40:28 · 215 阅读 · 0 评论 -
进程间通信机制01_信号量
一.信号量的定义:它是一个特殊变量,只允许对它进行等待(wait)和发送信号(signal)这两种操作。最简单的信号量是只能取值0和1的变量,即二进制信号量。可以取多个正整数值的信号量被称为通用信号量。二.linux信号量机制:1.semget函数:(1)原型:int semget(key_t key, int num_sems, int sem_flags);(2原创 2018-01-26 19:32:22 · 323 阅读 · 0 评论