第一章 操作系统概述

1.1操作系统的概念,功能和目标


资源管理者(接下来的4给章节就是对这四个功能的详细学习)

处理机处理: 处理机管理因为是为进程分配处理机资源,也称为进程管理。

存储器管理: 存储器管理的对象是主存,也称内存。它的主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护。

文件管理: 主要涉及文件的逻辑组织和物理组织,目录的结构和管理。所谓文件管理,就是操作系统中实现文件统一管理的一组软件、被管理的文件以及为实施文件管理所需要的一些数据结构的总称

设备管理:
1.缓冲管理
为达到缓解CPU和I/O设备速度不匹配的矛盾,达到提高CPU和I/O设备利用率,提高系统吞吐量的目的,许多操作系统通过设置缓冲区的办法来实现。
2.设备分配
设备分配的基本任务是根据用户的I/O请求,为他们分配所需的设备。如果在I/O设备和CPU之间还存在设备控制器和通道,则还需为分配出去的设备分配相应的控制器和通道。
3.设备处理
设备处理程序又称设备驱动程序。其基本任务是实现CPU和设备控制器之间的通信。
4.设备独立性和虚拟设备
用户向系统申请和使用的设备与实际操作的设备无关

向用户提供服务:

命令接口: (允许用户直接使用)
1.联机命令接口(交互式命令接口):一组联机命令,终端处理程序、命令解释程序,比如CMD中的指令 time指令
2.脱机命令接口:比如.bat文件,把指令列成指令清单,一次执行

程序接口: (允许用户通过程序间接使用)
由一组系统调用组成,(程序接口=系统调用)

GUI: 图形用户接口

1.2标题操作系统的特征(4个哦)


并发(concurrence) : 指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发是指宏观上在一段时间内有多道程序在同时运行,而微观上这些程序是在交替地执行。
资源共享(resource—sharing) : 指多个并发进程共享计算机系统中的资源。被共享的资源可以是诸如CPU、内存、磁盘和打印机等硬件资源;也可以是软件资源,如文件和数据。

虚拟(virtual): 所谓虚拟是指把一个物理上的实体,映射为若干个逻辑上的对应物。前者是实的,实际存在的;后者是虚的,只是用户的一种感觉。例如,在多道程序系统中,虽然只有一个CPU,但通过分时使用后给用户的感觉是每道程序都有一个CPU在为之服务。亦即多道程序设计技术可把一台物理CPU虚拟为多台逻辑上的CPU。
时分复用共享:当一种资源在时间上复用时,不同的程序或用户轮流使用它。比如分时操作系统下的CPU

**空分复用共享:**让同一个频段在不同的空间内得到重复利用。虚拟磁盘技术:一台电脑上只有一个硬盘,使用虚拟磁盘技术可以将一个硬盘虚拟为多个硬盘。例如电脑上的C、D、E、F盘

异步(asynchronism): 指一组事件在多次出现时,它们出现的时间和次序没有一定规律。在多道程序环境下,异步是指每道程序均以人们不可预知的速度向前推进。

1.3操作系统的发展与分类


每个新出现的操作系统都是为了解决上一代操纵系统的缺点
手工操作系统阶段: 特点:一道程序独占机器且有人工干预的情况。

单道批处理系统
单道批处理系统引入了脱机输入/输出技术(用磁带完成),但是每次只能往内存中输入一道程序,监督程序(这是操作系统的雏形)负责控制程序的输入输出。
过程:多个用户把程序写在纸带上,然后通过外围机录入到磁带中,监督程序会控制程序的输入和输出,每次只允许计算机内存中存在一道用户程序。

流程大概这样:这个磁带的功能,也被映射到了缓冲技术的思想上。

由于磁带录入到处理器中的速度比纸带快得多,所以单道批处理系统一定程度上缓和了人机速度矛盾,资源利用率有所提升,
主要优点: 缓和了一定程度的人机速度矛盾,资源利用率有所提升。
主要缺点: 内存中仅能有一道用户程序运行,只有该程序运行结束后才能调入下一道程序,CPU有大量的空闲时间是在等待I/O完成,资源利用率依然很低。

