操作系统概述

一、操作系统基本概念、特征、分类。

1、什么是操作系统

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。

从操作系统的概念上可以看出:

操作系统是系统资源的管理者(资源包括软件、硬件、文件等)
作为用户和计算机硬件之间的接口
向上层提供方便易用的服务
操作系统是最接近硬件的一种系统软件

原文链接:https://blog.csdn.net/dyw_666666/article/details/107902182

2、操作系统的特征

并发、共享、虚拟、异步

2.1 并发

并发和共享是最基本的特征,两者互为存在条件。

并发:指两个或多个事件在同一个时间间隔内发生。这些事件宏观上是同时发生的,但是微观上是交替发生的。

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

注!!

单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行

多核CPU同一时刻可以执行多个程序,多个程序可以并行地执行

2.2 共享

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

共享分为:互斥共享方式和同时共享方式。

互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但是一段时间内只允许一个进程访问。如使用QQ和微信视频,同一个时间段内摄像头只能分配给一个进程。

同时共享方式:系统中的某些资源,允许一个时间段内由多个进程同时对它们访问。如可以同时可以一边播放音乐一边看视频,音频设备被两个进程同时共享。

2.3 并发和共享的关系

并发性:计算机系统中同时存在着多个运行着的程序。

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

如果失去了并发性,则系统中只有一个程序运行,则共享性就失去了存在的意义。
如果失去了共享性,则多个进程无法同时访问共享资源,也就没法实现并发。
所以并发和共享两者互为存在条件。

2.4 虚拟

虚拟技术分为:

空分复用技术(如虚拟存储器技术)
时分复用技术(如虚拟处理器)
如果没有并发性就谈不上虚拟性。

空分复用技术:利用存储器的空闲空间分区域存放和运行其他的多道程序,以此提高内存的利用率。

时分复用技术:通过处理机的空闲时间运行其他程序,提高了处理机的利用率。

2.5 异步

异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的, 而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

如果失去了并发性,即系统只能串行地运行各个程序,那么每个程序的执行会 一贯到底。

只有系统拥有并发性,才有可能导致异步性。

操作系统概述_第1张图片

原文链接:https://blog.csdn.net/dyw_666666/article/details/107902182

3 、操作系统分类

3.1 手工操作阶段

操作系统概述_第2张图片

3.2 、批处理阶段

3.2.1 单道批处理系统

操作系统概述_第3张图片

3.2.2 多道批处理系统

操作系统概述_第4张图片
标志着操作系统正式诞生!

4、分时操作系统

操作系统概述_第5张图片

5、实时操作系统

操作系统概述_第6张图片

6、其他

操作系统概述_第7张图片

二、操作系统主要功能

操作系统概述_第8张图片

1、处理机管理

进程控制:进程的生(创建进程、分配需要的资源)和死(撤销进程、回收分配的资源)以及进程状态的转换。

进程同步和互斥:为使多个进程有条不紊地执行,需要一定的机制来协调各个进程的运行。常见的协调方式有:进程互斥,主要发生在对临界资源的访问时;进程同步,主要发生在需要控制进程的执行次序时。最简单的互斥机制就是为临界资源加锁;而实现同步则可以使用信号量机制。

进程通信:进程通信常发生在需要多个进程相互合作去实现某一目标的时候,进程通信的本质是进程之间的信息交换。当相互合作的进程在同一计算机系统时,发送进程可以使用发送命令直接将信息放入目标进程的消息队列中,当需要通信的进程不在同一计算机系统中时就需要另外一些策略。

调度:包括作业调度和进程调度。作业调度是通过一定的算法策略从外存上将作业放入内存,分别为它们创建进程,分配资源,使之处于就绪状态;进程调度是从就绪状态的进程队列中选择一定的进程为之分配处理机,使它可以运行。

2、存储器管理

内存分配:为每道进程分配内存空间,需要考虑如何分配才能提高存储器的利用效率,减少不必要的空间碎片,如何处理进程在运行时提出的内存申请的问题;分配策略上包括静态分配和动态分配。静态分配是指作业可使用的空间大小在作业装入的时候就已经确定,不允许运行时申请以及移动。动态分配则相反。

