操作系统1-操作系统的基本特征和主要功能

news2024/11/23 3:51:23

目录

1、操作系统的目标和作用

(1)操作系统的目标

(2)操作系统的作用

2、操作系统的发展过程

(1)未配置操作系统的计算机系统

(2)单道批处理系统(Simple Batch Processing System)

(3)多道批处理系统(Multiprogrammed Batch Processing System)

(4)分时系统(Time Sharing System)

(5)实时系统(RealTime System)

(6)微机操作系统

3、操作系统的基本特性

(1)并发

(2)共享

(3)虚拟

(4)异步

4、操作系统的主要功能

(1)处理机管理功能/进程管理

(2)存储器管理功能

(3)设备管理功能

(4)文件管理功能


        操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

1、操作系统的目标和作用

(1)操作系统的目标

        在计算机系统上配置操作系统,其主要目标是:方便性、有效性、可扩充性和开放性。

  1. 方便性:使计算机变得易学易用
  2. 有效性:第一层含义是提高系统资源的利用率。在早期未配置 OS 的计算机系统中,诸如处理机、I/O设备等都经常处于空闲状态,各种资源无法得到充分利用,所以在当时,提高系统资源利用率是推动 OS 发展最主要的动力。有效性的另一层含义是,提高系统的吞吐量。OS 可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而提高了系统的吞吐量。
  3. 可扩充性:能方便地增添新的功能和模块,以及对原有的功能和模块进行修改
  4. 开放性:是指系统能遵循世界标准规范,特别是遵循开放系统互连 OSI国际标准事实上,凡遵循国际标准所开发的硬件和软件,都能彼此兼容,方便地实现互连。

(2)操作系统的作用

        1)OS作为用户与计算机硬件系统之间的接口

        OS 处于用户与计算机硬件系统之间,用户通过OS 来使用计算机系统。或者说,用户在 OS 帮助下能够方便、快捷、可靠地操纵计算机硬件和运行自己的程序。

        2)OS作为计算机系统资源的管理者

        计算机系统中资源分为四类:处理机、存储器、I/O 设备以及文件(数据和程序)。相应地,OS 的主要功能也正是对这四类资源进行有效的管理。

        3)OS实现了对计算机资源的抽象

        如图所示,由I/O设备管理软件实现对 I/O 设备操作的细节,并向上将I/O设备抽象为一组数据结构以及一组I/O操作命令,如 read 和 write 命令,这样用户即可利用这些数据结构及操作命来进行数据输入或输出,而无需关心 I/O 是如何具体实现的。

2、操作系统的发展过程

(1)未配置操作系统的计算机系统

        对计算机的全部操作都是由人工操作的方式进行。//原始机器、使用纸带、磁带

        人工操作方式严重降低了计算机资源的利用率,此即所谓的人机矛盾。虽然CPU的速度在迅速提高,但I/O设备的速度却提高缓慢,这使 CPU与I/O设备之间速度不匹配的矛盾更加突出。

(2)单道批处理系统(Simple Batch Processing System)

        为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理。

        其处理过程是://理解不足,才能理解为什么被需要

  1. 首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;
  2. 当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。

        计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统

        单道批处理系统的缺点

        单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU 便处于等待状态,必须在其I/O 完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。// CPU在I/O过程中必须等待

