操作系统学习笔记——第一章 操作系统概述

第一章 操作系统概述

操作系统的概念

操作系统的作用:

  1. 管理系统中软件硬件资源(CPU,设备,内存,文件);
  2. 为用户(应用程序)提供良好的服务(API,GUI,JCL)。

操作系统的定义:

操作系统是位于硬件层(HAL)之上,所有其它软件层之下的一个系统软件,是管理系统中各种软硬件资源,方便用户使用计算机系统的程序集合。
在这里插入图片描述

运行示图

  • 系统库(lib)可调用操作系统,执行硬件指令
  • 应用程序可以调用lib和操作系统,执行硬件指令
  • 在这里插入图片描述

操作系统的历史

批处理阶段

  • 联机批处理
    在作业输入输出时,CPU空闲
    优点:监督程序不间断地处理各个作业,作业之间转换自动化,摆脱人工干预
    缺点:IO慢,主机等待时间长
  • 脱机批处理
    将输入输出操作交给一个功能较为单纯的卫星机
    优点: 减少了主机等待I/O操作时间
    缺点: (1)人工搬动磁带; (2)额外的卫星机

执行系统阶段

假脱机,通道和中断技术出现
通道:专门用于控制I/O设备的处理机,即I/O处理机。

多道批处理阶段

主机中(内存中)同时放多个作业,当一道作业因为等待I/O传输完成而暂时不能运行时,系统可以将处理器资源分配给另一个可以运行的程序,最大限度提高资源利用率。

多道批处理系统优点

  • 资源利用率高。由于在内存中装入了多道程序,使它们共享资源,保持资源处于忙碌状态
  • 系统吞吐量大。

多道批处理系统缺点

  • 无交互能力:用户一旦将作业提交给系统后直至作业完成,用户不能与作业进行交互
  • 处理周转时间长

操作系统特性

并发性

  • 多个程序在宏观上同时向前推进

共享性

  • 多个程序共用系统中的各种软硬件资源(互斥共享方式、同时共享方式)
  • 在操作系统的协调和控制下

异步性(随机性)

  • 多个程序以不可预知的速度向前推进

虚拟性

  • 把一个实的CPU改造为多个虚的CPU
  • 内存+外存→虚存
  • 独占设备+共享设备→虚拟设备(数量多,速度快)

操作系统类型

多道批操作系统

作业(Job):指用户要求计算机系统为其完成的计算任务的集合
多道批处理:当一道作业因为等待I/O传输完成而暂时不能运行时,系统可以将处理器资源分配给另一个可以运行的程序
在这里插入图片描述
输入井:保存已经输入但尚未处理的作业
输出井:保存处理完毕但尚未输出的结果
输入井作用

  • 缓冲:协调I/O设备和处理器速度不匹配的矛盾
  • 实现作业调度(job scheduling)

输出井作用

  • 缓冲(速度匹配作用)

特点

  • 多道:内存中同时容纳多个作业,外存输入井中还有多个尚未处理的作业
  • 成批:作业逐批进入系统、逐批处理、逐批离开系统。作业间的过渡由操作系统控制,无需用户干预

分时操作系统

特点:

  • 多路性:一个主机可以与多个终端相连
  • 交互性:以对话的方式为用户服务,用户在终端可以方便地录入、调试、修改和运行其程序
  • 独占性:时间片一般为十几毫秒或几十毫秒,系统为所有用户服务一次仅需较短时间,每个终端用户仿佛拥有一台虚拟机,以致感觉不到其他用户的存在

实时操作系统

字面意思

系统能够及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行

原理与分时系统相似,通常为远程终端
特点:

  • 响应及时
  • 可靠性高

通用操作系统

同时具有:分时、实时、批处理功能。

单用户操作系统

为个人计算机所配置的操作系统,同一时刻仅有一个用户使用的系统
特点:单用户,多进程,多线程

网络操作系统

用于实现网络通信和网络资源管理的操作系统

分布式操作系统

紧耦合:(tightly coupled)

  • 建立在多处理机系统的基础之上,由多机系统发展而来(多CPU)
  • 有公共内存
  • 多处理机操作系统

松散耦合:(loosely coupled)

  • 建立在计算机网络的基础之上,由计算机网络发展而来(多Host)
  • 无公共内存,无公共时钟

分布式操作系统是网络操作系统的更高形式,它保持了网络操作系统的全部特性

网络操作系统和分布式操作系统区别

  • 网络操作系统各台计算机可以运行不同的操作系统,分布式操作系统各台计算机运行相同的操作系统
  • 网络操作系统以共享文件方式通信,分布式操作系统以消息方式通信
  • 网络操作系统主要提供通信和资源共享服务,分布式操作系统以计算加速和系统可靠性作为主要目标

操作系统运行环境

时钟

绝对时钟:记载实际时间,不发中断。
间隔时钟(闹钟):定时发生中断,一般间隔单位为“毫秒”。