内存保护:存在两种保护,一是各个用户进程只能在自己的内存空间中运行,不得使用其他非共享用户进程的内存空间;二是用户进程不得访问操作系统的程序和数据。常见的内存保护机制是设置两个界限寄存器,标志可使用空间的上界和下界,系统对每条指令所要访问的地址进行越界检查。

地址映射:编译和链接所得到的可执行文件,其程序地址是从0开始的,需要操作系统将从0开始的逻辑地址转换为物理地址,需要硬件的支持。

内存扩充:指通过虚拟存储技术,从逻辑上扩充存储器的大小,使更多的用户进程可以并发执行。常见的机制包括:请求调入和置换功能。请求调入允许在仅装入部分程序和数据的情况下就启动该程序的执行,当所需要的指令或者数据不在内存空间的时候,通过向OS发出请求,由OS将所需要的部分调入内存。置换则是指,允许将内存中暂时不用的程序和数据移至硬盘,以腾出内存空间。

3、设备管理

总体来说,设备管理内容包括,响应进程的IO请求、为进程分配IO设备,完成IO操作;提高IO速度,提高CPU和IO设备的利用率。

缓冲管理:通过在CPU和IO设备之间设置缓冲,有效解决IO设备和CPU的速度不匹配问题,提高CPU的利用率,提高系统的吞吐量。常见策略包括单缓冲、双缓冲以及缓冲池等。

设备分配:根据用户IO请求、系统现有资源状况以及设备分配策略来分配设备。同时还需要考虑,设备分配完后,系统是否安全等问题。

设备处理:检查IO请求是否合理,了解设备状态,读取有关的参数和设置设备的工作方式,然后项设备控制器发出IO命令,启动IO设备完成相应IO操作,响应中断请求并调用相应中断处理程序进行处理。

4、文件管理

文件存储空间的管理:由文件系统统一管理文件以及文件的存储空间以提高外存的利用率和读取速度,为此系统需要设置相应的数据结构,用于记录文件存储空间的使用情况。

目录管理:为每个文件建立一个目录项,以记录文件的详细情况。并通过对目录项的管理提供文件的共享以及快速的目录查询等功能,提高文件检索速度。

文件的读写管理和保护:文件的读写管理主要体现在对文件读写指针的管理;文件的保护主要是防止未经核准的用户存取文件以及防止用户以错误方式使用文件。

5、提供操作系统与用户之间的接口

用户接口包括三类:联机用户接口、脱口用户接口和程序用户接口;

联机用户接口:由一组键盘操作命令及命令解释程序组成。通过在终端或者控制台输入一条命令然后通过命令解释程序解释执行来实现对用户作业的控制;

脱机用户接口:为批处理作业用户提供,用户首先将对作业进行的控制和干预命令实现写到作业说明书上,然后将其同作业一起提交给系统,系统处理作业的时候会通过命令解释程序对作业控制说明书上的命令解释执行,以此实现用户对其作业的控制;

图形用户接口:就是通过图形化的操作界面,用容易识别的各种图标来将系统的各项功能、各种应用程序和文件直观表现出来。以鼠标取代命令的键入等。

程序接口:主要为用户的程序使用操作系统的服务提供、访问系统资源提供便利。它由一组系统调用组成。是用户程序取得系统服务的唯一途径。

原文链接:https://blog.csdn.net/slx3320612540/article/details/80708178

三、操作系统发展演化过程,典型操作系统

1、操作系统发展演化过程

1.1 未配置操作系统的计算机系统

人工方式

存在两方面缺点,一是用户独占全机;二是CPU等待用户操作;人工操作使得计算机效率低下,这也被称为人机矛盾,主要体现在CPU速度和IO设备速度的不匹配上面。

脱机输入/输出方式

用户首先将记录有程序和数据的纸带在外围机的控制下输入磁带上,然后当CPU需要这些数据的时候便直接从磁带上获取;当CPU输出时,也是先将数据从高速内存送到磁带,然后再通过另外的外围机将磁带上的结果通过相应输出设备进行输出;因为系统的输入和输出都是在外围机的控制下完成,即在脱离主机的情况下完成,这种方法称为脱机输入/输出方式。这种方式有两个好处:

