操作系统 第二章 (用户态 核心态 中断 异常)

进程的定义

程序:就是一个指令序列
PCB(进程控制块存放有进程位置等信息)、程序段和数据构成了进程实体(进程映像),PCB是进程存在的唯一标志
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
进程的组织方式
1)链接方式:按照进程状态将PCB分为多个队列,操作系统持有指向各个队列的指针
2)索引方式:根据进程状态的不同,建立几张索引表,操作系统持有指向各个索引的指针
在这里插入图片描述

进程的状态与转换

进程的三种基本状态:
1)运行态:占有CPU并在CPU上运行
2)就绪态:已经具有运行条件,但是没有空闲CPU暂时不能运行
3)阻塞态:因等待某事件发生而不能运行,比如资源分配等
进程的另外两种状态:
4)创建态:正在被系统创建,初始化PCB等
5)终止态:进程正从系统撤销,操作系统回收进程的资源
在这里插入图片描述
在这里插入图片描述

进程控制

用原语实现进程控制。原语的特点是执行期间不允许中断,这种不中断的操作称为原子操作。原语采用“关中断指令”和“开中断指令”实现,原语运行在核心态

在这里插入图片描述

进程通信

各进程拥有的内存地址空间相互独立,一个进程不能直接访问另一个进程的地址空间
进程通信的方式:
1)共享存储:
①基于数据结构的共享:比如共享空间只能存放长度为10的数组。这种共享方式速度慢,是一种低级通信的方式
②基于存储区的共享:在内存中画出一块共享存储区,是一种高级通信方式
2)管道通信:pipe通信,是指用于连接读写进程的一个共享文件,其实是内存中大小固定的一个缓冲区。
①管道通信只能半双工,某一时间内只能实现单向传输。如果需要实现双向同时通信,则需要设置两个管道。
②各个进程需要互斥的访问管道。
数据以字符流的形式写入管道,当管道写满时,写进程的write()系统调用将被阻塞,等待系统将数据取走。当度进程将数据全部取走后,管道变空,此时度进程的read()系统调用将被阻塞。
没有写满不允许读,没有读空不允许写
⑤数据一旦被独处,就从管道中被抛弃,这意味着读进程最多只能有一个
3)消息传递:进程间的数据以格式化的消息为单位。进程通过操作系统提供的“发送消息/接受消息”两个原语进行数据交换。分为直接通信方式和间接通信方式(又称信箱通信方式Eg:计网中的邮件系统)
在这里插入图片描述

线程概念和多线程模型

线程是基本的CPU执行单元,也是程序执行流的最小单位
进程是处理机调度的基本单位,进程是资源分配的单位
线程是处理机调度的基本单位

进程内的线程之间可以并发,进一步提高了系统的并发度。比如一个QQ进程可以语音同时发文件,就是两个线程同时处理两个任务。
引入线程后,进程只作为除CPU之外的系统资源的分配单元。如打印机、内存地址空间分配等
线程的实现方式:
1)用户级线程:线程管理工作由应用程序负责,线程切换可以在用户状态下完成,用户级线程只能为用户看到不能被系统看到
2)内核级线程:线程的管理由操作系统完成,线程切换在核心态下完成,从操作系统视角可以看到线程
内核级线程才是处理机分配的单位
多线程模型:
多对一模型:多个用户线程映射到一个内核级线程
优:进程管理开销效率高
缺:一个线程阻塞会导致整个进程都被阻塞(并发度低)
一对一模型:一个用户线程映射到一个内核级线程
优:各个线程可以分配到多核机并行处理,并发度高
缺:进程管理的开销大
多对多模型:n个用户线程映射到m个内核模型
在这里插入图片描述

处理机调度的概念、层次

三层调度:高低中级和低级
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程调度的时机、切换与过程、方式、

进程在操作系统临界区中不能进行调度和切换,内核程序临界区一般是用来访问某种内核数据结构的
进程调度方式:
非剥夺调度方式:又称非抢占式,适合于早起批处理系统
剥夺调度方式:又称抢占方式,适合分时操作系统、实时操作系统
在这里插入图片描述

调度算法评价指标

CPU利用率:忙碌的时间/总时间
系统吞吐量:总共完成了多少道作业/总共花了多少时间
周转时间:指从作业被提交给系统开始,到作业完成为止这段时间间隔
平均周转时间:各作业的周转时间之和/作业数
带权周转时间:作业周转时间/作业实际运行时间
平均带权周转时间:各作业带权周转时间之和/作业书
等待时间:作业等待处理机状态时间之和,对于进程,等待时间就是指进程建立后等待被服务的时间之和
响应时间:提出请求到首次响应的间隔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值