操作系统原理——进程管理

一、进程的概念

  1. 进程是允许并发的程序在某个数据集合上运行的过程
  2. 进程是正文段用户数据段进程控制块共同组成的执行环境。

二、进程与程序的区别

  1. 程序是静态的,进程是动态的
  2. 程序是永久的,进程是暂时存在的
  3. 程序和进程存在的实体不同。程序是指令的集合,进程是由正文段、用户数据段、进程控制块组成

三、进程与程序的关系

进程是程序的一次执行,进程总是对于一个特定的程序,一个程序可以对于多个进程

四、进程的组成部分

正文段

正文段存放被执行的激情指令

用户数据

用户数据段存放进程在执行时要操作的用户数据

进程控制块

是操作系统管理进程所使用的数据结构
进程控制块是实体的一部分,是操作系统重要的数据结构,进程控制块中记录了操作系统所需要的,用户描述进程情况以及控制运行所需要的全部信息,进程控制块是操作系统感知进程存在的唯一标志。

五、进程管理

  1. 进程的状态信息:就绪态、执行态、阻塞态
  2. 进程的组织方式:链接方式、索引方式、进程队列
  3. 进程的控制:进程的创建—阻塞—唤醒—终止
  4. 进程的创建条件:1) 用户登录 2)作业调度 3)提供服务 4)应用请求
  5. 阻塞条件: 1)请求系统服务 2)数据尚未到达 3)无工作可做 4)启动某种操作

操作系统内核

操作系统内核是指系统与硬件密切相关、执行频率高的模块,一般常驻内存。

操作系统内核的功能

  1. 支持功能
    支撑功能包括:中断处理、时钟管理和原语操作,其中原语操作是一组在执行过程中不能中断的操作

  2. 资源管理功能
    资源管理功能包括:进程的管理、存储器管理和设备管理

####中断

中断时改变计算机执行指令的顺序的一种事件,这种事件与cpu芯片内外部硬件电路参数的电信号对应。

中断的目的:能够有效提高cpu的利用率,改善系统性能,支持系统的异步性。例如在引用中断机制之前,采用的是发福轮询的方式来检测本次I/O是否结束。

中断的类型

  1. 同步中断:当指令执行时由cpu控制段元产生的,如除法出错,调试、溢出、浮点出错等
  2. 异步中断(外部中断):是由其他硬件设备随机产生的,可分为外部可屏蔽中断(I/O设备产生)和外部不可屏蔽中断(紧急事件产生,硬件故障等)

引起中断的原因:1)人为设置中断 2)程序性事故 3)I/O设备 4)硬件故障 5)外部事件

时钟管理

计算机很多活动都是有定时测量来控制的,两种定时测量 1) 保存当前的系统事件和日期 2)维持定时器,操作系统依靠时钟硬件和时钟驱动程序完成上述两种测量

时钟硬件:按照指定时间间隔产生时钟中断,测量逝去的时间,并触发与时间有关的操作
时钟软件:维护日期和时间,递减当前进程在一个时间片内的剩余执行时间,对cpu的使用情况记账,递减报警计算器

时钟源:实时时钟(RTC/CMOS)/OS时钟

系统调用与一般函数

系统调用是一群实现定义好的模块,他们提供一条管道让应用程序或用户能由此得到核心程序的服务。系统调用时系统程序与用户程序之间的接口。

系统调用与一般函数的区别:

  1. 系统调用运行在系统态,一般函数运行在用户态
  2. 系统调用与一般函数的执行过程不同,系统调用中断时,有系统找到对于的系统调用子程序
  3. 系统调用要进行[中断处理],比一般函数多一些系统开销

进程同步:

操作系统同步机制的主要任务就是保证在多任务共享系统资源的情况下,程序能够得到正确的结果。同时,同步机制需要解决进程执行的协调问题。

进程同步有两个作用

  1. 对具有共享资源的进程,保住以互斥的方式访问临界资源。临界资源必须以互斥的方式访问共享资源
  2. 对具有相互合作关系的进程,要保证相互合作的各个进程协调执行

同步机制遵循的准则: 1)空闲让进 2)忙则等待 3)有限等待 4) 让权等待

信号量机制

信号量机制对不同共享资源设置称之为信号量的变量,用信号量的取值标识资源的使用情况,或某种事件的发生

整形信号量机制

用整形来标记资源的使用情况。若整形量>0,说明有资源可用;若整形量<=0,说明资源忙,进程必须等待。

记录型信号量机制

除了用整形来标记资源的使用情况外,额外使用一个记录进程队列来存储等待资源的进程。这样就不存在“忙等”,而是通过有可用资源时的回调触发

AND型信号量的机制

基本思想是将进程在整个运行过程中所需要的所有资源一次性的全部分配给进程,待进程使用完后再一起释放。

六、线程

在操作系统中,进程是进行资源分配和独立执行的基本单位,为了进一步提高程序的并发性,减少系统的开销,在操作系统中引入了线程的概念。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程在运行中断性,也有就绪、执行、阻塞三种状态。


 上一篇
操作系统原理——进程调度与死锁 操作系统原理——进程调度与死锁
一、进程调度 进程的调度室指按照某种策略或算法从就绪进程中为当前空闲的cpu选择在其上运行的新进程 二、进程的调度算法 ##1. 时间概念 周转时间是指从作业开始提交给系统开始,到作业完成为止系统的 平均周转时间T=N各种作业的周转时间
下一篇 
高性能无锁阻塞队列——Disruptor 高性能无锁阻塞队列——Disruptor
这是我年初在公司内部技术分享讲Disruptor的PPT,整理下放到博客里面。 什么是Disruptor Disruptor 是一个用于在线程间通信的高效低延时的消息组件,它像个增强的队列,能够在无锁的情况下实现异步并发操作,它是纯内存组
2020-09-30
  目录