操作系统基本概念

操作系统: 负责协调、管理硬件、软件资源的工作。为上层应用程序和用户提供简单易用的服务。操作系统是系统软件,不是硬件。简单地说,8个字:提高效率、方便用户。
操作系统的功能: 处理机管理、存储器管理、文件管理、设备管理。
操作系统特征: 并发、共享(这二者互为存在条件);虚拟、异步
共享: 互斥共享(一个时间段内,只允许一个进程进行访问)(摄像头);同时共享(一个时间段内,可允许多个进程“同时”进行访问)(硬盘资源)
虚拟: 空分复用技术(虚拟存储器技术)时分复用技术(虚拟处理器)
并发性: 两个或者多个事件在同一时间间隔内发生,宏观上同时,微观上是交替发生的。
异步性: 进程是走走停停的。
并行: 两个或多个事件在同一时刻内发生。
指令: 分为特权指令和非特权指令。
两种处理器状态: 用户态(目态)(CPU只能处理非特权指令)、核心态(管态)(CPU可以处理特权指令)。状态可以由PSW寄存器的某一个标志位来标记。从用户态到核心态之间的切换是通过中断来完成的,并且中断是唯一途径。核心态到用户态的转换是需要一个特权指令,将程序状态字PSW的标志位设置为“用户态”。
内核: 时钟管理、原语(设备驱动、CPU切换)、中断管理、(微内核)|进程管理、设备管理、存储器管理|(大内核)
系统调用按功能分为: 设备管理、内存管理、进程控制、文件管理、进程通信。
进程通信:
在这里插入图片描述
引入线程后的变化:
在这里插入图片描述
线程属性:
在这里插入图片描述

阻塞: 等待分配系统资源或者某一事件发生的状态。
进程的阻塞和唤醒 :阻塞:保护现场,更改PCB,将PCB加入到等待队列中。唤醒:进程需要的资源已分配或者等待的事件发生。
**创建进程的过程中包括哪些过程:**初始化PCB,分配系统资源。

进程: 程序的执行过程(它是资源分配,接受调度的基本单位)。
进程特征: 动态性、异步性、独立性、并发性、结构性(由程序段、数据段、PCB(进程控制块组成))。PCB是进程存在的唯一标志。
进程的组织方式: 链接方式(指针)、索引方式(索引表)。
进程控制块PCB: 进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息。
进程的状态: 就绪,执行,阻塞,创建,终止。
进程之间的转换:
就绪->运行:进程被调度
运行->就绪:时间片到或者处理机被抢占
运行->阻塞:请求调用某个系统资源或者等待某一事件发生(主动行为)
阻塞->就绪:资源就为或者等待的事件已经发生(被动行为)
如下图:在这里插入图片描述
原语(利用开中断和关中断实现):总的来说会进行以下3种动作:
(1)更改PCB
(2)将PCB加入到合适的队列
(3)分配和回收资源
进程调度:
什么是临界区?临界区的访问原则是什么?
抢占式进程调度:
分时系统与实时系统的主要区别是什么?
分时操作系统:将一段时间分为多个时间片,以时间片为单位轮流为每个用户或作业进行服务。特点是公平,缺点是不能优先处理更紧急的任务。(及时性、可靠性)
实时操作系统:能够优先处理一些紧急的任务。(硬实时操作系统:导弹、飞机;软实时操作系统:订票系统)

