OS简述

文章目录

  • OS简述
    • 1.什么是操作系统
    • 2.操作系统的角色
      • 一、作为扩展机器的操作系统(**魔术家**)
      • 二、资源管理者
    • 3.操作系统与应用程序的关系
    • 4.操作系统的基本类型
      • Ⅰ、批处理系统
      • Ⅱ、分时操作系统
      • Ⅲ、实时操作系统
    • 5.怎样理解抽象
    • 6.什么是内核态(管态、系统态)
      • 什么样的功能应该在内核态下实现呢?
    • 7.什么是用户态(目态)
    • 8.计算机如何判断程序正处于什么状态
    • 9.有哪些特权指令
    • 10.哪些情况下用户态自动转向内核态?
    • 11.中断概念
    • 12.中断分类
    • 13.什么是程序状态字
1.什么是操作系统

定义:

① 操作系统是介于计算机硬件和应用软件之间且运行在内核态的一个软件。

负责计算机系统软硬件资源的分配与管理;控制协调并发活动;提供用户接口,使用户获得良好的工作环境。

②操作系统使计算机变得好用(将人从繁琐、复杂的对机器掌控的任务中解脱);

③操作系统使计算机运行变得有序(操作系统掌控计算机上所有的事情)。

总结:操作系统是掌控计算机所有事情的软件系统。

从定义引申出操作系统的功能:

①管理计算机的软硬件资源

②保证计算机资源的公平竞争和使用

③防止对计算机资源的非法侵占和使用

④保证操作系统自身正常运转

2.操作系统的角色
一、作为扩展机器的操作系统(魔术家

魔术家的目标是把差的东西变好,把少的东西变多,把复杂变简单

操作系统目的:将计算机以一个更加容 易、更加方便、更加强大的方式呈现给用户。即,隐藏硬件,呈现给程序(以及程序员)良好、清晰、 优雅、一致的抽象。


操作系统通过进程抽象让每一个用户感觉有一台自己独享的CPU;

通过虚拟内存抽象,让用户感觉物理内存 空间具有无限扩张性,这就是把少变多。

操作系统的把少变多不是无中生有,变多也不是无限多,只 是针对磁盘容量的大小

二、资源管理者

操作系统管理着一个复杂系统的各个部分。

操作系统的任务:记录哪个程序在使用什么资源,对资源请求进行分配,评估使用代 价,并且为不同的程序和用户调解互相冲突的资源请求。(***系统资源分配、控制和协调并发活动***)

根据管理的资源不同,操作系统***具体功能***如下:

Ⅰ、CPU管理:如何分配CPU给不同应用和用户。
​ CPU的功能是:
​ (1)提出进程调度策略;
(2)给出进程调度算法;
(3)进行处理机的分派。

Ⅱ、内存管理:如何分配内存给不同应用和用户。

​ 内存管理的功能有:

​ (1)存储分配和存储无关性:用户不需要关心程序与数据的存储地址与存储空间大小。a、提供地址重定位能力;b、提供重定位装配程序或地址映像机构

​ (2)存储保护:保证每个用户程序只能访问它自己的存储空 间,而不能存取任何其他范围的信息

​ (3)存储扩充:使用联机辅助存储器(如磁盘、阵 列、光盘塔等),通过虚拟存储机制和软件去扩充主存空间

Ⅲ、外存管理:如何分配外存(磁盘)给不同应用和用户。

​ 将磁盘变成一个很容易使用的存储媒介以提供给用户使用。这样我们在访问磁盘时无须了解磁盘的物理属性或数据在磁盘上的精 确位置,诸如磁道、磁柱、扇面等。当然,文件系统还可以建立在光盘和磁带上。只是使用最为频繁的文件 系统都以磁盘为介质。

​ 外存分配方式:连续分配(顺序结构)、链接分配(链接式结构)、索引分配

​ 空间管理方法:空闲表法、空闲链表法、位示图法、成组链接法。

Ⅳ、I/O管理:如何分配输入输出设备给应用和用户。

​ 目的:一、屏蔽不同设备的差异性,即 用户用同样的方式访问不同的设备,从而降低编程的难度;二是提供并发访问,即将那些看上去并不具备共 享特性的设备(如打印机)变得可以共享。

​ 1)设备无关性:用户在编制程序时使用的设备与实际使用的设备(物理设备)无关,用户程序中使用的是逻辑设备。

