【OS】第一章 操作系统导论

学前预热

学之前抛出个问题,什么是热启动?什么是冷启动?
热启动(重启的别名):在计算机已经开启的状态下通过键盘重新引导操作系统【Ctrl+Alt+del】
冷启动:开机

设计现代操作系统的目标

  1. 有效性——提高系统资源利用率;提高系统吞吐量。
  2. 方便性——配置OS后可使计算机系统更容易使用。
  3. 可扩充性——适应计算机硬件、体系结构以及应用发展的要求
  4. 开放性——使凡遵守国际标准所开发的硬件和软件,均能彼此兼容,可方便实现互连。

OS的概念

一组控制和管理计算机硬件和软件资源,合理调度各类作业,以及方便用户使用的系统软件的集合。

功能和作用

资源的管理者(资源有处理机、存储器、文件、设备等)
向上层提供服务(普通用户【GUI图形界面、命令接口】、软件/程序员【程序接口,即系统调用】、对硬件机器的扩展)。

系统调用(来源于应用程序):应用程序主动向操作系统发出服务请求
异常(来源于不良的应用程序):非法指令或者其他坏的处理状态。应用程序意想不到的行为。
中断(来源于外设):来自不同的硬件设备的计时器和网络的中断

即从用户角度看,OS是用户和计算机硬件系统的接口总管。
从资源管理角度看,OS是资源的管理者

用户可以通过OS三种方式使用计算机:
命令方式(DOS/Unix/linux上直接输入命令dir ipconfig)
系统调用方式(API函数 DLL函数)
图形窗口方式(应用程序)

OS时间上发展过程

1.无操作系统的计算机系统(人工操作方式;管理程序操作方式【脱机输入、输出】)
2.批处理(单道、多道)
3.分时
4.实时
(分时系统、实时系统、批处理应用于不同区域)

无OS的计算机系统

人工操作方式

缺点:用户独占全机、CPU等待人工操作、数据的输入,程序的执行,结果的输出均联机进行【人工操作严重降低了计算机资源的利用率】

脱机输入、输出(外围机+磁带)

优点:减少了CPU的空闲时间、提高了I/O速度

批处理

单道批处理

概念

把一批作业以脱机的方式输入到磁带中,由监督程序(操作系统的雏形)控制作业一个接一个处理

特征

自动性、顺序性、单道性(内存中仅有一道作业运行)

优点

缓解了一定的人机速度矛盾,资源利用率有所上升

缺点

在某一时间段内存中仅有一道作业运行,只有该作业运行结束之后才能调入下一作业;CPU有大量时间在空闲等待I/O完成,资源利用率低。

多道批处理

中断和通道的突破性进展,使计算机体系结构由原来的CPU为中心转变成以主存为中心。通道能够产生I/O中断,具有中断主机工作的能力。

多道程序设计
基本概念

该系统中,用户所提交的作业都先放在外存上,并排成一个队列【俗称后备队列】;然后由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。

多道程序设计的优点

提高CPU利用率;提高内存/LO设备利用率;增加系统吞吐量
从宏观上:并行 微观上:串行
在这里插入图片描述

多道程序设计的缺点

平均周转时间长(作业的周转时间指的是从作业进入系统开始,直至完成并退出系统为止所经历的时间。在批处理系统中,由于作业要排队,依次进行处理,所以作业的周转时间较长。)
无交互能力(对修改和调试程序是不便的)

实现多道程序设计必须解决的三个问题

a.存储保护(在多道程序设计环境中,主存为多道程序所共享,因此硬件必须提供相应的措施,使得主存在各道程序中只能访问自己的区域,以避免相互干扰。当某道程序发生错误时,不致影响其他程序和系统)和程序浮动(由于各道程序不是独占主机,程序员在编制程序时无法知道程序在主存中的确切地址,甚至在运行过程中,程序也可能随时改变位置,因此要求程序能够根据需要从一个主存区域移到另一个区,而不影响其正确执行)
b.处理器的管理和调度(多道程序轮流占有一个或多个物理存储器,因此涉及CPU的调度和分配,同时合理搭配具有不同特性的多道程序同时运行也需要CPU调度)
c.系统资源(存储器、文件、设备)的管理和调度(解决多道程序共享资源时竞争和协作、共享和安全等,又要解决发挥各种资源的利用率)

