当前位置:   article > 正文

计算机操作系统(引论篇含操作系统的目标、作用及基本特性等)_实现资源共享的方式有并发共享

实现资源共享的方式有并发共享

计算机操作系统(引论篇含操作系统的目标、作用及基本特性等)

1、计算机操作系统简介

操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

在这里插入图片描述

操作系统的类型非常多样,不同机器安装的操作系统可从简单到复杂,可从移动电话嵌入式系统超级电脑大型操作系统。许多操作系统制造者对它涵盖范畴的定义也不尽一致,例如有些操作系统集成了图形用户界面,而有些仅使用命令行界面,而将图形用户界面视为一种非必要的应用程序。

操作系统理论在计算机科学中,为历史悠久而又活跃的分支;而操作系统的设计与实现则是软件工业的基础与内核。

1.1、操作系统历史简述

1980年代前

第一部电脑没有操作系统,因为操作系统说到底还是软件,只不过是最底层的软件,当时的电脑硬件并不足以运行操作系统这样的软件。

1980年代

随着硬件改善,开始逐渐出现微型计算机,但此时还是没有装设操作系统的需求和能力,它们只需要最基本的操作系统,通常这种操作系统都是从ROM读取的,此种程序被称为监控程序(Monitor)。

基于VisualBasic制作的C64

在这里插入图片描述

微软制作的MS-DOS:

在这里插入图片描述

1990年代

MacOs出现,当初乔布斯时代,苹果发现了图形界面化的操作系统之后,一致认为图形化界面操作系统是未来的大趋势,后来苹果公司通过自我研究,设计出了Max Os X操作系统。

1990年代由于与AT&T的法律争端,使得远在芬兰赫尔辛基大学的另一股开源操作系统——Linux兴起。

在这里插入图片描述

Window NT现世,微软成功研制出Window NT操作系统。
在这里插入图片描述

至今

现如今的操作系统就有如下所示:

  • Android(开源手机应用操作系统),世界使用范围最大、最广的手机操作系统。
  • Mac(苹果电脑操作系统)
  • Windows(微软PC操作系统,系列众多,如今最广泛使用的是win10)、PC个人电脑普及最高的操作系统。
  • Linux(分支众多、出名的有RedHat、CentOs、Ubantu、Fedora、Debian(国产)、Arch等等)
  • ChromeOs(谷歌轻量级PC操作系统)
  • IOS(苹果手机操作系统)
  • HarmonyOs(鸿蒙操作系统,国产)等等。

对于历史,我们只需要简单的了解就行了。下面是不同时期系统区别:

在这里插入图片描述

1.2、操作系统的目标。

计算机操作系统的主要目标:

  • 方便性:如果用户配置的是裸机(即没有OS的计算机),那么如果用户想要运行程序,则需要通过机器代码(非常复杂)编写程序,而如果使用OS,则用户直接通过高级语言编写程序,由编译器编译成机器代码,并且可以通过各种命令操纵计算机系统,极大的方便了用户。
    有效性:在未装配OS的计算机中,处理机、I/O设备长期处于空闲状态,造成资源浪费,而装配OS,可以有效的管理计算机资源。
  • 可扩充性:为适应计算机硬件、体系结构以及计算机应用程序发展的要求,OS必须具备良好的可扩充性,从早期的无结构到模块化结构到层次化结构,再到现如今的微内核结构。都无不体现操作系统的发展目标——可扩充性
  • **开放性:**操作系统能遵循世界标准规范,使得凡是遵守世界标准规范的硬件与软件都能彼此兼容,方便实现互联。

1.3、操作系统的作用

主要有以下三点:

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

OS处于用户与计算机系统之间,用户通过OS来使用计算机系统。用户有三种方式使用计算机:命令(直接使用操作系统提供的命令来使用计算机硬件)、系统调用(编写一段C程序,通过操作系统提供的系统调用来使用计算机)、图标-窗口(如在Windows系统中通过双击图标等方式使用计算机);

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

