操作系统引论

持续更新中

操作系统的目标和作用

  1. 基本概念:
    操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序(来自百度)

    OS是直接控制和管理计算机硬件、软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合
    注意:
    (1)OS为你完成所有 “硬件相关、应用无关”的工作
    (2)OS不直接解决最终具体应用问题,也不负责编译源程序…

  2. 操作系统的主要任务: 为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用。

  3. OS在计算机中的地位:
    在这里插入图片描述

  4. OS的目标:
    方便性、有效性、可扩充性、开放性
    OS最重要的两个目标:方便性、有效性
    (1)方便性:用户如果想直接在裸机上运行自己编写的程序,就必须用机器语言书写程序。配置OS后,系统便可使用编译命令 将用户采用高级语言书写的程序翻译成机器代码,或者直接通过OS所提供的各种命令操纵计算机系统
    (2)有效性:提高系统资源的利用率; 提高系统的吞吐量(合理的组织计算机的工作流程,加速程序的运行,缩短程序的运行周期, 从而提高了系统的吞吐量)
    (3)可扩充性:近年来,OS广泛采用微内核结构,其能方便的增添新的功能和模块,以及对原有模块进行修改
    (4)开放性:兼容,方便的实现互连

  5. OS的作用:
    (1)作为用户和计算机硬件系统间的接口
    在这里插入图片描述
    用户通过OS来使用计算机系统。
    图中可以看出,用户通过三种方式使用计算机, 即命令方式系统调用方式图标——窗口方式来实现与OS间的通信。
    (2)作为计算机系统资源的管理者(处理机管理、存储器管理、设备管理、文件(数据和程序)管理)
    (3)OS实现了对计算机资源的抽象、用作扩充机器

第一个层次的抽象:I/O设备管理软件实现了对计算机硬件操作的第一个层次的抽象
文件管理软件实现了对硬件资源操作的第二个层次的抽象
...
OS是铺设在计算机硬件上的多层软件的集合。
  1. 推动操作系统发展的主要动力
    (1)不断提高计算机资源利用率
    (2)方便用户
    (3)器件的不断更新换代
    (4)计算机体系结构的不断发展
    (5)不断提出新的应用需求

几点说明:
(1)CPU具有与外设并行操作的能力
(2)程序均由CPU执行
(3)CPU只能执行机器语言程序
(4)CPU执行的程序均在内存
在这里插入图片描述

操作系统的发展过程

从无到有

无OS

人工操作方式

1946-50年代中:电子管时代,计算机速度慢,无操作系统,集中计算,计算机资源昂贵;
工作方式:
(1)用户:即是程序员又是操作员;用户是计算机专业人员
(2)编程语言:机器语言
(3)输入输出:纸带或卡片
两方面的缺点:
(1)用户占据全机,即一台计算机的全部资源由上机用户所独占
(2)CPU等待人工操作。当用户进行装带(卡)、卸带(卡)等人工操作时,CPU及内存等资源时空闲的
即所谓的人机矛盾。

脱机I/O方式

为了解决人机矛盾及CPU与I/O设备之间速度不区配的矛盾。
(1)I/O: 即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出(来自百度百科)
在这里插入图片描述
脱机I/O方式:事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,将信息输入到磁带上,输出同理。由于程序和数据的输入都是在外围机的控制下进行的,故称为脱机输入/输出方式。

(2)优点:
减少了CPU的空闲时间(外围机完成,并不占用主机时间)
提高了I/O速度(从高速的磁带上将数据输入到内存)

OS分类

批处理系统

  1. 批处理:
    设计目标:提高系统资源的使用效率;提高作业吞吐量
    吞吐量:单位时间内运行的作业条数
  2. 单道批处理系统:
    在解决人机矛盾和CPU与I/O设备速度不区配矛盾中产生
    在系统中配上监督程序
    特点:在内存中始终只保持一道作业
    缺点:仍不能充分利用系统资源
  3. 多道批处理系统
    为了进一步提高资源的利用率和系统吞吐量。
    该系统将用户所提交的作业先存放在外存上,并排成一个队列,称为“后备队列”。然后由作业调度程序按一定的算法,从后备队列中选择若干个程序调入内存,使它们共享CPU和系统中的各种资源。由于同时在内存中存储若干道程序,便可在运行程序A时,利用其因I/O操作而暂停执行时的CPU空挡时间,再调度另一道程序B,如此可使多道程序交替执行,可使CPU处于忙碌状态。
    优点:资源利用率高、系统吞吐量大
    缺点:平均周转时间长、无交互能力

分时系统

  1. 推动分时系统形成和发展的主要动力:满足用户对人—机交互的需求。用户的需求主要表现在:(1):人——机交互。(2)共享主机。
    分时系统是指:在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享计算机的资源
  2. 实现中的关键问题:
    (1)及时接收。(系统中配置多路卡,实现分时多路复用。)(还需为每个终端配置一个缓冲区,暂存用户键入的命令或数据)
    (2)及时处理:作业直接进入内存(作业在磁盘中不能运行); 采用轮转运行方式。(时间片的概念)
  3. 特征:
    (1)多路性:允许将多个终端连接到一台主机,并按照分时原则为每个用户服务
    (2)独立性:用户之间彼此互不干扰
    (3)及时性:用户的请求能在很短的时间内获得响应。
    (4)交互性:用户可通过终端与系统进行广泛的(即多方面的服务)人机对话。