多道批处理优点

资源利用率提高:多道程序并发执行,共享计算机资源;系统吞吐量增大:多道程序的并发执行。

多道批处理缺点

用户响应时间长,不能人机交互(用户提交作业之后只能等待处理机完成,中间不能控制自己的作业执行。比如:无法调试程序/无法在程序运行过程中输入一些参数。)

分时操作系统

含义

在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端以交互方式使用计算机,共享主机中的资源(经常用于查询系统)

特点

不会优先处理一些紧急任务,对各个用户/作业是完全公平的,循环为每个用户作业服务一个时间片,不区分任务的紧急性。
时间片轮转方式执行终端任务;没有后备作业队列,任务直接进入内存等待调度。
用户需求的具体表现:人机交互、共享主机、便于用户上机

特征

多路性(同时性)(宏观上:多个用户同时工作,共享主机 微观上:内存中多个用户作业轮转使用时间片)、独立性(每个用户一个终端,互不干扰相互独立)
及时性
交互性
(时间片概念:即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。而不会造成CPU资源浪费。在宏观上:我们可以同时打开多个应用程序,每个程序并行不悖,同时运行。但在微观上:由于只有一个CPU,一次只能处理程序要求的一部分,如何处理公平,一种方法就是引入时间片,每个程序轮流执行。)

实时系统

概念

当外部事件或数据产生时,能够对其予以接收并以足够快的速度进行处理,所得结果能够在规定的时间内控制生产过程或对控制对象作出快速响应,并控制所有实时任务协调运行的OS。
例子:过程控制系统(生产过程控制);信息查询系统(情报检索);书屋处理系统(银行业务)

特点

及时响应;高可靠性

分类

硬实时(必须在严格的规定时间内完成处理,比如导弹控制系统自动驾驶系统)
软件实时(能够接收偶尔违法时间规定,比如12306火车订票系统)

优点

1、多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。
2、独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。
3、及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。
4、交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。
5、可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。

OS发展总结

在这里插入图片描述

OS基本特征

并发性、共享、虚拟、异步

并发性(最重要,是其他特征的前提)

程序是静态的文本实体,运行后成为动态的进程。(程序:保存在硬盘、光盘等介质中的可执行代码和数据,是静态保存的代码
进程:在CPU及内存中运行的程序代码,是动态执行的代码,每个程序可以创建一个或多个进程。)

共享(互斥共享、同时访问)

**·互斥共享:**系统中某些硬件资源(打印机、磁带机、扫描仪)在一段时间内只允许一个进程使用——即多个进程必须互斥地使用,这些资源成为临界资源。除此以外,变量、堆栈等也是临界资源,必须互斥地共享。
·同时访问:系统中的某些资源(磁盘、软盘、硬盘)允许多个进程在一段时间内同时进行访问

“并发性”和“共享”是OS最基本的两个特征,互为存在条件。

虚拟

通过某种技术把一个物理实体变成若干个逻辑上对应物。虚拟技术:存储机、内存、~外部设备

异步

进程以不可预知的速度向前推进,以“走走停停”的方式运行。

OS主要功能

处理机管理功能、存储器管理、设备管理、文件管理、用户接口管理

结构

它是一个软件-系统软件,其发展遵循“软件工程学”的规则。
现代OS结构:①单内核/大内核/宏内核②微内核
内核是现代OS的基本单位之一

内核

内核的概念

内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作的一组程序模块,内核通常驻留在内核空间,运行于核心态,具有访问硬设备和所有主存空间的权限,是仅有的能执行特权指令的那部分程序。
在内核的支撑下,机器功能得到扩展、进程运行环境得到改善,安全性得到保证,系统效率得到提高。
在这里插入图片描述
OS的内核运行在内核态,用户程序运行在用户态。
OS和用户程序都在内存中,但是用户程序不可访问OS

内核的组成

时钟管理、中断处理、原语、对系统资源进行管理的功能。

