【笔记】操作系统(一)——操作系统导论

前言

在寒假阶段需要完成操作系统、数据库、软件工程三门专业课的复习,感觉难度最高的便是操作系统,上课的时候也是有很多不懂的地方,操作系统的难点主要在与理解前人的设计思想以及很多的专业名词。参考教材为高等教育出版社《操作系统》第七版翻译版,王道以及学长整理。

第一章导论,就涉及到了很多专有名词,如果不是我以前学过一遍,我肯定得懵,就算这是复习,也是有很多不理解的地方,但起码是懂得了轮廓,感觉如果导论可以整理并理解好,之后内容的复习就会简单一点。

散点式整理,最后联接。

看起来分的很多,但从第六部分开始,暂时只需要了解就好,后面会进行详细描述

一、操作系统做什么

什么是操作系统?

近似定义:操作系统是管理计算机硬件的程序,它还为应用程序提供基础,并且充当计算机硬件和计算机用户的中介。(目前没有一个关于操作系统的十分完整的定义)

计算机系统的组成部分

自底向上:计算机硬件、操作系统、系统与应用程序、用户
在这里插入图片描述

两个视角理解操作系统

用户视角:基于用户的需求,满足用户的需要,在使用方便、性能、资源利用率之间进行取舍。
计算机视角:是计算机的资源分配器(CPU、Memory、I/O都为计算机的资源),使计算机可以有效且公平的运行;是计算机的控制程序,管理用户程序的执行以防止计算机资源的错误使用或使用不当。

二、计算机系统组织(机组)

这一部分其实可以作为单独的一门课计算机系统组织与原理来学习,这里提出主要是为了复习背景知识,因为后面学习会用到,简单整理一下。

计算机系统

现代通用计算机系统:现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成,该总线提供了对共享内存的访问。CPU与设备控制器可以并发工作,并竞争内存周期。为了确保对共享内存的有序访问,需要内存控制器来协调对内存的访问。
在这里插入图片描述
引导程序(bootstrap program):引导程序通常位于ROM或EEPROM中,为计算机中的固件,它初始化系统中的所有部分,包括CPU寄存器、设备控制器和内存内容。当打开电源或重启时,计算机开始运行,引导程序必须知道如何装入操作系统并开始执行系统。

中断(interrupt)

事件的发生通常通过硬件和软件中断来表示,现代操作系统是靠中断驱动的软件
硬件中断:硬件可随时通过系统总线向CPU发出信号,以触发中断。
软件中断:软件通过执行特别操作如系统调用(system call)也可以触发中断。

中断的分类:

在这里插入图片描述

中断的处理程序
中断是操作系统的重点,在以后我们还会细讲,不同操作系统中断处理各有特色,但有些功能是共同的

  1. 关中断:CPU相应中断后,首先要保护程序的现场状态,在保护现场的过程中,CPU不应相应更高级中断源的中断请求。
  2. 保存断点:为保证中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来的程序的断点保存起来,在旧的设计中简单地在固定位置中保存中断地址,更为现代的结构在堆栈中保存地址。
  3. 引出中断服务程序:通过中断向量(interrupt verctor)提供的设备的中断处理子程序的地址,取出中断服务程序的入口地址送入程序计数器
  4. 保存现场和屏蔽字:进入中断服务程序之后,首先要保存现场,现场信息一般是指程序状态字寄存器和某些通用寄存器的内容。
  5. 开中断:允许更高级中断请求得到相应。
  6. 执行中断服务程序
  7. 关中断: 保证在恢复现场和屏蔽字时不被中断。
  8. 恢复现场和屏蔽字: 将现场和屏蔽字恢复到原来的状态。
  9. 开中断与中断返回: 使其返回到原程序的断点处,以便继续执行程序。
陷阱(trap)

陷阱是一种软件产生的中断,源于程序出错(除0错误或访问内存无效)或者源于用户程序的特别请求(系统调用system call),完成中断处理后将CPU控制权再交给提出陷阱请求的程序。

中断与陷阱的区别:
陷阱被称为软中断,与(硬)中断相比,软中断是软件实现的中断,也就是程序运行时其它程序对它的中断;而硬中断是硬件实习的中断,是程序运行时设备对它的中断(硬中断是由外部事件引起的,因此具有随机性和突发性;软中断的发生不是随机的,而是程序安排好的)。

