软考之路--操作系统

来源:互联网 发布:淘宝下单后商品下架了 编辑:程序博客网 时间:2024/06/05 15:37

一、进程相关的概念:

  进程、线程和管程

  这是三个看起来似乎比较容易混淆的概念,所以在复习的时候一定要牢记其定义和相互之间的区别。

  *进程

  进程是一个可并发执行的程序在一个数据集合上的运行过程。也就是说,它是运行中的程序,是程序的一次运行活动。在操作系统中,进程是进行系统资源分配、调度和管理的最小单位。

  *线程

  对于一些多线程程序来讲,其包含两条或两条以上并发运行的部分,每个部分就称作一个线程,每个线程都有独立的执行路径。线程是处理器分配资源的最小单位。

  *管程

  管程是一种并发性的构造,它包括用于分配一个共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。

  操作系统中,多任务处理一般有两种方式:基于进程和基于线程。基于进程的多任务处理的特点是允许计算机同时运行两个或更多的程序。而基于线程的多任务处理是指一个程序可以同时执行两个或者多个任务的功能。

  多线程程序比多进程程序需要更少的管理费用。进程是重量级的任务,需要分配它们自己独立的地址空间。进程间的通信和相互转换需要很多的开销。而线程是轻量级的任务,它们共享相同的地址空间并且分享同一个进程。线程间的通信和转换开销要小很多

二、信号量处理:

  信号量和P-V操作

  为了解决进程同步的问题,提出了信号量机制。这一机制取得了很大的发展,从整型信号量到记录型信号量,再进而发展为“信号量集”机制。不过,在原理上和考试中,一般我们都只涉及整型信号量机制。

  对于互斥临界区的管理要求:

  n 有空则进

  n 无空等待

  n 两者择一

  n 有先等待

  在整型信号量机制中,信号量被定义为一个整型变量,除初始化外,仅能通过两个标准的原子操作wait(s)和signal(s)来访问。其通常被分别称作P、V操作。描述如下:

  P操作

  I. S-1→S

  II. 如果S<0,则该进程进入等待状态;否则继续进行

  V操作

  I. S+1→S

  II. 如果S≥0,则唤醒队列中的一个等待进程

  进程互斥的情况初值是1,而同步的初值是0


原创粉丝点击