计算机系统中存在多种硬件和软件资源,总体来说这些资源可以分为:处理机、存储器、IO设备以及文件(包括程序和数据),OS的作用就是管理这些系统资源;

  1. 处理机管理:分配和管理;
  2. 存储器管理:内存分配和回收;
  3. IO设备管理:分配与操作;
  4. 文件管理:存取、共享、保护

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

OS是铺设在计算机硬件上的多层软件的集合;它们不但增强了系统的功能,还隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象模型;随着抽象层次的提高,抽象接口所提供的功能就越强,用户使用起来就越方便;

OS作为计算机系统资源的管理者:在一个计算机系统中,通常分为四类资源:处理机、存储器、I/O设备、以及文件(数据和程序)。OS的主要功能就是对资源进行有效的管理,处理机管理分配和控制处理机,存储器管理负责内存的分配和回收、I/O设备管理负责I/O设备的分配(回收)与操纵、文件管理实现对文件的存取、共享和保护。这四类后面会另外进行单独详解。这里简单略过。

OS实现了对计算机资源的从抽象:裸机向用户提供的是硬件接口,用户想要使用必须对物理接口的实现细节有充分的的了解,致使物理机器难于广泛使用,而OS则通过I/O设备管理软

1.4、推动操作系统发展的主要动力

  • 不断提高计算机资源利用率
  • 方便用户
  • 器件、硬件的不断更新迭代
  • 计算机体系结构的不断发展
  • 不断提出新的应用需求

2、操作系统的特性(重点)

操作系统的特性主要有四大点,即并发、共享、虚拟、异步,下面将进行较为详细的讲解。

2.1、并发

2.1.1、并行与并发

并行性:是指两个或多个事件在同一时刻发生。

并发性:是指两个或多个事件在同一间隔时间内发生。

2.1.2、进程与线程

由于并发特行必然会涉及到进程与线程,所以概念在这里提出来。

**进程:**是指在系统中能够独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的。

**线程:**在引入线程的OS中,进程作为资源分配的基本单位,因此调度进程时付出的开销较大;线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效地提高系统内多个程序间并发执行的程度。线程的引入是现代操作系统的重要标志。

想了解进程、线程的可以看这里操作系统进程篇(详解进程相关概念及调度算法)

2.2、共享

1、概念:

指系统中的资源可供内存中多个并发执行的进程共同使用。

2、实现资源共享的两种主要方式:

互斥共享方式:在一段时间内只允许一个进程(线程)访问该资源。把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源。

同时访问方式:系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。

2.3、虚拟

2.3.1、概念:

通过某种技术把一个物理实体变为若干个逻辑上的对应物。

2.3.2、虚拟技术的两种实现方式:

(1)时分复用技术

概念:时分复用技术即分时使用技术

**虚拟处理机技术:**在虚拟处理机技术中,利用多道程序设计技术,为每道程序建立一个进程,让多道程序并发地执行,以此来分时使用一台处理机。我们把用户所感觉到的处理机称为虚拟处理器。时分复用技术是利用 处理机的空闲时间来运行其它的程序,使处理机的利用率得以提高

**虚拟设备技术:**我们还可以通过虚拟设备技术,将一台物理 I/O 设备虚拟为多台逻辑上的 I/O 设备,并允许每个用户占用一台逻辑上的 I/O 设备,这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界 资源),变为在一段时间内允许多个用户同时访问的共享设备。

(2)空分复用技术

概念:利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率。

空分复用技术的实现:

**虚拟存储器技术:**空分复用则是利用存储器的空闲空间来存放其它的程序,以提高内存的利用率。但是,单纯的空分复用存储器只能提高内存的利用率,并不能实现在逻辑上扩大存储。而虚拟存储技术在本质上就是使内存分时复用。它可以使一道程序通过时分复用方式,在远小于它的内存空间中运行。 例如,一个 100 MB 的应用程序可以运行在 20 MB 的内存空间。器容量的功能,必须引入虚拟存储技术才能达到此目地。

2.4、异步

概念:进程是以人们不可预知的速度向前推进的,此即进程的异步性。