​ 2)设备分配 :各个用户程序在其运行的开始、中间或结束三个阶段都可能有输入或输出,因此需要请求使用外部设备。设备分配采用三种技 术:独享共享虚拟分配技术

​ 3)设备的传输控制:实现物理的I/O操作,即组织使用设备的有关信息,启动设备、中断处 理、结束处理等。设备管理还提供缓冲技术、Spooling技术以改造设备 特性和提高其利用率。

实现多路复用(共享)资源的两种方式

​ ①时间复用:不同的程序和用户轮流使用它。例如,一个CPU与多个需要运行的程序,OS就会把CPU首先分给某个程序,一段时间后分给下一个,反复执行知道完成任务。

​ ②空间复用:每个需要运行的程序都获得了资源的一部分。例如,多个需要运行的程序都同时进入足够大的内存(可轮流使用CPU),在运行效率上有所提高。

3.操作系统与应用程序的关系

​ 操作系统通过虚拟机界面为用户程序提供各种服务,用户程序在运行过程中不断使用操作系统提供的服务来完成自己的任务。

​ 例如:

​ 用户程序在运行过程中需要读写磁盘,这个时候就需要调用操作系统的服务来完成磁盘读写操作;

​ 如果需要收发数据包,也需要调用操作系统的服务来完成。

​ 当调用这些服务时,控制从用户程序转移到操作系统,而操作系统在完成这些服务后将控制返回给用户程序。

​ 在这种思维模式下,用户程序是主程序,而操作系统是子程序


从另一个角度看,计算机启动后,最先启动的程序是操作系统,用户程序不能再操作系统之前启动。在操作系统加载完毕后,每一次启动用户程序都相当于操作系统将控制转移给用户程序,而在用户程序执行完毕后,控制又回到了操作系统。

在此思维模式下,操作系统是主程序,用户程序是子程序。

4.操作系统的基本类型

Ⅰ、批处理系统

​ 减少人机交互时间从而达到CPU和输入输出利用率的改善。

​ 将作业由输入机转存到辅存设备(如磁盘)上,形成一个作业队列,等待运行。当需要调入 作业时,管理程序中有一个名为作业调度的程序负责对磁盘上的一批作业进行选择,将其中满足资源条件且符合调度原则(比如,按先后顺序进行选择)的几个作业调入主存,让它们交替运行。当某个作业 完成计算任务时,输出其结果,并收回该作业占用的全部资源。然后根据主存和其他资源的使用情况,决定调入一个或几个作业。

​ 优点:系统的吞吐率高,充分利用资源

​ 缺点:用户的响应时间较长,由于无法交互所以不能及时了解到自己程序的运行情况并加以控制

Ⅱ、分时操作系统

​ 多个人同时连在计 算机上,每个人看做另外的一个I/O终端而已。每个用户拥有一个终端显示器,这些终端显示器经过RS232 穿行线缆与计算机连接。终端显示器只能接收和发送文本命令和信息。计算机在所有连接的终端用户之间进行分时,即分给每个人有限的时间,只要时间到了,就换一个进程。

​ 特点:

​ (1)并行性。共享一台计算机的众多联机用户可以在各自的终端上同 时处理自己的程序。

​ (2)独占性。分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端用户服务,因此,客观效果是这些用户彼此之间都感觉不 到别人也在使用这台计算机,好像只有自己独占计算机。

​ (3)交互性。用户与计算机之间可以进行“会话”,用户从终端输入命令,提出计算要求,系统收到命令后分析用户的要求并完成之,然后把运算结果通过屏幕或打印机反馈到用户,用户可以根据运算结果提出下一步要求直到全部工作完成。

Ⅲ、实时操作系统

​ 所有任务都在规定时间内完成的操作系统,即必须满足时序可预测性。需要注意的是,实时系统并不是指反应很迅速的系统,而是指反应具有时序可预测性的系统。

​ 实时系统通常又分为软实时系统和硬实时系统。

软实时系统:在规定时间得不到响应所产生的后果是可以承受的,如流水装配线。即使装配线瘫痪,也只是损失了资金;

硬实时系统:在得不到实时响应后则可能产生不能承受的灾难,如导弹防卫系统。如果反应迟钝,结果就可能是严重损失。

​ 特点:

​ (1)系统对外部实时信号必须能及时响应