(3)多道批处理系统(Multiprogrammed Batch Processing System)

        在多道批处理系统中,用户所提交的作业先存放在外存上,并排成一个队列,称为“后备队列”。然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU 和系统中的各种资源。由于同时在内存中装有若干道程序这样便可以在运行程序A时利用其因I/O操作而暂停执行时的CPU空档时间再调度另一道程序B运行,同样可以利用程序B在IO操作时的CPU空档时间,再调度程序C运行,使多道程序交替地运行,这样便可以保持 CPU 处于忙碌状态。// 最大化利用CPU空闲时间

        1)多道批处理系统的优缺点

  1. 资源利用率高。引入多道批处理能使多道程序交替运行,以保持 CPU处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高 I/O 设备的利用率。
  2. 系统吞吐量大。能提高系统吞吐量的主要原因可归结为:CPU和其它资源保持“忙碌”状态,仅当作业完成时或运行不下去时才进行切换,系统开销小。
  3. 平均周转时间长。由于作业要排队依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
  4. 无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,修改和调试程序极不方便。// 多道批处理无人机交互能力

        2)多道批处理系统需要解决的问题

        多道批处理系统是一种十分有效,但又非常复杂的系统,为使系统中的多道程序间能协调地运行,系统必须解决下述一系列问题:

  1. 处理机争用问题。既要能满足各道程序运行的需要,又要能提高处理机的利用率。
  2. 内存分配和保护问题。系统应能为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其它程序。
  3. I/O设备分配问题。系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。
  4. 文件的组织和管理问题。系统应能有效地组织存放在系统中的大量的程序和数据使它们既便于用户使用,又能保证数据的安全性。
  5. 作业管理问题。系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的不同要求。
  6. 用户与系统的接口问题。为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。

        据此,引出操作系统的定义:操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。// 代表系统:IBM OS/360操作系统

(4)分时系统(Time Sharing System)

        多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量

        分时系统形成和发展的主要动力,则是为了满足用户对人机交互的需求

        分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源

        实现人机交互的关键在于:及时接受及时处理

        人机交互中,用户键入命令后,能对自己的作业及其运行及时地实施控制或进行修改。因此,各个用户的作业都必须驻留在内存中,并能频繁地获得处理机运行。否则,用户键入的命令将无法作用到自己的作业上。

        所以需要改变原来批处理系统的运行方式,转而采用下面的方式:

  1. 作业直接进入内存。因为作业在磁盘上是不能运行的,所以作业应直接进入内存。
  2. 采用轮转运行方式。如果一个作业独占CPU 连续运行,那么其它的作业就没有机会被调度运行。为避免一个作业长期独占处理机,引入了时间片的概念。一个时间片,就是一段很短的时间(例如30s)。系统规定每个作业每次只能运行一个时间片,然后就暂停该作业的运行,并立即调度下一个作业运行。如果在不长的时间内能使所有的作业都执行一个时间片的时间,便可以使每个用户都能及时地与自己的作业进行交互,从而可使用户的请求得到及时响应。// 时间片的出现就是为了满足人机交互,每个程序都能获得处理机处理

(5)实时系统(RealTime System)

        所谓“实时”,是表示“及时”,而“实时计算”,则可以定义为这样一类计算:系统的正确性,不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间。事实上实时系统最主要的特征,是将时间作为关键参数,它必须对所接收到的某些信号做出“及时”或“实时”的反应。由此得知,实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行// 武器控制系统、嵌入式系统等

(6)微机操作系统

        配置在微型机上的操作系统称为微机操作系统,最早诞生的微机操作系统是配置在8位微机上的CP/M。后来出现了16 位、32位、64位微机,相应的微机操作系统也应运而生。微机操作系统可按微机的字长来分,也可将它按运行方式分为如下几类:

        1)单用户单任务操作系统

        单用户单任务操作系统的含义是,只允许一个用户上机,且只允许用户程序作为一个任务运行,这是最简单的微机操作系统,主要配置在8位和16 位微机上,最有代表性的单用户单任务微机操作系统是 CP/M MS-DOS

        2)单用户多任务操作系统

        单用户多任务操作系统的含义是,只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。目前在 32 位微机上配置的操作系统,基本上都是单用户多任务操作系统。其中最有代表性的是由微软公司推出了Windows

        3)多用户多任务操作系统

        多用户多任务操作系统的含义是,允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。在大、中和小型机中所配置的大多是多用户多任务操作系统,而在32 位微机上,也有不少配置的是多用户多任务操作系统,其中最有代表性的是UNIX OS

        现在最有影响的两个能运行在微机上的 UNIX 操作系统变形是 Solaris OS Linux OS