在这里要解释一下,什么叫"CPU有大量的时间是在空闲等待I/O完成",I/O其实就是输入/输出(Input/Output)。这句话的意思就是,程序在输入输出的时候,什么事情都不做,必须等输入输出完成,该程序才做接下来的事情。
举个现实的例子:你去买宵夜,你和奶茶小贩说:"老板,我要一杯奶茶"后,你就在那里等,而不是去买其他的东西。
在这里,你就是CPU,奶茶小贩就是输出设备,而你向奶茶小贩说了你的需求(这就是CPU要输出设备做的事)后,你没做其他的事情,而是站在那里等,那这个等的时间就是空闲时间,其实你可以在这个空闲时间做其他事情。

多道批处理系统(操作系统正式诞生)
每次往计算机内存中输入多道程序,并引入了中断技术,由操作系统负责管理这些程序的并发运行。
过程:和单道批处理系统差不多,只不过是可以向计算机内存中调入多道程序,让他们在计算机内存中并发运行。
主要优点:多道程序并发运行,共享计算机资源,资源利用率大幅提升,CPU和其他资源保存"忙碌"状态的时间增长。
主要缺点:用户响应时间长,没有人机交互功能(用户提交自己的作业之后只能等待计算机处理完成,中间不能控制自己作业的执行)

这里举个例子说说:为什么多道批处理系统能使资源利用率大幅提升呢?
假如现在计算机中有3个设备,输入设备、CPU、输出设备,他们分别负责输入、计算、输出。
那现在有3个作业,每个作业需要1s输入,1s计算,1s输出。
假如采用单道批处理系统。那过程将如下图。

可以看出,
输入设备的工作区间为[0,1],[3,4],[6,7]。
CPU的工作区间为[1,2],[4,5],[7,8]。
输出设备的工作区间为[2,3],[5,6],[8,9]。
这些设备的工作区间都没有重叠。
整个过程用了9s。

假如采用多道批处理系统。那过程将如下图。


可以看出,
输入设备的工作区间为[0,3]。
CPU的工作区间为[1,4]。
输出设备的工作区间为[2,5]。
这些设备的工作区间有重叠,而且在[2,3]时,输入设备,CPU,输出设备都在工作。
整个过程用了5s。

从对比可以看出,多道批处理系统能使资源利用率大幅提升,也提升了工作效率。

分时操作系统
概述:计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。T=QN(Q为时间片,往往时间片是固定的,N为用户数,用户数越多,响应时间越长)
(时间片就是一个很短的时间,比如50ms)
图示如下:

用户请求可以被即时响应,解决了人机交互问题,允许多个用户使用一台电脑,并且用户对计算机的操作相互独立,感受不到别人的存在。
主要缺点:不能优先处理一些紧急任务,操作系统对各个用户/作业都是完全公平的,循环地为每一个用户/作业服务一个时间片,不区分任务的紧急性(有时候我们需要某个作业被马上执行,比如导弹发射,如果不能实时操作,必将产生灾难性的后果)

实时操作系统
为了解决分时操作系统不区分任务的紧急性的问题,实时操作系统诞生了。
在实时操作系统的控制下,计算机系统接收到外部信号后能及时进行处理,并且要在严格的时限内处理完事件, 实时操作系统的主要特点是及时性和可靠性。
主要优点: 能优先响应一些紧急任务,某些紧急任务不需要时间片排队。
当然,实时操作系统也分为2类:

硬实时系统(必须在绝对严格的规定时间内完成处理,如导弹控制系统、自动驾驶系统)
软实时系统(能偶尔违反时间规定,如12306火车订票系统,有时候票的余量是不准确的,但是也不妨碍系统的正常运行)

其他几种操作系统
网络操作系统:网络操作系统伴随着计算机网络的发展而诞生,能把网络中的各个计算机有机地结合起来,实现数据传输等功能,实现网络中各种资源的共享(如文件共享)以及各台计算机之间的通信。

分布式操作系统: 主要特点是分布性和并行性,系统之中的各台计算机地位相同,任何工作都可以分布在这些计算机上,他们并行、协同完成这个任务。

个人操作系统: 如 Windows XP,windows 7,10,macOS,方便个人使用。

参考自:https://blog.csdn.net/qq_19018277/article/details/98206370

1.4操作系统的运行机制和体系结构


内核程序可以执行特权指令,也可以执行非特权指令。

指令的概念:

I/O指令是计算机指令系统的一部分,由CPU执行。在采用通道的计算机中,I/O指令不直接控制I/O数据的传送,它只负责启动、停止I/O的过程、查询通道和I/O设备的状态以及控制通道进行某些操作。
比如:cpu在执行一个接受数据的进程,当我传输到一半我想打游戏了,我点了停止传输,cpu就会发出一个I/O指令用来停止这个传输的进程,这就会用到中断机制,把当前cpu运行的这个进程中断掉,换到我打游戏的进程。

1) 时钟管理
在计算机的各种部件中,时钟是最关键的设备。时钟的第一功能是计时,操作系统需要通过时钟管理,向用户提供标准的系统时间。另外,通过时钟中断的管理,可以实现进程的切换。诸如,在分时操作系统中,釆用时间片轮转调度的实现;在实时系统中,按截止时间控制运行的实现;在批处理系统中,通过时钟管理来衡量一个作业的运行程度等。因此,系统管理的方方面面无不依赖于时钟。

2) 中断机制
引入中断技术的初衷是提高多道程序运行环境中CPU的利用率,而且主要是针对外部设备的。后来逐步得到发展,形成了多种类型,成为操作系统各项操作的基础。例如,键盘或鼠标信息的输入、进程的管理和调度、系统功能的调用、设备驱动、文件访问等,无不依赖于中断机制。可以说,现代操作系统是靠中断驱动的软件。

中断机制中,只有一小部分功能属于内核,负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。这样可以减少中断的处理时间,提高系统的并行处理能力。

3) 原语
按层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,它们各自完成一个规定的操作。其特点是:

它们处于操作系统的最底层,是最接近硬件的部分。
这些程序的运行具有原子性——其操作只能一气呵成(这主要是从系统的安全性和便于管理考虑的)。
这些程序的运行时间都较短,而且调用频繁。

通常把具有这些特点的程序称为原语(Atomic Operation)。定义原语的直接方法是关闭中断,让它的所有动作不可分割地进行完再打开中断。

系统中的设备驱动、CPU切换、进程通信等功能中的部分操作都可以定义为原语,使它们成为内核的组成部分。

1.5中断和异常


中断是指 CPU 对系统发生某事件时的这样一种响应:

CPU 暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继续执行。

根据中断时 CPU 的活动轨迹。还可进一步把中断分为外中断和内中断。
通过判断中断信号来自CPU内部还是外部来判断属于哪种中断

外中断——就是我们指的中断——是指由于外部设备事件所引起的中断,如通常的磁盘中断、打印机中断等;
内中断——就是异常——是指由于 CPU 内部事件所引起的中断,如程序出错(非法指令、地址越界)。内中断(trap)也被译为“捕获”或“陷入”。
异常是由于执行了现行指令所引起的。由于系统调用引起的中断属于异常。
中断则是由于系统中某事件引起的,该事件与现行指令无关。

中断和异常
相同点:都是CPU对系统发生的某个事情做出的一种反应。
区别:中断由外因引起,异常由CPU本身原因引起

引入原因
中断的引入——为了支持CPU和设备之间的并行操作

异常的引入——表示CPU执行指令时本身出现的问题

引发中断或异常的事件

中断——外部事件引起,正在运行的程序所不期望的
异常——内部执行指令引起

1.6系统调用


陷入指令(Traps),又叫做自陷指令或访管指令,出现在计算机操作系统中,用于实现在用户态下运行的进程调用操作系统内核程序,即当运行的用户进程或系统实用进程欲请求操作系统内核为其服务时,可以安排执行一条陷入指令引起一次特殊异常。

陷入指令在计算机操作系统的中断处理机制、系统调用机制中有重要作用。陷入处理机制需要开辟现场保护区,以保存发生系统调用时的处理器现场。