一是减少了CPU等待时间。因为装带、卸带、数据从低速IO设备到高速磁带(或者相反)的操作是在外围机上进行的,并不占用主机时间。但是,这是从一道作业执行的角度来看,当有多道作业需要处理时,作业切换时间仍旧存在,即磁带上还是只有一道作业的数据。

二是提高了IO速度。CPU从磁带上获取数据的速度要高于从纸带上直接获取的速度。IO速度虽然提高,但和CPU的处理速度还是不匹配的。

这个时期的计算机属于第一代计算机。

1.2 单道批处理系统

为实现对作业的连续处理,将一批作业以脱机输入/输出的方式输入到磁带上,并为系统添加监控程序,计算机系统在监控程序的控制下,连续处理这一批作业;

虽然系统对作业的处理是成批进行的,但是内存中始终还是只有一道作业,故称为单道批处理系统。单道批处理系统旨在解决人机矛盾和CPU与IO设备速度不匹配的问题。这和操作系统的目的是一致的,但是单道批处理系统仍然不能充分利用系统资源,最终被淘汰。

单道批处理系统的缺点主要体现在当程序发出IO请求后,CPU便处于等待状态,必须在IO处理结束后才能继续处理,而IO设备的速度又不是很高(和CPU的处理速度相比),所以CPU的空闲时间仍旧很多。

从这里可以看出,单道批处理系统减小了作业切换时间,即减少了CPU在系统执行某一作业之前以及之后的空闲时间,但是并没有减少CPU在处理作业过程中产生的空闲时间。即磁带上存有多道作业,但是内存中仍然只有一道作业。

这个时期的计算机多属于第二代晶体管计算机

1.3 多道批处理系统

为了进一步提高计算机系统的吞吐量和资源利用效率,出现了多道批处理系统。多道批处理系统将用户提交的作业视为一个队列,然后由作业调度程序按照一定的算法从该队列中选出若干作业调入内存,使它们共享计算机系统资源。由于内存中存在多道作业,当一道作业发出IO请求时,CPU可以执行其他作业,从而减少了CPU空闲时间。

多道批处理系统的优缺点
资源利用效率高:该方式减少了CPU在处理作业中产生的空闲时间,同时内存中存有多道作业,也提高了内存的利用效率,IO设备的利用率也得到了提高;
系统吞吐量大:这是因为CPU等系统资源一直处于“忙碌”状态,并且只有当作业完成以及无法继续执行时才发生调度切换,系统的开销也相对较小。(即没有频繁的切换)

平均的周转周期长,因为作业要排队被处理。

作业和用户之间没有交互能力。一旦作业被送入系统,直到作业完成,用户都不能和作业进行交互,这为程序调试带来不便;

多道批处理系统需要处理的问题

处理机分配问题:既要满足各道作业的运行需求,又要提高处理机的利用率;
内存分配和保护问题:系统需要为每道作业分配必要的内存空间,同时要保证该空间不被其他作业打扰;
IO设备分配问题:同处理机有相同的要求;
文件组织和管理问题:系统既要有效组织存放在系统中的大量的程序和数据又要便于用户使用,保证数据的安全性;
作业管理问题:系统中存在各种作业,需要对它们进行管理;
用户和系统的接口问题:用户和计算机系统的交互方式,计算机系统应该对用户友好。

从这里可以看出,随着系统功能和性能的提高,所涉及的管理管理越来越多:从没有管理程序到为系统添加监督程序,再到增加调度程序等。而这些软件正是操作系统的重要组成部分。

1.4 分时系统

由于多道批处理系统中用户没有办法同作业进行交互,为满足用户同作业的交互,一种新型的操作系统出现了,即分时系统。分时系统的出现是为了满足用户对人-机交互的需求,此时计算机系统不再单纯的执行计算任务,具有了人-机交互能力的计算机系统,功能上将更加丰富。同时由于计算机系统当时比较昂贵,一台计算机要同时供很多用户共享使用,用户希望共享的过程更加友好即共享状态下的使用就像是独占使用。