​ (2)实时系统要求有高可靠性和安全性

​ (3)系统的整体性强。实时系统要求所管理的联机设备和资源,必须按一定的时间关系和逻辑关系协调工作。

​ (4)实时操作系统没有分时操作系统那样强的交互会话功能,通常不允许用户通过实时终端设备去编写新的程序或修改已有的程序。实时终端设备通常只是作为执行装置或咨询装置。

Ⅳ、网络OS

​ 在计算机网络中,每台主机都有操作系统,它为用户程序运行提供服务。

​ 网络环境下的操作系统既要为本机用户提供简便、有效地使用网络资源的手段,又要为网络用户使用本机资源提供服务。

​ 功能:

​ ①允许用户访问网络主机中的各种资源;

​ ②对用户访问进行控制,仅允许授权用户访问特定的资源;

​ ③对远程资源的利用如同本地资源一样;

​ ④提供全网统一的记账办法;

​ ⑤联机地提供最近的网络说明资料;

​ ⑥提供比单机更可靠的操作。

Ⅴ、分布式OS

​ 分布式系统是由多个相互连接的处理单元组成的计算机 系统。这些处理单元能够在整个系统的控制下合作完成一个共同的任 务,最少依赖集中的程序、数据或硬件。这些处理单元可以是物理上 相邻的、也可以是在物理上分散的。

​ 特征:

​ ①逻辑上是单一系统,为用户提供透明接口。

​ ②任务自动划分

​ ③任务全局调度

​ ④全集资源分配能力

5.怎样理解抽象

​ 操作系统提供的抽象自然也来源于现实,就是具体的计算机硬件,如CPU、内存、I/O设备等。但又超出这 些现实,给人提供了强于现实的东西,使人和应用软件感觉到更多、更好的硬件存在,而且只存在于操作系 统层面,一般的人才会觉得计算机是可以使用的。

​ 抽象不只是操作系统提供给用户的一个存在,它也存在于操作系统内部。操作系统内部分为不同的功 能块,而不同的功能块之间互相提供的也是抽象。

6.什么是内核态(管态、系统态)

​ 内核态就是拥有资源多的状态,或者说访问资源多的状态,称为特权态。

​ 在此状态下允许中央处理机使用全部系统资源 和全部指令,其中包括一组特权指令(例如,涉及外部设备的输入/ 输出指令、改变机器状态或修改存储保护的某些指令),允许访问整 个存储区。

​ 如果一个程序运行在特权态,则该程序就可以访问计算机的任何资源,即它的资源访问不受限制。

​ 例如,如果要访问操作系统的内核数据结构,如进程表,则需要在特权态下才能办到。

​ 运行在内核态的程序可以访问的资源多,但可靠性、安全性要求高,维护管理都较复杂;

什么样的功能应该在内核态下实现呢?

​ 凡是牵扯到计算机本体根本运行的事情都应该在内核态下执行,对时序要求特别高的操作,也应该在内核态完成。

​ 从保障计算机安全的角度来说,CPU和内存的管理必须在内核态实现。

​ 诊断与测试程序也需要在内核态下实现。因为诊断和测试需要访问计算机的所有资源,否则无法判断计算机是否正常。

​ 输入输出管理也一样,因为要访问各种设备和底层 数据结构,所以也必须在内核态实现。

​ 文件系统本身的管理,即文件系统的宏 数据部分的管理必须放在内核态,否则任何人都可能破坏文件系统的结构;

7.什么是用户态(目态)

​ 用户态就是非特权态,在此状态下禁止使用特权指令,不能直接取用系统资源与改变机 器状态,并且只允许用户程序访问自己的存储区域。

​ 如果一个程序运行在用 户态,则其资源需求将受到各种限制。

​ 如果要访问用户程序 里的数据,则在用户态就可以了。

​ 用户态程序程序访问的资源有限,但可靠性、安全性要求低,自然编写维护起来比较简 单。

一个程序到底应该运行在内核态还是用户态则取决于其对资源和效率的需求。

​ 如果一个程序能够运行于用户态,就应该让它运行在用户态。只在迫不得已的情况下,才让程序 运行于内核态。

​ 只与用户数据和应用相关的 东西则放在用户态执行。

​ 对于文件系统来说,则可以一部分放在用户态,一部分放在内核态。

​ 用户数据的管理则可以放在用户 态。编译器、网络管理的部分功能、编辑器、用户程序等,自然都可以放在用户态下执行。