系统栈

作用

  • 中断响应时保存中断现场
  • 保存函数调用返回点、参数、局部变量、返回值

数量

  • 每个运行进程有一个对应的系统栈,进程切换伴随着系统栈的切换,系统栈的内容是变化的,但是硬件只有一个系统栈指针。

位置

  • 内存中操作系统空间的一个固定区域

“栈”和“堆”的差别

  • 栈是一块按后进先出规则访问的存储区域,用来实现中断嵌套和子程序嵌套(保存调用参数和返回断点)
  • 堆虽然是一块存储区域,但是对堆的访问是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。

特权指令和非特权指令

特权指令(privileged instruction):

  • 只有在管态才能执行的指令(影响系统状态)
  • 特权指令只有操作系统才能执行,用户程序不可执行

非特权指令(non-privileged instruction):

  • 在管态和目态都可以执行的指令(不影响系统状态)

处理机状态:

  • 系统态(system mode)(管态,核态):可以执行硬件所提供的全部指令(包括特权指令)
  • 用户态(user mode)(目态,常态):不可以执行特权指令

硬件将处理器划分为两种状态优点

  • 便于设计安全可靠的操作系统。管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态
  • 通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
  • 如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。

逻辑地址和物理地址

  • 逻辑地址(虚地址):程序中产生的地址
  • 物理地址(实地址):存储器地址

中断

  • 中断装置:发现并响应中断的硬件机构
  • 发现中断:指中断发生时能够识别,当有多个中断同时发生时,按优先级响应最高者
  • 响应中断:
    当前(PSW,PC) → \rightarrow 系统栈
    中断向量(PSW,PC) → \rightarrow 寄存器

PSW

PSW是计算机系统的核心部件-运算器的一部分。PSW用来存放两类信息:一类是体现当前指令执行结果的各类状态信息,如有无进位、有无溢出、结果正负、结果是否为0等,另一类是存放控制信息,如允许中断等。

通道与DMA

相同点

  • 都能实现IO设备和内存之间建立数据直传通路;

不同点

  • DMA只能实现固定的数据传送控制,而通道有自己的指令和程序,具有更强的独立处理数据输入和输出的能力。
  • DMA只能控制一台或者少数几台同类设备,而一个通道可以控制多台同类或者不同的设备

操作系统界面形式

shell

每个终端有一个shell进程,它接收、解释和处理用户在终端上所输入的命令。

系统调用命令(OS API)

  • 系统调用是用户程序与操作系统打交道的方式,即应用程序请求操作系统核心完成某一特定功能的一种过程调用
  • 当用户程序执行系统调用命令时,将发生自愿性中断,进入操作系统,操作系统将根据不同的系统调用命令转到相应的处理程序完成该调用命令所要求的服务。

中断与程序并发关系

  • 中断是程序并发执行的前提条件
  • 如果没有中断,操作系统不能获得系统的控制权,无法按调度算法对处理器进行重新分配,一个程序将一直运行直到结束而不会被打断

操作系统功能

存储管理

  • 存储分配:静态等长分区的分配、 动态异常分区的分配
  • 存储共享 :节省内存、实现通讯
  • 存储保护:防止地址越界、防止操作越权
  • 存储扩充
  • 地址映射
  • 存储管理方法

处理器管理(进程管理)

  • 进程控制
  • 进程同步:集中式同步机制、分布式同步机制
  • 进程通信:共享内存模式、消息传递模式
  • 进程调度:FCFS、SJF、SRTN、HRN、HPF、RR、FB

设备管理

  • 设备驱动程序
  • 设备的分配与去配:独占型设备、共享型设备
  • 缓冲管理:缓和CPU和I/O速度不匹配的矛盾
  • 设备独立性与虚拟设备
  • 设备调度:先到先服务算法、最短查找时间优先算法、扫描算法、 Look算法、循环扫描算法、循环Look算法、 N步扫描

文件管理

  • 文件的访问:顺序访问、随机访问
  • 文件的组织:文件的逻辑组织、文件的物理组织
  • 目录管理:方便用户在外存上找到所需文件
  • 文件的读、写管理与存取控制

操作系统目标

  • 提供计算机用户与计算机硬件之间的接口,使计算机系统更易于使用
  • 有效地控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用
  • 合理组织计算机系统的工作流程,以改善系统性能