分时系统需要解决的问题:
及时接受:为解决该问题,分时系统中配有多路卡。多路卡的作用就是分时多路复用,即主机以很快的速度周期性扫各个终端,接收数据。比如,有64个终端共享一台计算机主机,那么只需配置一个64多路卡。同时还需要为每一个终端分配相应的缓冲区进行暂存用户的命令。

及时处理:人机-交互的关键是用户可以对其程序进行实时控制,这要求用户的程序需要在用户发出控制指令的时候位于内存当中并且频繁获得处理机进行运行;否则就无法实现用户控制;因此,分时系统彻底改变了批处理系统的运行方式:
作业直接入内存。
采用轮转运行的方式,引入时间片的概念,每一个程序每次只能运行一个时间片的时间,从而避免一个作业长期占用处理机的现象;

分时系统的特点:
多路性:多台终端(显示器和键盘,即输入和输出设备)同时连接到一台主机,按分时原则共享系统资源;
独立性:各个终端独立运行,互不干扰;
及时性:用户的请求通常在很短时间里就能得到响应。
交互性:用户通过终端可以同系统进行广泛的交互。即请求系统提供多方面的服务。
促进多道批处理系统形成和发展的主要动力是提高系统吞吐量和资源利用率,而促进分时系统形成和发展的主要动力则是用户关于人机交互以及共享主机的需求;

1.5 实时系统

实时系统是这样的一个系统:系统的正确性不仅通过运算结果确定还取决于产生这些结果的时间,它必须对所接受的信号及时或者实时做出响应。即实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调统一地运行;实时任务可以分为周期性实时任务和非周期性任务,它们都有一个Deadline,包括开始截止时间以及完成截止时间。也可以分为硬实时任务以及软实时任务。硬实时任务要求高实时性;软实时任务则要求比较松。

实时系统常用于工业控制系统、信息查询系统、多媒体系统、嵌入式系统;

原文链接:https://blog.csdn.net/slx3320612540/article/details/80708178

2、典型操作系统

操作系统的进一步发展(分时系统的衍化)包含如下几种。

  • 微机操作系统
  • 多处理机操作系统
  • 网络操作系统
  • 实时操作系统
  • 嵌入式操作系统

2.1 微机操作系统

背景:随着大规模集成电路的发展,进入个人计算机时代。1973年出现CP/M操作系统: Control Program/Microprocessor。

特点:良好的层次结构:BIOS把操作系统和硬件分隔; 易学易用

苹果Mac OS 和Macintosh(1976年)

Mac OS 是运行Macintosh系列电脑上的操作系统,是首个配有图形界面和鼠标的操作系统。

微软的MS DOS(80年代)

磁盘操作系统;单用户单任务;MS DOS预装在IBM PC上

微软Windows操作系统,占有PC市场的巨大份额

1985年11月,Windows 1.0正式上市
1992年04月,发表Windows3.1
1993年05月,发表Windows NT
Windows95,CE,98,2K, XP, WIN 7,WIN10,…

2.2 实时操作系统

产生背景:军事,工业控制,智能仪器等;要求:某些任务要优先紧急处理。特点:强调作业完成的时限。

硬实时系统:时限要求严格。(火炮控制系统,航空航天,制导系统,目标识别和跟踪,工业控制,汽车电子系统…)
软实时系统:时限要求不是太严格,尽量快。(网络视频,互动网游,广播,通讯…)

2.3嵌入式操作系统

嵌入式操作系统≈实时操作系统,软硬件可以裁剪,软硬件一体化的系统

典型的嵌入式操作系统有:Andriod、Linux、ucOS、ucLinux、vxWorks、WinCE。

2.4 网络操作系统

普通操作系统+网络通信+网络服务,UNIX/ LINUX/ WINDOW

网络操作系统功能:透明存取,存取控制

适合学习的小型开源操作系统

Minix OS: MINIX =Mini UNIX;微内核架构;类Unix操作系统

官网:http://www.minix3.org/

推荐学习的大型开源操作系统

Linux,1994年3月,Lunux1.0版正式发布,最新源代码网址:www.kernel.org

原文链接:https://blog.csdn.net/u010420283/article/details/114082153

你可能感兴趣的:(操作系统,嵌入式四级考试,系统架构)