①时钟管理:实现计时功能,利用时钟中断
②中断处理:负责实现中断机制
③原语:是一种特殊的程序,处于OS 最底层,是最接近硬件的部分。这种程序的运行具有原子性(运行不可中断),运行时间较短,调用频繁。
④对系统资源进行管理的功能:进程管理、存储器管理、设备管理
①②③是与硬件关联较紧密的模块,④管理工作更多的是对数据结构的操作。
内核是OS最基本、最核心的部分,实现OS内核功能的那些程序就是内核程序。

内核基本功能

资源抽象、资源分配、资源共享

内核分类

单内核
微内核

单内核

是一个很大的进程,其内部又可以被分为若干模块,模块间的通讯是通过直接调用其它模块中的函数实现的(不是通过消息传递!)
比如Linux、Unix

在这里插入图片描述
在这里插入图片描述

微内核

OS仅将所有应用必需的核心功能放入内核,其他功能都在内核之外,由在用户态运行的服务进行实现,通过微内核所提供的消息传递机制完成进程之间的通信。设计思路:内核只做最简单的工作(访问硬件,进行进程间通讯。),因此,将OS分为2部分,内核构成OS的基本部分,只完成极少的核心态任务;运行在用户态并以C/S方式运行的进程层。
比如 Windows NT
应用程序和OS之间是系统调用
非内核功能和内核之间是消息传递

内核总结

在这里插入图片描述

OS基本服务和用户接口

概览

在这里插入图片描述

1.程序接口(应用编程接口API)

该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径(提供给程序员在编程时使用的接口,是用户程序取得操作系统服务的唯一途径)。系统调用组成程序接口,每个系统调动都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务时,便调用具有相应功能的系统调用。

2.操作接口

由一组控制命令和(或)作业控制语句组成,是操作系统为用户提供的组织和控制作业执行的手段。

中断

CPU上会运行两种程序:①OS内核程序②应用程序
在这里插入图片描述
中断是让OS内核夺回CPU使用的唯一途径,否则何来“并发”。

中断类型

内中断(异常、例外)

与当前执行的指令有关,中断信号来自CPU内部
在这里插入图片描述

内中断案例

①应用程序执行特权指令(无权限)
②应用程序执行陷入指令(该指令会引发一个内部中断的指令,意味应用程序主动将CPU控制权还给OS)
在这里插入图片描述

外中断(中断)

与当前执行的指令无关,中断信号来自CPU外部

外中断案例

(每条指令执行结束,CPU都会例行检查是否有外中断信号,与当前执行的指令无关,中断信号来源于CPU外部)
①时钟中断②外部设备中断

中断机制的原理

不同的中断信号需要用不同的中断处理程序来处理。当CPU检测到中断信号之后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的位置。
(中断处理程序一定是内核程序,需要运行在“内核态”)
在这里插入图片描述
在这里插入图片描述

系统调用

系统调用是OS提供给应用程序(程序员)使用的接口,可以理解为可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。系统调用是应用程序获得OS服务的唯一途径。内核的主体是系统调用的集合,内核可以看成是特殊的公共子程序。
在这里插入图片描述
应用程序通过库函数调用系统调用
库函数;属于应用程序,在用户态运行,可以替换
系统调用:属于系统程序,在核心态运行,不能替换
举例:在C语言中用到的printf()函数,使用了OS提供的显式相关的“系统调用”
在这里插入图片描述

OS启动流程

在这里插入图片描述
冷启动:
1)开机执行BIOS引导程序,标识和配置所有的即插即用设备,并配置DMA通道(通道与DMA通道区别)
2)完成加电自检,测试内存,端口,键盘,视频适配器,磁盘驱动器等基本设备,及DC-ROM驱动器
3)对引导驱动器引导分区定位:在CMOS中,可以自行设置引导顺序(一般顺序:软盘,磁盘,光驱)
4)加载主引导记录以及引导驱动器的分区表,执行主引导记录MBR(主引导记录(MBR,Master Boot Record)是采用MBR分区表的硬盘的第一个扇区,即C/H/S地址的0柱面0磁头1扇区,也叫做MBR扇区)
5)装入操作系统
6)BOOT被自动执行,指引CPU把OS从大容量存储器中传送到主存储器的易失区
7)BOOT要求CPU执行一条转移指令,转到这个存储区域,此时OS接管并且开始控制整个机器的活动。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值