3、操作系统的基本特性

(1)并发

        并发使 OS能有效地提高系统中的资源利用率,增加系统的吞吐量。

        1)并行与并发

        并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。// 并发->交替执行

        2)什么是进程?

        进程,是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。

(2)共享

        OS 环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。// 进程之间存在对共享资源的争夺。

        目前主要实现资源共享的方式有如下两种:

        1)互斥共享方式:在一段时间内,只允许一个进程访问资源。

        当进程 A 要访问某资源时,必须先提出请求。若此时该资源空闲,系统便可将之分配给请求进程A 使用。此后若再有其它进程也要访问该资源,只要 A 未用完就必须等待。仅当A 进程访问完并释放系统资源后,才允许另一进程对该资源进行访问。这种资源共享方式称为互斥式共享,把这种在一段时间内只允许一个进程访问的资源,称为临界资源(或独占资源)。系统中的大多数物理设备,以及栈、变量和表格,都属于临界资源,都只能被互斥地共享。

        2)同时访问方式:允许在一段时间内有多个进程“同时”对资源进行访问。// 对文件同时读

(3)虚拟

        “虚拟”技术是通过“空分复用”或“时分复用”技术,将一条物理信道变为若干条逻辑信道,使原来只能供一对用户通话的物理信道,变为能供多个用户同时通话的逻辑信道。在 OS中,把通过某种技术将一个物理实体变为若个逻辑上的对应物的功能称为“虚拟”。 OS 中也是利用时分复用和空分复用技术来实现“虚拟”的// 一个物理实体对应多个逻辑对象

        1)时分复用技术 -> 提高处理机的利用率

        在计算机领域中,广泛利用时分复用技术来实现虚拟处理机、虚拟设备等,使资源的利用率得以提高。时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。

        2)空分复用技术 -> 提高内存利用率

        比如,电信业中使用频分复用技术(可以看成是空分的一种)来提高信道的利用率。该技术将一个频率范围比较宽的信道划分成多个频率范围较窄的信道(称为频带),其中的任何一个频带都仅供一对用户通话。在计算机中把空分复用技术用于对存储空间的管理,用以提高存储空间的利用率。

        总结:多道程序技术(时分复用技术)通过利用处理机的空闲时间运行其它程序,提高了处理机的利用率,那么,空分复用技术则是利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率

(4)异步

        进程是以人不可预知的速度向前推进的,此即进程的异步性。异步运行方式在OS中是允许的,而且是操作系统的一个重要特征。

4、操作系统的主要功能

(1)处理机管理功能/进程管理

        在传统的多道程序系统中,处理机的分配和运行都是以进程为基本单位的,因而对处理机的管理可归结为对进程的管理。处理机管理的主要功能有:创建和撤消进程,对诸进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程// 进程控制、进程同步、进程通信、作业或进程调度

(2)存储器管理功能

        存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能

        1)内存分配和回收

  1. 为每道程序分配内存空间,使它们“各得其所”
  2. 提高存储器的利用率,尽量减少不可用的内存空间(碎片)。
  3. 允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要

        2)内存保护

        内存保护的主要任务是:// 进程只能在规定的内存块中操作

  1. 确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰。
  2. 绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行

        3)地址映射:

        存储器管理必须提供地址映射功能,即能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。// 逻辑地址和物理地址的转换

        4)内存扩充:

        借助于虚拟存储技术,从逻辑上扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多,以便让更多的用户程序能并发运行。

  1. 请求调入功能:装载用户程序和数据。
  2. 置换功能:腾出内存空间,把不用的程序和数据置换为需要调入的程序和数据 //准换算法

