808 操作系统概述


一、操作系统

概念

操作系统 是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。

特征

共享 并发 虚拟 异步

功能

1、操作系统作为计算机系统资源的管理者
处理机管理 存储器管理 文件管理 设备管理

2、操作系统作为用户与计算机硬件系统之间的接口

命令接口
使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。

程序接口
可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。

3、操作系统实现了对计算机资源的扩充

操作系统是对计算机资源进行管理的软件。

操作系统主要向用户提供命令接口和程序接口(系统调用),此外还提供图形接口;当然, 图形接口其实是调用了系统调用而实现的功能。

操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源

广义指令就是系统调用命令,而命令解释器属于命令接口,shell是命令解析器,它也属于命令接口。系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用。

引入多道程序设计后,程序的执行就失去了封闭性和顺序性。程序执行因为共享资源及相互协同的原因产生了竞争,相互制约。考虑到竞争的公平性,程序的执行是断续的。顺序性是单道程序设计的基本特征。

在单处理机中  进程与线程不可以并行



库函数是语言或应用程序的一部分,可以运行在用户空间中。而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,而且许多库函数都会使用系统调用来实现功能。未使用系统调用的库函数,其执行效率通常要比系统调用的高。因为使用系统调用时, 需要上下文的切换及状态的转换(由用户态转向核心态)。


二、发展与分类

在这里插入图片描述

脱机技术用于解决独占设备问题。虚拟技术与交换技术以多道程序设计技术为前提。多道程序设计技术由于同时在主存中运行多个程序,在一个程序等待时,可以去执行其他程序,因此提高了系统资源的利用率.

批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,也因此才有了分时操作系统的岀现。

操作系统的基本类型主要有批处理操作系统、分时操作系统和实时操作系统

实时系统要求能实时处理外部事件,即在规定的时间内完成对外部事件的处理

要求快速响应用户是导致分时系统出现的重要原因。

分时系统中,当时间片固定时,用户数越多,每个用户分到的时间片就越少,响应时间自然就变长,
注意,分时系统的响应时间t的比例关系可表达为t=QN,其中Q是时间片,而N是用户数。

中断技术使得多道批处理系统的I/O设备可与CPU并行工作.

现代操作系统都是多任务的(主要特点是并发和并行),并不一定需要运行在多CPU的硬件上,单个CPU也可满足要求

中断是操作系统必须提供的功能,因为计算机的各种错误都需要中断处理,核心态与用户态切换也需要中断处理


三、体系结构

在这里插入图片描述

用分层式设计的操作系统结构清晰且便于调试。

大内核的缺点  占用内存大  缺乏可扩展性 不方便移植  可靠性太低

微内核OS:①内核足够小 2 基于客户/服务器模式 (c/s);③应用“机制与策略分离”原理;④采用面向对象技术

微内核中 文件管理 设备管理不宜放在内核中  而 进程通信 中断 原语 低级i/o等核心放在内核中

微内核结构的特点  使系统更可靠 添加系统服务 不必修改内核  

window xp操作系统 采用的  宏内核操作系统

层次化架构  每一层都仅仅使用其底层提供的功能和服务 使系统的调试 验证变得很容易

运行机制

在这里插入图片描述

中断和异常

在这里插入图片描述

系统调用

在这里插入图片描述

在这里插入图片描述

中断处理流程的前三个步骤是由硬件直接实现(隐指令)的。
地址映射中需要基地址(或页表)寄存器和地址加法器的支持。
在时钟管理中,需要硬件计数器保持时钟的运行。
进程调度由调度算法决定CPU使用权,由操作系统实现,不需要硬件的支持。

当中断或异常发生时,通过硬件实现将运行在用户态的CPU立即转入核心态。中断发生时若被中断的是用户程序,
则系统将从目态转入管态,在管态下进行中断的处理;若被中断的是低级中断,则仍然保持在管态,
而用户程序只能在目态下运行,因此进入中断处理的程序只能是操作系统程序。
中断程序本身可能是用户程序,但是进入中断的处理程序一定是操作系统程序。

从核心态到用户态的转换是由操作系统程序完成的
而从用户态到核心态则是由硬件完成的。

大多数计算机操作系统的内核包括四个方面的内容,即时钟管理、中断机制、原语和系统控制的数据结构及处理,其中第4部分实际上是系统调用类的指令(广义指令/系统调用)。
从另外的角度考虑,若在用户态下允许执行“置时钟指令”,则一个用户进程可在时间片还未到之前把时钟改回去,从而导致时间片永远不会用完,进而导致该用户进程一直占用CPU,这显然是不合理的。

广义指令的调用可能发生在用户态,调用广义指令的那条指令不一定是特权指令,但广义指令存在于核心态中,所以执行一定在核心态。输入/输出指令涉及中断操作,而中断处理是由系统内核负责的,工作在核心态。
访管指令在用户态下使用,是用户程序“自愿进管”的手段,用户态下不能执行特权指令。 在核心态下,CPU可以执行指令系统中的任何指令。

外部中断处理过程,PC值(断点)由中断隐指令自动保存,而通用寄存器内容由操作系统保存。


执行系统调用的过程如下:正在运行的进程先传递系统调用参数,然后由陷入(trap)指令,负责将用户态转换为内核态,并将返回地址压入堆栈以备后用,接下来CPU执行相应的内核态服务程序,最后返回用户态


当CPU检测到中断信号后,由硬件自动保存被中断程序的断点(即程序计数器PC), I错误。 之后,硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址(各中断向量统一存放在中断向量表中,该表由操作系统初始化,III正确)。接下来开始执行中断服务程序, 保存PSW、保存中断屏蔽字、保存各通用寄存器的值,并提供与中断信号对应的中断服务,中断 服务程序属于操作系统内核

操作系统不同,底层逻辑、实现方式均不相同,为应用程序提供的系统调用接口也不同
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值