操作系统导论
2021-04-12 11:26:49 16 举报
AI智能生成
自考操作系统概论知识
作者其他创作
大纲/内容
操作系统简介
操作系统是什么?
操作系统是一种复杂的软件系统,是不同程序代码、数据结构、初始化文件的集合,可执行。
操作系统是覆盖在裸机上的第一层软件。
操作系统是用户与硬件之间的接口
操作系统是资源的管理者:包括内存管理、文件管理、处理器管理、设备管理
操作系统是覆盖在裸机上的第一层软件。
操作系统是用户与硬件之间的接口
操作系统是资源的管理者:包括内存管理、文件管理、处理器管理、设备管理
目标
1.与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提供服务
2.未运行在计算机系统上的应用程序提供执行环境。
2.未运行在计算机系统上的应用程序提供执行环境。
操作系统四大特征
并发性
多个事件在同一时间段内发生,例如:一个人在一段时间内,吃米饭、牛肉、蔬菜等事件(单核)
并行:同个时间内,多个事件同时发生,例如两个人在一个时间内一起吃饭(多核)
共享性
系统中的资源可供内存中多个并发的进程同时使用
互斥共享:一个时间段内只允许一个进程访问,例如打印机的使用
同时共享:一个时间段内允许多个程序同时访问,如硬盘访问资源
虚拟性
虚拟是指通过某种技术把一个物理实体变成若干逻辑上的对应物。(如:虚拟内存,仅仅是针对于用户,让用户感觉到存在而已)
异步性
异步性是指在多道程序环境下,允许多个程序并发,但是由于资源有限,进程的执行并不是一贯到底,而是走走停停,以不可预知的速度向前推进。
注意:并发和共享是最基本的特征,且互为存在条件。没有并发和共享,虚拟和异步就谈不上
操作系统的发展
单道批处理系统
第二代计算机,使用晶体管作为主要电子器件,使用磁性存储设备,内外存容量增加,计算机运行速度提高。
不具有人机交互功能,只能同时处理一个程序。吞吐量低。
不具有人机交互功能,只能同时处理一个程序。吞吐量低。
自动性、顺序性、单道性
优点:减少了等待人工操作时间
缺点:CPU资源不能得到有效利用
优点:减少了等待人工操作时间
缺点:CPU资源不能得到有效利用
多道批处理系统
集成电路芯片,不具有人机交互,可以并发的处理多个程序(时间片轮转)
多道性、无序性、调度性、复杂性
优点:使CPU和内存IO资源得到充分利用,提高系统吞吐量
缺点:系统平均周转时间长,缺乏交互能力。
优点:使CPU和内存IO资源得到充分利用,提高系统吞吐量
缺点:系统平均周转时间长,缺乏交互能力。
微机操作系统(分时操作系统)
个人计算机Windows,Linu(可以多人操作,具有人机交互功能)
多路性、及时性、交互性、独立性
优点:提供了人机交互、可以使用户通过不同终端分享主机。
缺点:不能及时接收及时处理用户命令。
优点:提供了人机交互、可以使用户通过不同终端分享主机。
缺点:不能及时接收及时处理用户命令。
实时操作系统
自动控制、海底探测、智能机器人、航天航空,对响应速度要求高,执行时间要求严苛
多路性、独立性、及时性、交互性、可靠性
在实时系统中,往往采取多级容错来保证系统安全和数据安全。
在实时系统中,往往采取多级容错来保证系统安全和数据安全。
无操作系统
第一代计算机(1945-1955)使用电子管作为主要电子器件,无内存无操作系统
第一台电子计算机:1946年宾夕法尼亚大学的埃尼阿克
第一台电子计算机:1946年宾夕法尼亚大学的埃尼阿克
产品现状
主机操作系统:大型主机,具备批处理、事务处理(银行支票处理或者航班预定)、分时处理。
微机操作系统:个人机操作系统。
服务器操作系统:通过网络同时为众多用户服务,例如Web服务、文件服务
嵌入式操作系统:智能手机、游戏机等物联网操作系统,例如IOS、Android、鸿蒙操作系统
操作系统的功能
内存管理
主要任务是提高内存的利用率
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有的程序的运行都是在内存中进行的。作用是用于暂放CPU中的运算数据,以及硬盘等外部存储器交换的数据。内存的优点是告诉但是数据需要一直通电才能保存。
1.内存分配:为每道程序分配内存空间。
2.内存保护:保护内存空间不被随意访问,以保证系统的安全与稳定;确保每道用户程序都在自己的空间内运行。
地址映射:CPU执行程序过程中访问内存时,需要把程序的逻辑地址转换成物理地址,这个过程称为映射。
物理地址就是指内存单元真正的地址,逻辑地址是CPU生成的地址,本课程中,把一切非物理地址的其他各种形式的地址均称为逻辑地址
4.内存扩充:虚拟地址。包括请求调入功能和置换功能。
2.内存保护:保护内存空间不被随意访问,以保证系统的安全与稳定;确保每道用户程序都在自己的空间内运行。
地址映射:CPU执行程序过程中访问内存时,需要把程序的逻辑地址转换成物理地址,这个过程称为映射。
物理地址就是指内存单元真正的地址,逻辑地址是CPU生成的地址,本课程中,把一切非物理地址的其他各种形式的地址均称为逻辑地址
4.内存扩充:虚拟地址。包括请求调入功能和置换功能。
进程管理
设备管理
文件管理
文件存储在外存空间,外储存器是指除计算机内存及CPU缓存以外的存储器,此类存储器一般断电后仍能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘。
目录管理功能,包括文件名、文件属性、文件地址等。
文件的读写管理。
目录管理功能,包括文件名、文件属性、文件地址等。
文件的读写管理。
提供用户接口
为了方便用户使用操作系统,操作系统向用户提供了用户与操作系统之间的接口
1.命令接口:通过终端或控制台控制操作系统
2.图形用户接口:选择窗口等
3.程序接口
1.命令接口:通过终端或控制台控制操作系统
2.图形用户接口:选择窗口等
3.程序接口
操作系统的体系结构
简单的监控程序模型
单体结构模型
层次结构模型
客户/服务器模型与微内核结构
动态可扩展结构模型
指令的执行
程序是指令的集合,程序的执行就是按照某种控制流执行指令的过程。
一个单一指令需要的处理成为指令周期,包括取指周期和执行周期。
进程调度
程序
程序的并发执行特点
间断性
失去封闭性
不可再现性
顺序执行特点
顺序性
封闭性
可再现性
进程
1.进程是允许并发的程序在某个数据集合上的运行过程
2.进程是正文段、用户数据段和进程控制块共同组成的执行环境。正文段存放被执行的机器指令,用户数据段存放进程在执行时要操作的用户数据,进程控制块存放程序的执行环境,操作系统通过这些描述和管理进程。
3.程序装入内存后就可以运行了,就像有了生命,进程代表了程序的执行过程,是一个动态的实体,它随着指令的执行而不断变化,在某个特定的时刻的进程内容被称为进程映像。
2.进程是正文段、用户数据段和进程控制块共同组成的执行环境。正文段存放被执行的机器指令,用户数据段存放进程在执行时要操作的用户数据,进程控制块存放程序的执行环境,操作系统通过这些描述和管理进程。
3.程序装入内存后就可以运行了,就像有了生命,进程代表了程序的执行过程,是一个动态的实体,它随着指令的执行而不断变化,在某个特定的时刻的进程内容被称为进程映像。
进程的特征
1.并发性:多个进程实体能在一段时间间隔内同时允许。
2.动态性:进程是进程实体的执行过程。
3.独立性:进程是独立运行和资源调度的基本单位
4.异步性
5.结构特征:包括用户正文段、用户数据段和进程控制块。
2.动态性:进程是进程实体的执行过程。
3.独立性:进程是独立运行和资源调度的基本单位
4.异步性
5.结构特征:包括用户正文段、用户数据段和进程控制块。
与程序的比较
1.程序是静态的,进程是动态的。
2.程序是永久的,进程是暂时存在的。
3.程序和进程存在的实体不同。程序是指令的集合,进程是由正文段、用户数据段、进程控制块组成。
2.程序是永久的,进程是暂时存在的。
3.程序和进程存在的实体不同。程序是指令的集合,进程是由正文段、用户数据段、进程控制块组成。
进程与程序的联系
进程是程序的一次执行,进程总是对应至少一个特定的程序,执行程序的代码,一个程序可以对应多个进程。
进程控制块PCB
进程控制块是进程实体的一部分,是操作系统中最重要的数据结构。PCB中记录了操作系统所需要的、用于描述进程情况及控制进程运行所需的全部信息。进程控制块是操作系统感知进程存在的唯一标识。
1.进程标识符信息
2.处理机状态信息
3.进程调度信息
4.进程控制信息
2.处理机状态信息
3.进程调度信息
4.进程控制信息
进程的状态
就绪态:进程一旦获得CPU就可以投入运行的状态。进程停止,资源都不缺,就缺CPU调度,给CPU调度就能运行。
执行态:程序正在运行的状态。什么都不缺;正在运行的进程。
阻塞态:进程由于等待资源或某个事件的发生而暂停执行的状态。进程停止,缺必要的资源,给CPU调度也不能运行。
执行态:程序正在运行的状态。什么都不缺;正在运行的进程。
阻塞态:进程由于等待资源或某个事件的发生而暂停执行的状态。进程停止,缺必要的资源,给CPU调度也不能运行。
进程状态的转换
进程的状态不能由阻塞状态直接变成执行态。
1.阻塞的进程获得等待的资源或信号(阻塞态->就绪态)
2.时间片轮转的情况下,进程的时间片用完了(运行态->就绪态)
3.CPU调度给优先级更高的进程(运行态->就绪态)
1.阻塞的进程获得等待的资源或信号(阻塞态->就绪态)
2.时间片轮转的情况下,进程的时间片用完了(运行态->就绪态)
3.CPU调度给优先级更高的进程(运行态->就绪态)
进程的组织
1.链接方式
2.索引方式
3.进程队列
2.索引方式
3.进程队列
进程的控制
进程的创建
通常在下列情况下需要创建新进程
1.用户登录;登录系统
2.作业调度;调入内存准备运行
3.提供服务
4.应用请求
通常在下列情况下需要创建新进程
1.用户登录;登录系统
2.作业调度;调入内存准备运行
3.提供服务
4.应用请求
创建新进程的步骤
1.申请空白的PCB
2.为新进程分配资源
3.初始化PCB
4.将新进程插入就绪队列
1.申请空白的PCB
2.为新进程分配资源
3.初始化PCB
4.将新进程插入就绪队列
进程的阻塞和唤醒
操作系统在下列情况可能进行进程的阻塞和唤醒操作
1.请求系统服务,例如打印服务
2.启用某种操作
3.新数据尚未到达
4.无新工作可做
操作系统将阻塞态进程唤醒,将其变成就绪态进程,过程如下:
1.将进程从阻塞队列中移除
2.将进程状态由阻塞态改为就绪态
3.将进程插入就绪队列
操作系统在下列情况可能进行进程的阻塞和唤醒操作
1.请求系统服务,例如打印服务
2.启用某种操作
3.新数据尚未到达
4.无新工作可做
操作系统将阻塞态进程唤醒,将其变成就绪态进程,过程如下:
1.将进程从阻塞队列中移除
2.将进程状态由阻塞态改为就绪态
3.将进程插入就绪队列
操作系统内核
内核定义:操作系统内核是计算机硬件的第一次扩充,内核执行操作系统与硬件密切相关,执行频率高的模块,常驻内存。
一般操作系统内核的功能包括:
1.支撑功能:包括中断处理 、时钟管理和原语操作(原语操作是一组在执行过程中不能被中断的操作)
2.资源管理功能:进程管理、存储器管理和设备管理
1.支撑功能:包括中断处理 、时钟管理和原语操作(原语操作是一组在执行过程中不能被中断的操作)
2.资源管理功能:进程管理、存储器管理和设备管理
中断是改变计算机执行指令顺序的一件事情,这种事件与CPU芯片内外部硬件电路产生的电信号相对应。计算机在执行程序的过程中,当出现中断时,计算机停止现行程序的运行,转向对这些中断事件的处理,处理结束后在返回到现行程序的间断处。
中断的目的:能有效提高CPU的利用率,改善系统性能,支持系统的异步性。
中断的目的:能有效提高CPU的利用率,改善系统性能,支持系统的异步性。
中断类型:
1.同步中断(内部中断或异常)
2.异步中断(外部中断)
同步中断是指当CPU控制单元产生的,如除法出错,调试溢出、浮点出错等
异步中断由其他硬件设备随机产生,可分为外部可屏蔽中断(I/O设备产生)和外部不可屏蔽中断(紧急事件产生,硬件故障等)
引起中断的原因:
1,人为设置中断 2.程序性事故 3.I/O设备 4.硬件故障 5,.外部事件
单重中断的处理过程:CPU在反复执行指令的过程中,每执行完一条执行,都会检查是否有外部中断的到来,如果有中断信号,则转中断处理。
1.同步中断(内部中断或异常)
2.异步中断(外部中断)
同步中断是指当CPU控制单元产生的,如除法出错,调试溢出、浮点出错等
异步中断由其他硬件设备随机产生,可分为外部可屏蔽中断(I/O设备产生)和外部不可屏蔽中断(紧急事件产生,硬件故障等)
引起中断的原因:
1,人为设置中断 2.程序性事故 3.I/O设备 4.硬件故障 5,.外部事件
单重中断的处理过程:CPU在反复执行指令的过程中,每执行完一条执行,都会检查是否有外部中断的到来,如果有中断信号,则转中断处理。
时钟管理
计算机系统中的两大时钟源:
1.实时时钟:最底层的数据
2.OS时钟:开机时有效。
计算机系统中的两大时钟源:
1.实时时钟:最底层的数据
2.OS时钟:开机时有效。
系统调用:是一群事先定义好的模块,他们提供一条管道让应用程序或用户能得到此核心程序的服务。
系统调用是系统程序与用户程序之间的接口
系统调用与一般函数调用的区别:
1.系统调用运行在系统态,一般函数运行在用户态
2.系统调用与一般函数的执行过程不同,系统调用中断时,由系统找相应的系统调用子程序。
3.系统调用要进行中断处理,比一般函数多了一些系统开销。
系统调用是系统程序与用户程序之间的接口
系统调用与一般函数调用的区别:
1.系统调用运行在系统态,一般函数运行在用户态
2.系统调用与一般函数的执行过程不同,系统调用中断时,由系统找相应的系统调用子程序。
3.系统调用要进行中断处理,比一般函数多了一些系统开销。
进程同步
操作系统进程同步机制的主要任务就是保证在多任务共享系统资源的情况下,程序执行能得到正确的结果,同时,同步机制需要解决进程执行的协调问题
进程同步有两个概念:在多任务中,进程一般存在资源共享关系和互相合作的关系,进程同步有两个任务:
1.对具有共享资源关系的进程,保证以互斥的方式访问临界资源,临界资源是必须以互斥方式访问的共享资源。
2.对具有相互合作关系的进程,要保证相互合作的诸进程协调执行。相互合作的进程可能同时存在资源共享的关系。
进程同步有两个概念:在多任务中,进程一般存在资源共享关系和互相合作的关系,进程同步有两个任务:
1.对具有共享资源关系的进程,保证以互斥的方式访问临界资源,临界资源是必须以互斥方式访问的共享资源。
2.对具有相互合作关系的进程,要保证相互合作的诸进程协调执行。相互合作的进程可能同时存在资源共享的关系。
同步进程应遵循的准则:
1.空闲让进
2.忙则等待
3.有限等待
4.让权等待
1.空闲让进
2.忙则等待
3.有限等待
4.让权等待
信号量机制:用信号量的取值来表示资源的使用状况,或某种事件是否发生,以此为基础实现进程同步。
整型信号量机制
如果整型量>0,说明有可用资源,如果整型量<=0,说明资源忙,进程必须等待。
Wait操作:用于申请资源,当发生Wait之后,资源数-1
Signal操作:用户释放资源,但发生Signal之后,资源数+1
如果整型量>0,说明有可用资源,如果整型量<=0,说明资源忙,进程必须等待。
Wait操作:用于申请资源,当发生Wait之后,资源数-1
Signal操作:用户释放资源,但发生Signal之后,资源数+1
记录型信号量机制
Value 资源数量
L:list of process阻塞队列
通过去验证每次 s.Value是否大于0,来判断是否让进程来使用此资源,但是,一旦s.Value=1就允许一个进程访问该资源,从而实现互斥。
Value 资源数量
L:list of process阻塞队列
通过去验证每次 s.Value是否大于0,来判断是否让进程来使用此资源,但是,一旦s.Value=1就允许一个进程访问该资源,从而实现互斥。
AND型信号机制
好几个进程对好几个共享资源的一个实现的方法。
核心机制:就是讲一个进程运行过程中的所有需要的资源,都一次性全部分配给进程,待进程使用完成后,在一并的去释放。
好几个进程对好几个共享资源的一个实现的方法。
核心机制:就是讲一个进程运行过程中的所有需要的资源,都一次性全部分配给进程,待进程使用完成后,在一并的去释放。
管程
管程是描述共享资源的数据结构和在数据结构上的共享资源的管理程序
的集合。
因为信号量机制:每个要访问临界资源的进程,都要自备wait () 和
signal(),这样就使得所有的操作都分散在各个进程里面,会给系统的管
理,带来很到的麻烦。一旦一个操作的使用不当,就会导致系统的死锁。
所以就使用了一种新的方法就是管程;
的集合。
因为信号量机制:每个要访问临界资源的进程,都要自备wait () 和
signal(),这样就使得所有的操作都分散在各个进程里面,会给系统的管
理,带来很到的麻烦。一旦一个操作的使用不当,就会导致系统的死锁。
所以就使用了一种新的方法就是管程;
利用共享数据结构抽象的表示系统的共享资源,把对该共享数据的操作定义为一组过程。进程对共享资源的操作,就是这组过程对共享数据的一个操作。
而这组过程组成了以个资源程序和共享的数据结构,构成了一个操作系统的资源管理模块。
局部与管程内部的数据结构,只允许管程内部的过程进行访问。其实管程就像是围墙,把共享的数据对他的操作包围起来,但进程访问临界资源的时候,就会经过管程,一次只允许一个进程进入管程,从而实现了进程互斥。
但进程在访问临界资源的时候,显示调用管程,一旦管程正在被其他的进程调用,管程调用wait()将自己插入到队列中,一旦当前的管程被释放。其他的进程就可以使用这个管程了,所以说这个过程进程的等待,就是管程的等待。
而这组过程组成了以个资源程序和共享的数据结构,构成了一个操作系统的资源管理模块。
局部与管程内部的数据结构,只允许管程内部的过程进行访问。其实管程就像是围墙,把共享的数据对他的操作包围起来,但进程访问临界资源的时候,就会经过管程,一次只允许一个进程进入管程,从而实现了进程互斥。
但进程在访问临界资源的时候,显示调用管程,一旦管程正在被其他的进程调用,管程调用wait()将自己插入到队列中,一旦当前的管程被释放。其他的进程就可以使用这个管程了,所以说这个过程进程的等待,就是管程的等待。
进程通信
操作系统提供进程通信功能,以直吹进程直接的信息交换。
进程之间的高级通信机制分为:共享存储器系统,消息传递系统、管道通信系统。
进程之间的高级通信机制分为:共享存储器系统,消息传递系统、管道通信系统。
线程
在操作系统中,进程是进行资源分配和独立执行的基本单位,为了进一步提高程序的并发性,减少系统开销,在操作系统中引入了线程的概念。
线程是进程的一个实体,是被系统独立调度和分派的基本单位。线程在运行中存在间断性,也有 就绪、执行、阻塞三种形态。
线程控制块TCB:每个线程都由一个数据结构表示,包括他的基本状态、标识及记账信息。
线程是进程的一个实体,是被系统独立调度和分派的基本单位。线程在运行中存在间断性,也有 就绪、执行、阻塞三种形态。
线程控制块TCB:每个线程都由一个数据结构表示,包括他的基本状态、标识及记账信息。
线程与进程
进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。
系统开销方面:线程可以看做轻量级别的进程。
所处环境:在操作系统中能同时运行多个进程(程序),而在同一个进程(程序)中有多个线程同时执行。
内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间,而对线程而言,除了CPU外,系统不回位线程分配内存(线程使用的所有资源来自其所属进程的资源),线程组直接只能共享资源。
并发性:多进程之间可以并发执行,多线程之间也可以并发执行。
通信关系:进程之间的通信必须使用操作系统提供的进程间通信机制,而同一进程中的各线程之间可以直接读或写全局变量来通信。
地址空间资源:不同进程的地址空间时相互独立的,而同一进程中的各线程共享同一地址空间。
进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。
系统开销方面:线程可以看做轻量级别的进程。
所处环境:在操作系统中能同时运行多个进程(程序),而在同一个进程(程序)中有多个线程同时执行。
内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间,而对线程而言,除了CPU外,系统不回位线程分配内存(线程使用的所有资源来自其所属进程的资源),线程组直接只能共享资源。
并发性:多进程之间可以并发执行,多线程之间也可以并发执行。
通信关系:进程之间的通信必须使用操作系统提供的进程间通信机制,而同一进程中的各线程之间可以直接读或写全局变量来通信。
地址空间资源:不同进程的地址空间时相互独立的,而同一进程中的各线程共享同一地址空间。
内存管理
0 条评论
下一页