1.什么是进程
进程的概念
进程是一个具有独立功能的程序关于某个数据集合的一次活动,是系统进行资源分配和调度的独立单位。
要点:
- 进程是程序的一次执行。
- 进程的运行要加载到内存中。进程是一个程序及其数据在处理机上顺序执行时发生的活动。
- 进程是程序在一个数据集合上运行的过程。
- 进程是操作系统进行资源分配和调度的一个最小的独立单位。
进程的结构和特征
进程的结构分为:控制块(PCB)、数据段、程序段。
同一个应用程序的多个进程之间他们是共享程序段,因为他们都相等。
进程的特征
- 动态性:由创建而生,由撤销而亡。在内存中创建的一堆文件才是所谓的进程
- 并发性:多个程序同时进行。同一个应用程序可以创建多个进程
- 独立性:独立资源分配
- 异步性:相互独立、互不干扰
线程与进程
什么是线程
Thread,进程的轻型实体,也叫轻量级进程,是一些列活动按实现安排好的顺序依次执行的过程,是一系列指令的集合。
是一条执行路径,不能单独存在,必须包含在进程中。
线程是OS中运算调度的最小单位。
进程和线程的区别
- 调度:线程是操作系统的最小调度单位。
- 拥有资源:进程拥有资源,线程并不拥有资源。线程共享同一个进程的资源。
- 并发性:操作系统引入进程和线程都是为了提高并发性。
- 系统开销:创建和撤销进程的过程开销比较大,操作比较麻烦。相对而言,线程的切换成本会低很多。
- 地址空间和其他资源:同一进程中的线程共享当前进程的所有内存空间,线程和线程之间彼此也是共享的。
- 通信:进程本身是独立个体,他们之间要进行通信需要采取点手段。
2.进程是怎么运行的
进程的状态
创建和终止状态
进程控制
所谓进程控制就是操作系统对进程实现的有效的管理。包括创建进程、撤销进程、挂起、阻塞和唤醒、进程切换等多种操作。操作系统通过原语操作实现进程控制。
原语
原语的概念:有若干条指令组成的小程序段
原语的特点:
- 原子操作,要么全部执行,要么全不执行,不会停在中间某一段。
- 在内核态下执行,常驻内存。操作系统一启动。所有的原语都加载进来,随时准备给OS调用。
- 是内核三大支撑功能之一。(中断/时钟/原语)
- 创建原语:
create
用户登录、作业调度、提供服务、应用请求。 - 阻塞原语:
block
请求某种服务、启动某种操作、数据未达到、无工作可做 - 唤醒原语:
wakeup
- 撤销原语:
destroy
正常结束、异常结束、外界干预。
进程调度
根据一定的算法和原则,将处理机资源进行重新分配的过程。
前提:进程数要远远大于处理机数
目的:提高资源利用率,减少处理机空闲时间
调度顺序:一方面要满足特定系统用户的需求(快速响应),另一方面要考虑系统整体效率((系统平均周转时间)和调度算法本身的开销。