存储结构

计算机程序(操作系统、系统程序、用户程序)必须在内存中以便于运行。

内存:内存是处理器可以直接访问的唯一的大容量存储区域,它通常是用被称为动态随机访问内存(dynamic random access memory,DRAM)的半导体技术来实现的,是一组内存的数组,每个字都有其地址。

计算机存储设备层次:
在这里插入图片描述
在上图中,越往上,处理速度越快,容量越小。电子磁盘(electronic dist)可以做成易失或非易失的,电子磁盘以上为易失的,电子磁盘一下为非易失的。
在这里插入图片描述

I/O结构

现代计算机系统工作模式:
在这里插入图片描述
直接内存访问(direct memory access, DMA): 设备控制器能在本地缓冲和内存之间传送一整块数据,而无需CPU的干预。
设备控制器:通用计算机系统由一个CPU和多个设备控制器组成,它们通过共同的总线连接起来。每个设备控制器负责特定类型的设备。设备控制器维护一定量的本地缓冲存储和一组特定用途的寄存器,设备控制器负责在其所控制的外部设备与本地缓冲存储之间进行数据传递。通常,操作系统为每个设备控制器提供一个设备驱动程序,这些设备驱动程序提供一个设备与其操作系统的统一接口。

三、计算机系统体系结构

这一部分也可以作为单独的一门课计算机系统体系结构来学习,这里提出主要是为了复习背景知识,因为后面学习会用到,简单整理一下。

单处理器系统

绝大多数系统采用单处理器

多处理器系统 (parallel system)

多处理系统的优点:

  • 增加吞吐量
  • 规模经济:多处理器可共享外设、大容量存储和电源供给。
  • 增加可靠性:单个处理器的失灵不会使整个系统停止,只会使它变慢。

多处理系统的类型:

  • **非对称多处理:**每个处理器优各自特定的任务,一个主处理器控制系统,其它处理器或者向主处理器要任务或做预先定义的任务。这种方案称为主从关系。
  • 对称多处理: 现在最普遍的多处理器系统,意味着所有处理器对等,多个进程可以并行且不影响性能,必须控制I/O以确保数据到达合适的处理器。
集群系统

集群计算机共享存储并通过局域网络连接或更快的内部连接。

四、操作系统结构

这一部分捋一捋操作系统的发展史

1、手工操作阶段

程序的装入、运行、结果的输出全部依靠手工。
缺点:

  1. 一个用户独占全集,不会出现因资源已被其他用户占用而等待的现象,单资源利用率低。
  2. CPU等待手工操作,CPU利用不充分。
2、批处理阶段

系统对作业的处理成批进行,内存中始终保持一道作业。

单道批处理系统

特征:

  1. 自动性:磁带上的一批作业能自动低逐个运行,无须人工干预。
  2. 顺序性:各作业的输入顺序与完成顺序完全相同。
  3. 单道性:内存中仅有一道程序运行。

缺点: 每次主机内存中仅存放一道作业,每当它在运行期间发出I/O请求后,高速的CPU便处于等待低速的I/O完成状态。

多道批处理系统

多道程序设计技术允许多个程序同时进入内存并允许它们在CPU中交替地运行,这些程序共享系统中的各种软/硬件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。

特点: 多道,宏观上并行,微观上串行。
优点: 资源利用率高,系统吞吐量大,CPU和其它资源保持“忙碌”状态。
缺点: 没有人机交互能力,用户不了解自己的程序的运行情况,也不能控制计算机。

3、分时操作系统

**分时操作系统:**把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用,若在一时间片内不能完成运算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮时间片再继续运行。由于CPU处理速度很快,时间片也很短,因此给每个用户的感觉就像是自己独占一台计算机。
特点:

  1. 同时性: 允许多个终端用户同时使用一台计算机,即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。
  2. 交互性: 分时系统具有交互能力,用户可通过用户终端采用人机对话的方式直接控制程序运行,同程序进行交互。
  3. 独立性: 系统中的多个用户可以彼此独立地进行操作,互不干扰。
  4. 及时性: 用户的请求能在很短的时间内获得相应(倍数时间片的时间内)。

缺点: 在某些应用场景下,时间片级别内的时间下还不够快,比如订票系统、制导系统。

4、实时操作系统