临界资源: 一个时间段内只允许一个进程使用的资源,各进程需要互斥地访问临界资源。
临界区: 访问临界资源的那段代码
文件物理结构:
段表:
页表:
高级调度(作业调度): 按照一定的原则从外存上处于后备队列挑选一个或者多个作业,给它们分配内存等资源,创建进程PCB,以使它获得竞争处理机的权力。是内存与外存之间的调度。
挂起状态: 暂时将进程调到外存等待称为挂起状态。PCB并不会调到外存,而是常驻内存,存放到挂起队列中。
中级调度(内存调度): 就是决定将PCB队列中的哪个进程调入内存。一个进程可能多次调入调出内存,因此,中级调度发生的频率会比高级调度发生的频率高。
低级调度(进程调度): 按照某种算法,从就绪队列中选取一个进程,分配处理机。发生频率最高。
进程调度方式: 非抢占式进程调度、抢占式进程调度。
进程切换:
(1)将原来的进程进行保存
(2)对新进程的数据进行恢复
评价调度算法的指标:(1)CPU利用率(2)系统吞吐量(3)周转时间
周转时间的计算:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

周转时间: 作业完成时间-作业提交时间
调度算法_1:
(1)先来先服务(FCFS),最先到的作业或者进程先得到服务。对长作业有利,对短作业不利,不会导致饥饿。(优点:公平)
(2)短作业优先(SJF),最短的作业或者进程先服务。对短作业有利,对长作业不利,会导致饥饿。(优点:对短作业友好)
(3)高响应比优先(HRRN):综合考虑进程/作业的等待时间和运行时间,引入响应比,响应比高先服务。不会导致饥饿。非抢占式调度算法,只有当前进程主动放弃CPU时,才需要进行调度。(优点:让各个进程得到及时响应)
在这里插入图片描述

调度算法_2:
(1)时间片轮转调度算法:主要用于进程调度,伴随着分时操作系统产生而产生。按照个进程到达就绪队列的顺序,轮流让各个进程执行一个时间片,若进程未在一个时间片执行完,剥夺处理机,将进程重新排在就绪队列队尾等待。时间片越大时,会退化为先来先服务算法。时间片也不能太小,否则会花大量时间在进程切换上。不会导致饥饿。(优点:让各个进程得到及时响应)
(2)优先级调度算法:会为每个进程设置优先级,每次调度时选择优先级最高的进程。会导致饥饿。(优点:灵活的调整各进程被服务的机会)
(3)多级反馈队列调度算法:设置多级队列,优先级从高到低,时间片由小到大。。。。会导致饥饿。
进程同步: 直接制约关系。
进程互斥: 当一个进程正在访问临界资源,另一个进程也想要访问该临界资源时必须进行等待。
进程互斥的原则:
(1)空闲让进;
(2)忙则等待;
(3)有限等待;
(4)让权等待。
实现进程互斥的软件方法:
(1)单标志法;
(2)双标志法:
(3)peteson方法。
实现进程互斥的硬件方法:
(1)开、关中断屏蔽法(不适用于多处理机,只适用于操作系统内核进程);
(2)TestandSet方法;
(3)Swap方法。
信号量: 其实就是一个变量,表示系统中某种资源的数量。
PV操作: wait(申请资源),signal(释放资源);
生产者和消费者问题: 主要是互斥和同步的综合问题。注意:执行互斥的操作必须在执行同步操作之后,否则会发生死锁。
死锁: 并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源、导致各进程都阻塞,都无法向前推进的现象。
SPOOLing技术: 把独占设备改造成共享设备。
预防死锁: 破坏互斥条件、破坏不剥夺条件、破坏请求和保持条件、破坏循环等待条件。
银行家算法: 利用安全序列来预防死锁。
静态重定位: 特点是在一个作业装入内存时,必须分配其要求的全部内存空间,如果没有足够的内存,就不能装入该作业。作业一旦进入内存后,在运行期间就不能再移动,也不能再申请存储空间。
动态重定位: 动态运行时装入。将地址转换推迟到程序真正要执行时才进行。
内存管理:(1)内存空间的分配与回收;
(2)内存空间的扩充;
(3)地址转换;
(4)存储保护。
页式存储管理:
在这里插入图片描述
地址转换:
页号=逻辑地址/页面长度
页内偏移量=逻辑地址%页面长度
发生了2次访问内存动作:1、查页表;2、访问目标存储单元。
。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值