第一章:操作系统概论

1.1操作系统概观

1.1.1操作系统与计算机系统

现代操作系统由软件和硬件两个部分组成组成。硬件是软件运行的物质基础。软件能够充分发挥硬件潜能并扩充硬件功能,完成各种应用任务,两者相互促进,相辅相成,缺一不可。计算机系统的软硬件层次结构如图1.1所示。
在这里插入图片描述

硬件层提供基本的可计算资源:
包括处理器,寄存器,内存储器(内存),外存储器(外存)及各种I/O设备。科协可计算资源组成计算机系统的硬件,也称为裸机
软件由程序,数据及文档组成,软件可分为系统软件、支撑软件和应用软件
主要介绍一下支撑软件:利用操作系统所提供的扩展指令集,支持应用软件的开发和运行。
操作系统(系统软件)与支撑软件和应用软件的主要区别为:虽然他们都是软件,但操作系统有权分配资源,而支撑软件及应用软件只能通过操作系统使用资源,两者是控制与被控制的关系(所以操作系统是支撑软件和应用软件的爹)。
需要

1.1.2操作系统资源管理技术

1.资源管理
操作系统的主要任务之一就是对资源进行管理,这里总结了三种密切相关的资源管理技术:复用虚拟抽象
1)复用(解决物理资源数量不足的问题)
多道程序设计是现代操作系统所采用的基本技术。系统中相应地有多个进程竞争使用资源,操作系统让众多进程共享物理资源,这种共享程伟资源复用。这里有两种资源复用技术:
空分复用共享:该资源可进一步分割成更多和更小的单位供进程使用 。主存和辅存的共享
时分复用共享:并不把资源进一步分割成更小的单位,进程可在一个时间片内独占使用整个物理资源。磁带机的共享
2)虚拟(解决物理资源数量不足 ,提高服务的能力和水平 )
虚化又称虚拟性,是指操作系统中的一类有效的资源管理技术,能进一步提高操作系统为用户服务的能力和水平。
本质是对资源进行转化、模拟或整合,把物理上的一个资源变成逻辑上的多个对应物的一类技术。
虚化的例子—虚拟设备、虚拟存储器、虚拟屏幕(终端)、虚拟信道 。
在这里插入图片描述
3)抽象(处理系统的复杂性, 解决资源的易用性)
资源抽象用于处理系统的复杂性,重点解决资源的易用性。
资源抽象指通过创建软件来屏蔽硬件资源物理特性和接口细节,简化对硬件资源的操作、控制和使用的一类技术。
4)组合使用资源管理技术
例1:为打印机既配置“打印函数”(设备驱动程序),又实施虚拟设备,通过打印函数抽象隐蔽打印机动作细节,实施SPOOLing虚化“扩充”物理打印机数量。(组合使用了抽象和虚拟技术)
例2,窗口软件是对物理终端的虚化和抽象,能为用户提供虚拟终端和方便的I/O服务。(组合使用了抽象和虚拟技术)
2.操作系统中最基础的抽象——进程抽象、虚存抽象和文件抽象
1)进程抽象
进程抽象是对已进入主存正在运行的程序在处理器上操作的状态集的抽象 。
2)虚存抽象
虚存抽象是对物理主存的抽象,进程可获得一个硕大的连续地址空间来存放可执行程序和数据,可使用虚拟地址来引用物理主存单元。
3)文件抽象
文件抽象是对磁盘之类存储设备的抽象 。
操作系统最基础抽象小结:
在这里插入图片描述

3.操作系统虚拟机
操作系统虚拟机是在裸机上配置操作系统,由操作系统对物理计算机实施仿真而获得的,为用户提供一种简单、清晰、易用、高效的计算机模型。
虚拟机提供了一个进程运行的逻辑计算环境。从概念上来说。一个进程运行在一台虚拟机上,可以认为进程就是一台虚拟机,一台虚拟机就是一个进程。当然,实际上是物理处理器在各进程之间来回切换,由于每台虚拟机在同一时间内只占用全部物理资源的一部分,因而可以创建很多台虚拟机,系统中也就允许有许多进程并发执行。如图所示是操作系统将物理计算机仿真成系统虚拟机的示意图。
在这里插入图片描述

1.1.3操作系统定义和作用