硬实时系统: 某个动作必须在规定的时间范围内完成,如飞行控制系统。
软事实系统 某个动作要求在规定的时间范围内完成,偶尔违反不会引起永久性损害,如订票系统。

5、网络操作系统

把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各台计算机之间的数据的互相传送。
特点: 网络中的各种资源的共享以及计算机之间的通信。

6、分布式操作系统

系统中的任意两台计算机通过通信方式交换信息,任意两台计算机具有同等地位,并可通信;每台计算机上的资源都为所有用共享;系统中的任意台计算机都可构成一台子系统,并可重构;任何工作都可以分布在任意台计算机上,并行工作,协同完成。

特点: 分布性和并行性。
与网络操作系统的不同: 分布式操作系统中的若干计算机协同完成同一任务。

五、操作系统操作

双重系统操作

用户模式(user mode)与系统模式(system mode)
在这里插入图片描述
系统模式有很多别名,比如内核模式(kernel mode),特权模式(privileged mode)

系统操作举例: 系统引导时,硬件开始处于内核模式。接着,装入操作系统,开始在用户模式下执行用户进程。一旦出现陷阱或中断,硬件就会从用户模式切换到内核模式。因此,只要操作系统获得了对计算机的控制,它就处于内核模式。系统在将控制交还给用户程序时会切换到用户模式。

模式位(mode bit): 即用一个bit来表示目前是用户模式还是系统模式。

特权指令(privileged instruction): 能引起损害的机器指令为特权指令。如果在用户模式下试图执行特权指令,那么硬件并不执行该指令,而是认为该指令非法,并将其以陷阱的形式通知操作系统。

特权指令举例: 由系统模式转换到用户模式是一个特权指令(因为该指令只能在系统模式下执行);I/O控制、定时器管理、中断管理也为特权指令;修改定时器操作的指令也为特权指令。

系统调用(system call): 操作系统内核提供一系列预定功能,通过一组称为系统调用的接口呈现给编程人员,系统调用把应用程序的请求传给内核,系统调用相应的内核函数完成所需的处理,将处理结果返回给应用程序。系统调用是内核的一部分。

定时器(timer)

必须确保操作系统能维持对CPU的控制,也必须防止用户程序陷入死循环或不调用系统服务,并且不将控制权返回到操作系统。为了实现这一目标,可使用定时器

操作系统在将控制权交给用户前,应确保设置好定时器以便产生中断。如果定时器产生中断,那么控制权会自动交给操作系统。

六、进程管理(Process Management)

进程: 程序在未被CPU执行前不会做任何事,处于执行中的程序被称为进程(程序本身不是进程,程序是被动的实体,而进程是一个活动的实体)。进程需要一定的资源(CPU时间、内存、文件、I/O设备)以完成其任务。

对于单线程进程而言,有一个程序计数器来明确下一个执行的指令。这样的进程的执行必须是连续的。CPU一个接着一个地执行进程的指令,直至进程终止。在任何时候,最多只有一个指令代表进程被执行。

进程是系统工作的单元。系统由多个进程组成,其中一些是操作系统进程(执行系统代码),其余的是用户进程(执行用户代码)。所有这些进程可以潜在地并发执行。

七、内存管理(Memory Management)

内存: 内存是现代计算机系统操作的中心。内存是一个大的字节或字的数组。每个字或字节都有其地址。内存是可以被CPU和I/O设备所共同快速访问的数据仓库。内存通常是CPU所能直接寻址和访问的唯一大容量存储器。如果CPU需要执行指令,那么这些指令必须在内存中。如果一个程序要执行,那么它必须先变成绝对地址并装入内存。

八、存储管理(Storage Management)

文件系统管理

由操作系统管理

大容量存储器管理

由操作系统管理

高速缓存(Cache)

高速缓存: 信息通常保存在内存中,当使用它时,它会被临时地复制到更快的存储系统Cache中。但是Cache与其上方的寄存器并不受操作系统控制,所以只是简单提及。

九、保护和安全(Protection and Security)

保护: 保护是一种控制进程或用户对计算机系统资源的访问的机制。这个机制必须为强加控制提供一种规格说明方法和一种强制执行方法。

安全: 安全的主要工作是防止系统不受外部或内部攻击。比如病毒、蠕虫、拒绝服务攻击等等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值