(3)设备管理功能

        设备管理的主要任务如下: // 管理IO设备

  1. 完成用户进程提出的I/O请求。为用户进程分配所需的I/O设备,并完成指定的I/O操作。
  2. 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。

        为实现上述任务,设备管理应具有缓冲管理设备分配设备处理以及虚拟设备等功能:

        1)缓冲管理:在IO设备和CPU之间引入缓冲则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。

        2)设备分配:设备分配的基本任务是根据用户进程的 I/O 请求、系统现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。

        3)设备处理:设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之,由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。

(4)文件管理功能

        文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。为此,文件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护等功能

        1)文件存储空间的管理:主要任务为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存、取速度。

        2)目录管理:主要任务是为每个文件建立一个目录项,目录项包括文件名、文件属性文件在磁盘上的物理位置等,并对众多的目录项加以有效的组织,以实现方便的按名存取即用户只需提供文件名,即可对该文件进行存取。

        3)文件的读/写管理和保护

  1. 文件的读/写管理。该功能是根据用户的请求,从外存中读取数据,或将数据写入外存。
  2. 文件保护。为了防止系统中的文件被非法窃取和破坏,在文件系统中必须提供有效的存取控制功能,以实现下述目标:防止未经核准的用户存取文件;防止冒名顶替存取文件;防止以不正确的方式使用文件。

// 操作系统主要围绕以上功能进行详细阐述,也是学习的基本框架

        至此,全文结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/622852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企企通受邀出席多场高质量数智化活动,推进行业数字化升级转型

当前,数字经济已成为引领全球经济社会变革、推动我国经济高质量发展的重要引擎。Chat GPT的横空出世,宣告虚实无缝结合的跨场景体验时代即将到来。在云计算、大数据、人工智能、物联网等技术助推下,经过大量实践证明,数字化、智能…

工业RFID读写器选择指南

工业RFID读写器在工业领域上可提升自动化、现代化工业生产的效率,那么企业在选择工业读写器的时候,需要注重哪些方面,如何选择呢?以下是ANDEWELL给大家准备的工业RFID读写器选择指南! 1、根据应用场景选择 根据不同的应用场景,要…

【Docker安装部署Neo4j保姆级教程】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

大数据架构师岗位的主要职责概述(合集)

大数据架构师岗位的主要职责概述1 职责: 1.参与公司数据平台系统规划和架构工作,主导系统的架构设计和项目实施,确保项目质量和关键性能指标达成; 2.统筹和推进制造工厂内部数据系统的构建,搭建不同来源数据之间的逻辑关系&#x…

10.无监督学习

10.1 无监督学习的定义 监督学习:我们有一些列标签,然后用假设函数去拟合它 无监督学习:给出的数据不带任何标签。对于无监督学习来说,需要做的就是将数据输入到算法中,让算法找到一些隐含在数据中的结构,通…

IDEA代码提示设置

1. 打开File -> setting -> Editor -> Live Templates 2. 点击中间框框中的右侧""号,选择 Template Group, 命名为MyGroup(随便起名字) 3. 选中 MyGroup 点击右侧""号,选择Live Template Abbreviation 快捷提示 Description 描述 Template tex…

探究核心技术最佳实践,云原生OLAP论坛火热开启!

2023/06/11,09:00-12:30,在DataFunSummit 2023:OLAP引擎架构峰会上,由阿里云资深技术专家,实时数仓 Hologres 研发负责人姜伟华老师出品的云原生OLAP论坛讲邀请来自阿里云、亚马逊云科技、三七互娱、聚水潭、诺亚财富的…

相机成像模型(二)

相机内参/外参 将上述公式整合到一起,得到世界坐标系中点(Xw,Yw,Zw)映射到像素坐标系中点(u,v)的计算过程,同时给出相机内参、外参的定义如下。 相机外参:描述世界坐标系与相机坐标系之间的变换关系,可将世界坐标系中的点变换至相机坐标系;依赖世界坐标系的定义。 相机内参…

ubuntu18.04LTS编译openssl库进行rsa加密解密