Windows操作系统的内核态与用户态的界线

8.计算机如何判断程序正处于什么状态

​ 通过CPU状态字里面的一个字位进行判断。

​ 所谓的用户态、内核态实际上是处理器的一种状态,而不是程序的状态。我们通过设置该状态字,可以将CPU设置为内核态、用户态或者其他的子态(有的CPU有更多种子态)。一个程序运行时,CPU是什么态,这个程序就运行在什么态。

9.有哪些特权指令

①改变机器状态的指令;

②修改特殊寄存器的指令;

③涉及外部设备的输入/输出指令。

④从管态返回用户态是用一条指令实现的,这条指令本身也是特权指 令。

10.哪些情况下用户态自动转向内核态?

①用户进程访问操作系统,要求操作系统的某种服务,这种访问称为系统功能调用;

②在用户程序执行时,发生一次中断;

③在一个用户进程中产生一个错误状态,这种状态被处理为内部中断;

④在用户态下企图执行一条特权指令,作为一种特殊类型的错误,并按情况③处理。

11.中断概念

中断是指某个事件发生时,系统中止现行程序的运行、引出处理该事件程序进行处 理,处理完毕后返回断点,继续执行。

12.中断分类

Ⅰ、功能分类

​ 1)输入/输出(I/O)中断:它是当外部设备或通道操作正常结束或发生某种错误时所发生的中 断。例如,I/O传输出错、I/O传输结束等。

​ 2)外中断:对某台中央处理机而言,它的外部非通道式装置所引起的中断称为外 部中断。例如,时钟中断、操作员控制台中断、多机系统中CPU到 CPU的通信中断等。

​ 3)机器故障中断:当机器发生故障时所产生的中断称为机器故障中断。例如,电源故 障、通道与主存交换信息时主存出错、从主存取指令错、取数据错、 长线传输时的奇偶校验错等。

​ 4)程序性中断:在现行程序执行过程中,发现了程序性质的错误或出现了某些程序的 特定状态而产生的中断称为程序性中断。这种程序性错误有定点溢 出、十进制溢出、十进制数错、地址错、用户态下用核态指令、越 界、非法操作等。程序的特定状态包括逐条指令跟踪、指令地址符合 跟踪、转态跟踪、监视等。

​ 5)访管中断:对操作系统提出某种需求(如请求I/O传输、建立进程等)时所发出的 中断称为访管中断。

Ⅱ、方式分类

​ 1)强迫性中断:这类中断事件不是正在运行的程序所期待的,而是由某种事故或外部 请求信号所引起的。

​ 2)自愿中断:自愿中断是运行程序所期待的事件,这种事件是由于运行程序请求操 作系统服务而引起的。

13.什么是程序状态字

程序状态字是反映程序执行时机器所处的现行状态的代码。它的主要内容包括:

①程序现在应该执行哪条指令;

②当前指令执行情况;

③处理机处于何种工作状态;

④程序在执行时应该屏蔽哪些中断;

⑤寻址方法、编址、保护键;

⑥响应中断的内容

本文内容为《操作系统-哲学原理》、《现代操作系统》、《操作系统原理第四版》、《B站蛋黄派大师兄》的知识点组成的学习笔记。