操作系统第一章知识点小结相关推荐

  1. 操作系统概述 操作系统第一章知识点归纳总结

    系列文章 第二章 进程的描述与控制 第二章 进程调度 第一章 概述 1.1 目标与功能 1.1.1 操作系统: 控制应用程序的程序 应用程序和硬件间的接口 三大目标: 方便:用户使用 有效:使用系统资 ...

  2. 操作系统第一章课后题

    操作系统第一章课后题 1. 设计现代OS的主要目标是什么? 答:方便性,有效性,可扩充性和开放性 2. OS的作用可表现在哪几个方面? 答:(1) OS作为用户与计算机硬件系统之间的接口.(2) OS ...

  3. 王道-操作系统-第一章

    王道-操作系统-第一章 1.概念.功能.目标 熟悉的操作系统 windows/linux/macos/ios/Android 1.1 概念 层次结构 定义 1.2 功能和目标 作为系统资源的管理者 进 ...

  4. 汤晓丹的第四版计算机操作系统--第一章总结概述

    计算机操作系统 最近为了考研复试而复习的计算机操作系统,计算机网络,数据库系统概论,离散数学.现在将复习的书上的知识点整理总结出来,与大家共享. 第一章 操作系统概论 操作系统的目标:方便性,有效性, ...

  5. 零压力学python_《零压力学Python》 之 第一章知识点归纳

    第一章(初识Python)知识点归纳 Python是从ABC语言衍生而来的 ABC语言是Guido参与设计的一种教学语言,为非专业编程人员所开发的. Python是荷兰程序员 Guido Van Ro ...

  6. 进程的描述与控制 操作系统第二章知识点归纳总结

    系列文章 第一章 操作系统概述 第二章 进程调度 第二章 进程的描述与控制 2.1 什么是进程 程序代码+相关数据+程序控制块PCB 当处理器开始执行一个程序的代码时,称这个执行的实体为进程 2.1. ...

  7. 操作系统:第一章,第二章总结

    第一章 操作系统引论 (一)操作系统的介绍 1.定义 (1)操作系统是一组用于控制和管理计算机系统硬件和软件资源.合理地对各类作业进行调度,以及方便用户使用的程序集合. 2.地位 (1)操作系统是裸机 ...

  8. 1.1.1.1校园网_高一数学上册必修1第一章知识点:1.1.1集合的含义与表示

    近日,北京高中生学习公 号 家教老师帮高一生整理了人教版高一数学上册必修1第一章1.11集合的含义与表示知识点,希望大家熟练掌握. 高一数学上册必修1知识点:第一章1.11集合的含义与表示知识点 1. ...

  9. 操作系统--第一章 操作系统引论--习题答案

    操作系统第四版课后的全部习题答案,学习通作业答案. 说明:操作系统其他章节的习题答案也在此"操作系统"专栏. 第一章 1.设计现代OS的主要目标是什么?== 答:(1)有效性 (2 ...

最新文章

  1. MVC中执行成功弹出对话框
  2. VTK:IO之ReadRectilinearGrid
  3. C语言内存编址和寻址、内存对齐
  4. P3455 [POI2007]ZAP-Queries
  5. 组合数学 —— 组合数取模
  6. 基于视觉的烟雾/火焰检测数据集整理(检测、识别、分割)
  7. 计算机信息工程专业985,信息工程学院
  8. C++自学20:指针/指针的指针/const
  9. 在Android 6.0 Marshmallow(API 23)上弃用了getColor(int id)
  10. NLP情感分析笔记(六):Transformer情感分析
  11. ORACLE PL/SQL编程之八: 把触发器说透 |来自cnblogs的EricHu|
  12. springcloud之eureka客户端的注册
  13. 工程项目全过程,工程项目建设分为几个阶段?
  14. 计算机开机桌面黑,电脑能正常启动但屏幕全黑原因和解决方法
  15. 计算机制作节日贺卡教案,幼儿园节日教案:做贺卡
  16. 九歌·湘夫人 先秦 · 屈原
  17. air for andriod学习笔记1- 将现有fla文件生成为apk
  18. android 文件管理器下载,ES文件管理器下载
  19. 【Web Development - AnnihilateSword】02 - Introduction to HTML
  20. 法国有座小城叫做阿纳西

热门文章

  1. 故障电弧探测器的必要性及组网方案 安科瑞 时丽花
  2. 舆情智慧决策闭环管理
  3. 【Java设计模式】Java设计模式之(十五)策略模式(Strategy Pattern)
  4. android 分析堆栈信息,分析android异常时的堆栈信息
  5. JAVA实现抽奖大转盘摇一摇核心算法 亲测实用
  6. Framework7——如何使用路由load或back页面
  7. Java基础深度总结:Object类-clone方法
  8. 欧盟想要把苹果的 iPhone 变成 Android 手机
  9. sp_renamedb
  10. Sametime音讯及视讯在线会议使用频宽评估与建议