一、下载openssl库源码,下载地址:https://ftp.openssl.org/source/ 我下载的版本: 二、编译源码 1、解压源码: tar zxvf openssl-1.1.1u.tar.gz 2、进入到解压后的文件夹中: cd openssl-1.1.1u/3、执行配置&#x…

6.数组、排序和查找|Java学习笔记

文章目录 数组数组使用注意事项和细节数组赋值机制 排序查找相关链接 数组 数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。 数据类型 数组名[] new 数据类型[大小];int a[] 或者 int[] a 都可以。 int[] a {1,2,3};// 二维数组的声明方式有…

ThreeJS教程:山脉地形高度可视化

推荐:将 NSDT场景编辑器加入你的3D工具链 3D工具集: NSDT简石数字孪生 山脉地形高度可视化 一个山脉地形的高度可视化,具体说就是地形不同的高度设置不同的颜色值。有多种方式,下面就举一个设置顶点颜色.attributes.color的例子 …

魏副业而战:夸克网盘拉新如何引流推广?3个方法,让你多赚5W+

我是魏哥,与其在家躺平,不如魏副业而战! 夸克网盘拉新项目,相信大家都知道吧。 提到拉新,很多人不屑一顾,认为拉人头的项目,没什么前途。 这个想法,魏哥是反对的。 任何项目的存…

阿里巴巴 2023 版(Java 岗)面试突击手册,Github 已标星42K

程序员作为一个自带“高薪多金”标签的职业,收入要高于市场的平均薪资,即便是在 2023 年,程序员的薪资依然保持居高不下。 据拉勾发布的《2022 程序员群体职场洞察报告》显示计算机专业的应届本科生起薪普遍高于其他职业的平均薪资水平。77%的本科毕业生…

[数据库]数据库事务,管理等级,并发锁

1.数据库事务 数据库事务(transaction)是数据库的特性之一,在mysql数据库管理系统中,事务的管理是由引擎innordb实现的. 数据库事务可以理解为一个阶段中的活动,对于每一个窗口都有一个日志,日志中记录着本次事务中进行的改动(注意只是改动,查询不算).其中的两个指令commit,以…

ffplay设置延时

目录 理论 实验 不带参数 带参数 理论 使用ffplay播放视频源时,rtsp/rtmp等,会有一定的延时,这里我们可以通过设置ffplay播放参数将延时控制到最小。 ffplay.exe -i rtmp://xxxxxxx -fflags nobuffer 减少缓冲 也可以减少分析码流的时间…

chatgpt赋能python:Python就业岗位分析:机遇和挑战并存

Python就业岗位分析:机遇和挑战并存 Python是一种高级编程语言,它具有易于学习、易于阅读和维护的特点。自问世以来,Python一直是最受欢迎的编程语言之一,用于各种领域的开发、数据分析和科学计算等方面,因此Python岗…

【AI工具】 一款多SOTA模型集成的高精度自动标注工具(直接安装使用,附源码)

目录 高精度自动标注工具简介及其特性标注工具的安装开启自动标注 简介 X-AnyLabeling 是一款全新的交互式自动标注工具,其基于AnyLabeling进行构建和二次开发,在此基础上扩展并支持了许多的模型和功能,并借助Segment Anything和YOLO等主流…

Abp Vnext 搭建 ELK日志记录

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana 安装 Elasticsearch Kibana 的方法我前面文章有写 Abp中加入Logstash Serilog.AspNetCore Serilog.Formatting.Elasticsearch Serilog.Sinks.Async Serilog.Sinks.Elasticsearchp…

算法与数据结构(四)

一、哈希表 1、哈希表在使用层面上可以理解为一种集合结构 2、如果只有key,没有伴随数据value,可以使用HashSet结构(C中叫UnOrderedSet) 3、如果既有key,又有伴随数据value,可以使用HashMap结构(C中叫UnOrderedMap) 4、有无伴随数…

【C++】4.多媒体库:SFML库入门

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍SFML库使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#…