补天计划--第一天--OS简述相关推荐

  1. 【360补天计划】记第一次漏洞提交

    前言: 即将于8月底进入广州大学方班开始研究生学习,遂提前开始学习网安方面的知识,然后发现了360的补天计划,正好之前进行测试的时候被老师提醒随便测试别人的网站不合适,这样一来,就有众多网站可以随便测 ...

  2. 华为鸿蒙系统覆盖机型,华为公布升级计划:鸿蒙OS系统开始推送,覆盖百款机型...

    原标题:华为公布升级计划:鸿蒙OS系统开始推送,覆盖百款机型 6月3日消息,华为官方公布了HarmonyOS 2百机升级计划,覆盖了智慧屏,华为手机.荣耀手机和平板电脑等品类.全新的鸿蒙OS系统对旧款 ...

  3. 鸿蒙2.0升级计划名单,鸿蒙OS 2.0适配 计划-升级名单

    网上有传来鸿蒙OS 2.0适配计划相关的消息 ,那么在这款鸿蒙OS 2.0的更新中都会哪些机型适配呢,想知道的朋友快跟着小编来看看吧. 鸿蒙OS 2.0升级名单 第一批升级名单就是 Mate X2.M ...

  4. 打通新场景,源创计划第一弹!“悟道”大模型应用合作交流会

    人工智能的时代,正从"大炼模型"进入到"炼大模型"的阶段.正如智源研究院理事长张宏江博士表示,"大模型在未来将起到智能'电网'的作用".以G ...

  5. 熊猫直播宣布停服:主站流浪计划第一阶段开启

    [TechWeb]3月8日消息,熊猫直播官微今天中午发布消息正式宣布停服,并称熊猫直播主站流浪计划,第一阶段开启.工程师请逐渐断开与母星连接.注意,请务必保持已连接的服务正常. 在该条微博下面,包括熊 ...

  6. 真的凉了!熊猫直播宣布停服:主站流浪计划第一阶段开启

    [TechWeb]3月8日消息,熊猫直播官微今天中午发布消息正式宣布停服,并称熊猫直播主站流浪计划,第一阶段开启.工程师请逐渐断开与母星连接.注意,请务必保持已连接的服务正常. 在该条微博下面,包括熊 ...

  7. 华为nova6升级鸿蒙os,华为公布升级计划:鸿蒙OS系统开始推送,覆盖百款机型

    6月3日消息,华为官方公布了HarmonyOS 2百机升级计划,覆盖了智慧屏,华为手机.荣耀手机和平板电脑等品类.全新的鸿蒙OS系统对旧款机型非常友好,升级计划包括2017年发布的华为P10系列和20 ...

  8. 《破解数字VLSI验证面试》翻译计划——第一章

    前言 本文基于<破解数字VLSI验证面试>翻译计划--综述展开翻译的! 第一章:数字逻辑设计 理解数字逻辑设计的基本原理是执行VLSI行业任何工作的基本技能.因此,无论面试是针对ASIC设 ...

  9. 华为2020手机鸿蒙计划,华为鸿蒙 OS 2020 计划曝光!手机仍然优先用安卓

    作者 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 四个月,是一个季度,你可以过完夏天.留下小秘密: 四个月,是一个阶段,婴儿可以学会自然翻身和抓握: 四个月,是一个节点,华为鸿蒙 OS ...

最新文章

  1. 【转】ASP.NET AJAX入门系列
  2. 把自己的思想记录下来
  3. 【Android 文件管理】分区存储 ( 分区存储机制 和 文件索引数据 )
  4. json字符串与对象互相转换
  5. 基于SmartQQ协议的QQ聊天机器人-4
  6. 网站页面左右_广州网站优化的技巧是什么?
  7. 安装了一次Linux,哈哈
  8. 使用DataWorks来调度AnalyticDB任务
  9. 高级图形学之离散技术
  10. bash:express:command not found
  11. 编译Android指定JDK/OpenJdk版本
  12. 如何从数据库(实体提供者)读取安全用户(转自http://wiki.jikexueyuan.com/project/symfony-cookbook/entity-provider.html)...
  13. pta 7-20 xrf的镜子碎了?
  14. ASP.NET入门篇【项目实战】打造一个自己的相册(二)登录模块
  15. CentOS 离线安装 postgresql 12
  16. 2014年年终总结——获得集团优秀员工称号的心得体会
  17. Mac版本的Sublime Text常用快捷键
  18. 安装Photoshop 2022时出现操作系统不满足此安装程序的最低系统要求
  19. 《Effective C艹》读书笔记(10)
  20. HTML + CSS + JS 利用邮编查询 API 实现邮编查询工具

热门文章

  1. 一个文档读懂计算机网络
  2. android o 结构光流程,OPPO 3D结构光技术完成,下半年实现量产,O粉们期待吗?
  3. LightGBM是个什么东东?好像很耳熟啊,怎么玩啊?如何调参?一文搞定!
  4. 久等了!Docker容器常用命令
  5. power bi系列(一)把时间戳转换成日期的详细教程
  6. Android P 图形显示系统(四) Android VirtualDisplay解析
  7. LINUX信息安全系统设计基础第一周学习总结
  8. 为什么 FIQ 比 IRQ 的响应速度更快?
  9. 鼠标右键点击桌面计算机,鼠标右键点击电脑桌面没有反应的解决方法
  10. 无量纲处理、量纲变换与实时仿真理论