实时系统

  1. 目标:提高系统的响应时间,对随机发生的外部事件作出及时响应并对其进行处理。

  2. 分类
    在这里插入图片描述

  3. 实时任务的类型:
    (1)周期性实时任务和非周期性实时任务。
    周期性实时任务:外部设备周期性的发出激励信号给计算机,要求它按指定周期循环执行,以便周期性的控制某外部设备
    非周期性实时任务:联系着一个截至时间或最后期限。可分为:开始截止时间; 完成截止时间
    (2)硬实时任务和软实时任务。
    硬时性任务:系统必须满足任务对截止时间的要求
    软时性任务:偶尔错过截止时间对系统产生的影响不会太大(对时间要求有缓冲)

  4. 基本特征:快速的响应时间、有限的交互能力、高可靠性

在这里插入图片描述

操作系统的基本特性

操作系统的基本特性:并发、共享、虚拟、异步

  1. 并发:
    (1)并发:两个或多个事件在同一时间间隔内发生
    (2)并行:指两个或多个事件在同一时刻发生
    进程:系统中能独立运行并作为资源分配的基本单位,由一组机器指令、数据和堆栈组成的,是一个能独立运行的活动实体。
  2. 共享:系统中的资源可供内存中多个并发执行的进程共同使用。
    (1)互斥共享方式:在规定的时间内,只允许一个进程访问该资源:例如打印机
    (2)同时访问方式:在一段时间内由多个进程“同时”对他们进行访问。例如磁盘
    并发、共享是多用户(多任务)OS的两个最基本特征
  3. 虚拟:通过某种技术把一个物理实体变成若干个逻辑上的对应物。
  4. 异步:系统中并发执行的多道程序“走走停停”,以不可预知的速度向前推进

操作系统的主要功能

处理机管理功能

处理机的分配和运行都是以进程为基本单位的,因而对处理机的管理可归结为对进程的管理。

  1. 进程控制:在多道程序环境下为使作业能并发执行,必须为每道作业创建一个或几个进程,并为之分配必要的资源
  2. 进程同步:为多个进程(含线程)的运行进行协调
  3. 进程通信:实现相互合作进程之间的信息交换
  4. 调度:在传统OS中,调度包括作业调度和进程调度两步。
    (1)作业调度:从后备队列中按照一定算法选择若干作业,并为它们分配运行所需的资源,在将这些作业调入内存后,分别为他们建立进程,使它们都成为可能获得处理机的就绪进程,并将它们插入到就绪队列中
    (2)进程调度:从进程的就绪队列中,按照一定的算法选出一个进程,将处理机分配给它,并为它设置运行现场,并将其投入执行

存储器管理功能

存储器管理的主要功能:为多道程序的运行提供良好的环境,,提高存储器的利用率。

  1. 内存分配:
    (1)为每道程序分配内存空间
    (2)提高存储器的利用率,尽量减少不可用的内存空间(碎片)
    (3)允许正在运行的程序申请附加的内存空间

  2. 内存保护
    (1)确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰。(2)绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行

  3. 地址映射:将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址

  4. 内存扩充:并非物理上去扩大内存的容量,而是借助于虚拟存储技术,从逻辑上扩充内存容量,使用户感到内存容量比实际内存容量大得多。(既满足了用户需要,又改善了系统的性能)

设备管理

主要任务:
(1)完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作
(2)提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备

文件管理系统

操作系统与用户之间的接口

OS结构设计

传统的操作系统结构

  1. 无结构操作系统
  2. 模块化OS结构
    (1)OS是采用“模块化程序设计”技术,按其功能划分为若干个独立的模块,管理相应的功能,同时规定好各模块之间的接口,以实现其交互,对较大模块又可按子功能进一步细分下去。
    (2)优点:提高了OS设计的正确性、可理解性和可维护性、增强了OS的可适用性、加速了OS的开发过程
    (3)缺点:模块及接口划分较困难、从功能上划分模块,未区别共享资源和独占资源、由于管理的差异,使OS结构变得不够清晰
  3. 分层式OS结构
    (1)分层式OS结构是对模块化结构的一种改进,它按分层式结构设计的基本原则,将OS 划分为若干个层次,每一层都只能使用其底层所提供的功能和服务,从硬件开始,在其上面一层一层地自底向上增添相应功能的软件
    (2)优点:每一步设计都建立在可靠的基础上,结构更清晰
    调试和验证更容易,正确性更高
    (3)缺点:系统效率降低。只能是单向依赖,每执行一个功能,自底向上需要穿越很多个层次。

现代操作系统结构(微内核的OS结构)

  1. 主要思想:在OS内核中只留下一些最基本的功能,而将其他服务分离出去,由工作在用户态下的进程来实现,形成所谓“客户/服务器”模式。客户进程可通过内核向服务器进程发送请求,以取OS的服务。
  2. 微内核:精心设计的,能实现现代OS核心功能的小型内核,它小而精炼,运行在核心态下,开机后常驻内存,不会因内存紧张而换出,它为构建通用OS提供了一个重要基础。
  3. 微内核的基本功能:
    进程管理、存储器管理、进程通信管理、I/O设备管理

重点:2、3、4、5、8章;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Xuhx&

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

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

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

打赏作者

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

抵扣说明:

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

余额充值