操作系统部分(持续更新中)

来源:互联网 发布:土建材料计划软件 编辑:程序博客网 时间:2024/05/17 02:57

1.进程与线程

进程是CPU资源分配的最小单位,是具有一定独立功能的程序。
  线程是CPU调度的最小单位,基本上不拥有系统资源。
  一个进程可以包含1+个线程。
  进程与线程之间关系的简单解释:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

2.几个基本概念

临界区,互斥量,信号量,事件
这些概念解释了线程间同步方式。

3.进程的几种状态

4.进程间的通信方式

进程间通信主要包括管道, 系统IPC(包括消息队列,信号,共享存储), 套接字(SOCKET).
管道分为三种:
1.普通管道:只能在有亲缘关系的进程间单向传输
2.流管道:半双工,可以双向传输
3.命名管道:双工,可以在许多并不相关的进程之间进行通讯

系统IPC:
三种方式类同,都是使用了内核里的标识符来识别.
1.信号
信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生.
2.消息队列
消息队列就是消息的一个链表,它允许一个或多个进程向它写消息,一个或多个进程从中读消息。
3.共享内存
通常由一个进程创建,其余进程对这块内存区进行读写。
它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步与通信.
套接字:
可用于不同机器间的进程通信。

5.进程的同步方式

进程间通信与线程间通信之间的关系?
因为WINDOWS运行的实体是线程, 狭义上的进程间通信其实是指分属于不同进程的线程之间的通讯.而单个进程之间的线程同步问题可归并为一种特殊的进程通信.它要用到内核支持的系统调用来保持线程之间同步. 通常用到的一些线程同步方法包括:Event, 互斥量Mutex,信号量Semaphore,临界区资源等.

原创粉丝点击