操作系统定义管理系统资源控制程序执行改善人机界面提供各种服务,并合理组织计算机工作流程和为用户方便有效地使用计算机提供良好运行环境的一种系统软件。
操作系统在计算机系统中起到4个方面的作用:
1)服务用户观点——操作系统作为用户接口和公共服务程序
操作系统可看作是友善的用户接口和各种公共服务的提供者
2)进程交互观点——操作系统作为进程执行的控制者和协调者
操作系统可看作由多个独立运行的进程(用户进程和系统进程)及一个对诸进程控制和协调的内核组成。
3)系统实时观点——操作系统作为扩展及或虚拟机
4)资源管理观点——操作系统作为资源的管理者和控制者
概括起来说,操作系统既是“管理员”,又是“服务员”。对内作为“管理员”,做好计算机系统软硬件资源的管理、控制与调度,提高系统效率和资源利用率;对外作为“服务员”,是用户与硬件的接口和人机界面,为用户提供最友善的运行环境和最佳的服务,操作系统在管理好资源的基础上,向外提供强有力的服务,所以,资源管理是操作系统的一项主要任务。

1.1.4操作系统功能和特性

从资源管理的观点来看,操作系统具有5项主要功能
1)处理器管理
进程控制和管理;进程同步和互斥;进程通信;进程死锁;线程控制和管理;处理器调度:高级调度,中级调度和低级调度。
2)存储管理
主存分配 ;地址转换与存储保护;主存共享 ;存储扩充 。
3)设备管理
提供设备中断处理;提供缓冲区管理;提供设备独立性,实现逻辑设备到物理设备之间的映射;设备的分配和回收;实现共享型设备的驱动调度;实现虚拟设备。
4)文件管理
提供文件的逻辑组织方法;提供文件的物理组织方法;提供文件的存取和使用方法;实现文件的目录管理;实现文件的共享和安全性控制;实现文件的存储空间管理。
5)联网与通信管理
网络资源管理;数据通信管理;网络管理。
操作系统的主要特性:
1)并发性
指两个或两个以上的事件或活动在同一时间间隔内发生
发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率。但并发性也会使系统复杂化
注意要与并行性区分:并行性指两个或两个以上的事件或活动在同一时刻发生
2)共享性
指操作系统中的资源可被多个并发执行的进程所使用
透明资源共享:资源隔离与授权访问
显式资源共享:临界资源与独占访问
与共享性有关的问题:资源分配、信息保护、存取控制等,必须要妥善解决好。
3)异步性
又称随机性。在多道程序环境中允许多个程序并发执行,并发活动会导致随机事件的发生,由于资源有限而程序众多,每个程序的执行并非连贯的,而是“走走停停”。
异步性给系统带来潜在危险,有可能导致与时间有关的错误。
操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果。

1.2操作系统形成与发展

1.2.1人工操作系统阶段

就是人工操作,了解即可

1.2.2执行系统阶段

如图为管理程序主存组织,了解即可
在这里插入图片描述

1.2.3多道程序设计与操作系统的形成

1.多道程序设计
是指允许多个作业(程序)同时进入计算机系统的内存并启动交替计算的方法。
引入多道程序设计技术的目的==:提高CPU的利用率,充分发挥硬件的并行性。==
实现多道程序设计必须妥善解决以下3个问题:
1)存储保护与程序浮动
2)处理器管理与分配
3)资源管理与调度

1.2.4操作系统的发展与分类

三种基本的操作系统类型
1.批处理操作系统
定义:作业
主要特征:
用户脱机工作
成批处理作业
多道程序运行
作业周转时间长
2.分时操作系统
定义:多个联机用户同时使用一个计算机系统在各自终端上进行交互式会话,程序,数据和命令均在会话过程中提供,以问答方式控制程序运行。
主要特征:
同时性
独立性
及时性
交互性
分时与批处理操作系统的区别:
目标不同 :前者提高资源利用率和作业吞吐能力;后者公平性和和快速响应
适应作业的性质不同:前者已调试好的大作业;后者正在调试的小作业
资源使用率不同:前者可以使资源使用率达到最佳;后者较低
作业控制方式不同 :前者脱机控制;后者联机控制
3.实时操作系统
定义:指当外部事件或数据产生时,能够对其进行接收并以足够快的速度进行处理,所得结果能够在规定时间内控制生产过程或对控制对象作出快速响应,并控制所有实时任务协调运行的操作系统。
4.通用操作系统
如果某个系统兼具批处理,分时和实时处理的全部或两种功能,则此系统成为通用操作系统。