教材:
左万利、王英老师编著、高等教育出版社出版的《计算机操作系统》(第4版)

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? 答:便于设计安全可靠的操作系统。管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。 2. 何为特权指令?举例说明之。如果允许用户执行特权指令,会带来什么后果? 答:只能在管态下才能执行的指令称为特权指令。如开关中断、置程序状态寄存器等。如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? 答:中断向量在机器中的位置是由硬件确定的。例如,在 INTEL 80x86 CPU 中,内存空间0x00000——0x003ff为中断向量空间。4. 中断向量的内容是由操作系统程序确定的还是由用户程序确定的? 答:中断向量的内容是由操作系统程序确定的。向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。5. 中断向量内的处理机状态位应当标明是管态还是目态 ? 为什么? 答:应当标明是管态。 该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。 6. 中断和程序并发之间的关系是什么? 答:中断是程序并发的必要条件。如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。7. 说明“栈”和“堆”的差别. 答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。而堆虽然是一块存储区域,但是对堆的访问是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。 8. 何为系统栈?何为用户栈?系统栈有何用途?用户栈有何用途? 答:系统栈是内存中操作系统空间的一个固定区域;用户栈是内存中用户空间的一个区域。系统栈的作用:(1)保存中断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;(2)保存操作系统子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。用户栈的作用:用于保存用户进程的子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。9. 用户堆栈段的长度为何无法确定 ? 答:用户堆栈段的长度主要取决于两个因素:(1)用户进程(线程)中子程序(函数)之间的嵌套调用深度;(2)子程序参数和局部变量的数量及类型;(3)动态变量的使用。这些在进程(线程)运行前无法确定,由此导致用户堆栈段的长度无法预先准确确定。 10堆栈段的动态扩充为何可能导致进程空间的搬迁? 答:堆栈段的扩充需要在原来进程空间大小的基础上增添新的存储区域,而且通常要求与原来存储区域连续。由于原存放位置处可扩展的区域可能已经被其它进程占用,故可能需要将整个进程空间搬迁到另外一个区域,以实现地址空间扩展要求。11. 何谓并行 ? 何谓并发? 在单处理机系统中,下述并行和并发现象哪些可能发生,哪些不会发生 ? (1) 进程与进程之间的并行; (2) 进程与进程之间的并发; (3) 处理机与设备之间的并行; (4) 处理机与通道之间的并行; (5) 通道与通道之间的并行; (6) 设备与设备之间的并行; 答:所谓并行是指同一时刻同时进行,进程并行需要多处理器的支持;所谓并发,是指在一段时间内,多个进程都在向前推进,而在同一时刻,可能只有一个进程在执行,多个进程轮流使用处理器。 在单处理器传统中,可能发生的并行和并发现象如下: (2) 进程与进程之间的并发。例如,在Windows操作系统中,mp3播放进程和Word字处理进程可以并发执行,这样用户就可以边听音乐边写文章了。 (3) 处理机与设备之间的并行。例如,当处理机进行科学运算时,打印机可以打印文档。 (4) 处理机与通道之间的并行。通道程序的执行可与处理机的操作并行。 (5) 通道与通道之间的并行。通常一个系统中有多个通道,这些通道可以并行地执行相应的通道程序。 (6) 设备与设备之间的并行。例如打印机打印文档时,磁带机在输入数据。 12. 何谓作业? 它包括哪几个部分? 各部分用途是什么?答:所谓作业是指用户要求计算机系统为其完成的计算任务的集合。一个作业通常包括程序、程序所处理的数据以及作业说明书。程序用来完成特定的功能,数据是程序处理的对象,作业说明书用来说明作业处理的步骤。13. 从透明性和资源共享两方面,说明网络操作系统与分布式操作系统之间的差别。 答:从透明性上看,分布式操作系统优于网络操作系统。网络用户能够感觉到所访问的资源是在本地还是在远地;而在分布式系统中,用户感觉不到所访问的资源是否在本地,分布式操作系统掩盖了资源在地理位置上的差异。 从资源共享上看 ,分布式操作系统网络操作系统能共享更多的资源。在网络操作系统中,一个计算任务不能由一台主机任意迁移到另外一台主机上运行;而在分布式操作系统中,所有作业可以由一台主机任意迁移到另外一台主机上处理,即可实现处理机资源的共享,从而达到整个系统的负载平衡。 14. 为什么构成分布式系统的主机一般都是相同的或兼容的?答:这样更有利于进程的动态迁移。如果主机不兼容,则在一台主机上能运行的进程,因所用指令系统不同,在另一台主机上可能无法运行,导致进程难于在不同主机间迁移,使得分布式系统难于实现负载平衡。构成分布式系统的主机一般都是相同的或兼容的。15. 为什么嵌入式操作系统通常采用微内核结构?   答:嵌入式操作系统与一般操作系统相比具有比较明显的差别 : (1)嵌入式操作系统规模一般较小,因为一般硬件配置较低,而且对操作系统提供的功能要求也不高。(2)应用领域差别大,对于不同的应用领域其硬件环境和设备配置情况有明显差别。 所以,嵌入式操作系统一般采用微内核 ( micro kernel )结构,包括如下基本功能: (1)处理机调度;(2)基本内存管理;(3)通讯机制;(4)电源管理。在这些基本成分之上可进行扩展,以适应不同应用目标。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值