通俗的理解:进程有可能慢、有可能快,不同的进程并行时可能一个快一个慢,也可能完全相反,即为异步。

3、主要功能

3.1、处理器管理

处理器是完成运算和控制的设备。在多道程序运行时,每个程序都需要一个处理器,而一般计算机中只有一个处理器。操作系统的一个功能就是安排好处理器的使用权,也就是说,在每个时刻处理器分配给哪个程序使用是操作系统决定的。主要有以下四种功能:

  • 进程控制:进程控制的主要功能就是为作业创建进程、撤消(终止)已结束的进程,以及控制进程在运行过程中的状态转换。
  • 进程同步:主要是为多个进程(含线程)的运行进行协调
  • 进程通信:实现相互合作之间的信息交换
  • 调度:包含作业调度与进程调度。进程调度是通过算法从进程就绪队列中选出进程并设置运行,投入使用。作业调度是从进程后备队列中通过算法选出作业,为它们分配资源,并将他们插入到就绪队列中。

3.2、存储管理

计算机的内存中有成千上万个存储单元,都存放着程序和数据。何处存放哪个程序,何处存放哪个数据.都是由操作系统来统一安排与管理的。这是操作系统的存储功能。下面列出功能:

  1. 内存分配:给每个程序分配适当的内存空间。
  2. 内存保护:确保程序在自己的内存区中运行
  3. 地址映射:将内存空间的逻辑地址转换为计算机物理地址。
  4. 内存扩充:借助虚拟存储技术,逻辑上扩充内存容量,以便让更多用户程序并发执行。

3.3、设备管理

计算机系统中配有各种各样的外部设备。操作系统的设备管理功能采用统一管理模式,自动处理内存和设备间的数据传递,从而减轻用户为这些设备设计输入输出程序的负担。

缓冲管理:通过对缓存进行管理,提高系统吞吐量。

设备分配:根据用户请求,根据某种分配策略进行分配

设备处理:实现CPU和设备控制器之间的通信。

3.4、作业管理

作业是指独立的、要求计算机完成的一个任务。操作系统的作业管理功能包括两点尸是在多道程序运行IC现货商时,使得备用户合理地共享计算机系统资源22是提供给操作人员一套控制命令用来控制程序的运行o

3.5、文件管理

计算机系统中的程序或数据都要存放在相应存储介质上。为了便于管理,操作系统招相关的信息集中在一起,称为文件。操作系统的文件管理功能就是负责这些文件的存储、检索、更新、保护和共享

4、OS结构设计

1.无结构操作系统

2.模块化结构OS

1)模块化程序设计技术的基本概念

该技术基于分解模块化的原则来控制大型软件的复杂度

2)模块独立性

(1)内聚性:指模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越强

(2)耦合度:指模块间相互联系和相互影响的程度。耦合度越低,模块化独立性越好

3)模块接口法的优缺点

优点

(1)提高OS设计的正确性、可理解性和可维护性

(2)增强OS的可适应性

(3)加速OS的开发过程

缺点

(1)在设计的时候,对各个模块间的接口贵姓难以满足在模块设计完成后对接口的现实需求

(2)各个模块设计齐头并进造成决定的无序性

3.分层式结构OS

1)分层式结构的基本概念

在目标系统An和裸机系统A0之间,铺设若干个层次A1,A2,A3…的中间层。一般采用自底向上法来铺设中间层。

2)分层结构的优缺点

优点:

1.易保证系统的正确性

2.易扩充,易维护

缺点:

OS每执行一个功能需要自上而下穿过多个层次,会增加系统通信开销,从而降低了系统效率

4.微内核结构OS

诸如Linux微内核,都是通过使用一个小的内核作为系统核心,外面再包裹各种的中间件、软件,这样做的好处是提高了系统的灵活性、正确性、可扩展性、易维护性等等。有一定C语言基础的可以通过看Linux微内核源码进行自我体会。下载链接:Linux5.9.12.tar.xz

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/163463
推荐阅读
相关标签
  

闽ICP备14008679号