1.3操作系统的基本服务和用户接口

1.3.1基本服务和用户接口

1.基本服务
创建程序
执行程序
数据I/O
信息存取
通信服务
错误检测和处理
还具有另外一些功能:资源分配,统计, 保护
2.用户接口
操作系统通过“程序接口”和’操作接口“将其服务和功能提供给用户,如图所示:
在这里插入图片描述

1.3.1程序接口与系统调用

1.系统调用
系统调用是一种中介角色,把用户与硬件隔离开来,应用程序通过系统调用才能请求系统服务和使用系统资源。
其作用有:
内核可基于权限和规则对资源访问进行裁决,保证系统的安全性;
系统调用封装资源抽象,提供一致性接口,避免用户使用资源时可能发生的错误,且使编程方便效率高。
2.API,库函数和系统调用
在这里插入图片描述
3.系统调用的分类
1)进程管理
2)文件管理
3)设备管理
4)存储管理
5)通信管理
6)信息维护
4.系统调用的实现
操作系统中实现系统调用功能的机制称为陷阱或异常处理机制。由于系统调用而引起处理器中断的机器指令称为访管指令自陷指令中断指令,其中访管指令为非特权指令,在目态下执行会将CPU转换到内核态。
系统调用的实现要点:
1)编写系统调用处理程序;
2)设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数;
3)陷阱处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场。
系统调用的处理过程如图所示
在这里插入图片描述
系统调用的参数传递
1)由访管指令或陷入指令自带参数,
直接参数:规定访管指令之后的若干单元存放参数
间接参数:在指令之后紧邻的单元中存放参数的地址
2)通过CPU的通用寄存器传递参数,或在主存的一个块或表中存放参数,其首地址送入寄存器,实现参数传递。
3)在主存中开辟专用堆栈区域传递参数。
系统调用和函数调用的区别:
1)调用形式和实现方式不同。
函数调用所转向的地址是固定不变的,在用户态下执行;系统调用不包含内核服务函数入口,按功能号调用,在核心态下执行;
2)被调用代码的位置不同。
函数调用是静态调用,函数和调用代码处于同一程序内;系统调用是动态调用,代码位于操作系统中;
3)提供方式不同。
函数由编程语言提供;系统调用由操作系统提供。

1.3.1操作接口与系统程序

1.作业控制方式
1)联机作业接口
在这里插入图片描述

2)脱机作业接口
批处理接口:作业控制语言JCL。
用户使用JCL语句,把运行意图(需要对作业进行的控制和干予)写在作业说明书上,将作业连同作业说明书一起提交给系统。
批处理作业的调度执行过程,系统调用JCL语句处理程序或命令解释程序(接收用户命令并解释执行)。
2.命令解释程序
用户通过操作命令、会话语言或作业控制命令调用命令解释程序,其功能是接收用户输入的命令并解释执行命令。

1.4操作系统结构和运行模型

操作系统设计呈现出以下特征:
复杂程度高
生成周期长
正确性难保证

1.4.1操作系统结构分类

单体式结构
层次式结构
微内核结构
虚拟机结构

1.4.2操作系统结构设计

不想写

1.4.3操作系统内核

1.内核(kernel)是作为可信软件来提供支持进程并发执行的基本功能和基本操作的一组程序模块
内核通常驻留在内核空间,运行于核心态,具有访问硬设备和所有主存空间的权限,是仅有的能执行特权指令的那部分程序。
在内核的支撑下,机器功能得到扩展、进程运行环境得到改善,安全性得到保证,系统效率得到提高。
以下是linux的单内核结构
在这里插入图片描述
2.内核的基本功能:
中断处理
时钟管理
短程调度
原语管理
3.内核的基本属性:
内核是由中断驱动的
内核是不可抢占的(早期;现代可抢占
内核部分程序在屏蔽中断状态下执行
内核可以使用特权指令
4.机制与策略分离的原则
(1)机制由OS实现,策略留给用户完成;
(2)机制放在底层,策略放在高层;
(3)机制集中在少数模块,策略拟散布在多处。

1.4.4操作系统运行模型

从操作系统的运行方式来看,可分成:
1) OS功能(函数)在用户进程内执行的模型
在这里插入图片描述
2) OS功能(函数)作为进程执行的模型
在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chase__young

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值