初始操作系统篇(1)—— 操作系统的概念与分类

news2024/11/28 10:39:57

找往期文章包括但不限于本期文章中不懂的知识点:

个人主页:我要学编程(ಥ_ಥ)-CSDN博客

所属专栏: 操作系统

目录

操作系统的基本概念 

操作系统的概念

操作系统的特征

并发

共享

虚拟

异步

操作系统的目标和功能

操作系统的发展与分类

手工操作阶段

批处理阶段

单道批处理系统

多道批处理系统

分时操作系统

实时操作系统


操作系统的基本概念 

操作系统的概念

在信息化时代的今天,计算机已经成为了我们日常的必需品,在使用计算机时,我们主要是使用其中的软件,软件是计算机系统的灵魂,而作为软件核心的操作系统,已与现代计算机系统密不可分、融为一体。计算机系统自下而上可大致分为4部分:硬件、操作系统、应用程序、用户。而操作系统作为最接近硬件层面的软件,管理计算机中各种硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介。同时,也会控制和协调应用程序对于硬件资源的分配和使用。

例如:将微信和QQ这两个应用程序下载到计算机上时,操作系统就得对两者进行硬盘资源的分配,可不能让它们同时占用同一块硬盘空间。这就体现了操作系统协调应用程序对于硬件资源的分配。

操作系统(OperatingSystem,OS)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。即系统资源的管理者、向上层提供方便易用的服务(例如,API之类的接口)、作为最接近硬件层面的软件。

正因为不同的操作系统对于同一个应用程序进行硬件资源的分配标准不同(还包括操作系统提供的API不同等),从而就会导致一个问题:运行环境不兼容。例如:在Windows系统上面能够编译通过的代码,在Linux系统上面就不能够编译通过。

操作系统的特征

操作系统是一种系统软件,但与其他系统软件和应用软件有很大的不同,它有自己的特殊性
即基本特征。操作系统的基本特征包括并发、共享、虚拟和异步。

并发

有一个最容易与并发混淆的概念,叫作并行

并行:多个应用程序同时在CPU上面运行;并发:多个应用程序间隔着在CPU上面运行。但是由于这个间隔的时间是非常短的(理论上是纳秒级别,肉眼分辨不出来),也就导致我们看到的是多个应用程序"同时"在CPU上面运行。这里的"看"是通过程序运行的结果来推测的。

标准概念:并发性是指若干事件在同一时间间隔(例如,1秒)内发生,而并行性是指若干事件在同一时刻发生。

例如:在单核CPU的情况下(只能同时执行一个应用程序),程序在并发执行,我们就可以同时微信视频和QQ聊天。但是如果是串行执行(和打饭排队一样,一次执行一个程序),那么只能进行QQ聊天或者微信视频。

共享

共享是指系统中的硬件资源被并发执行或者并行执行的程序共同使用。

资源共享有两种方式:

1、互斥共享

系统重某些资源,如打印机,虽然可以让多个应用程序同时访问,但是为了打印的信息不混乱,应该规定在某个时间段内只能有一个程序进行访问(不可以并发、并行访问)。这种资源共享的方式被称为互斥共享,而这种资源,如打印机,被称为临界资源或者独占资源。

2、同时访问(分时共享)

系统的硬盘资源、内存资源,允许在同一时间内多个程序同时进行访问。这里的同时,还是并发执行。因此同时访问也被称为分时共享。同时,分时共享可以看作是对互斥共享的一种优化,是基于并发的。

虚拟

虚拟是指把一个物理上的实体变为若干逻辑上的对应物。

虚拟处理器技术,采用让多道程序并发执行的方法,来分时使用一个处理器的。此时,虽然只有一个处理器,但它能同时为多个用户服务,使每个终端用户都感觉有一个中央处理器(CPU)在专门为它服务。利用多道程序设计技术把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟处理器。类似地,可以采用虚拟存储器技术将一台机器的物理存储器变为虚拟存储器,以便从逻辑上
扩充存储器的容量。当然,这时用户所感觉到的内存容量是虚的。把用户感觉到(但实际不
存在)的存储器称为虚拟存储器。

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

因此,操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术,
如虚拟存储器。

异步

多道程序环境允许多个程序并发执行,但由于资源有限,程序的执行并不是一贯到底的,而
是走走停停的,它以不可预知的速度向前推进,即异步性。
异步性使得操作系统运行在一种随机的环境下,可能导致程序运行与时间有关的错误(该时刻程序运行的环境是这样,下一时刻的运行环境是那样)。然而,只要运行环境相同,操作系统就比须保
证程序多次运行后都能获得相同的结果。 

总结:操作系统的特性在很大程度上是依赖于并发和共享的。只有支持并发,才可以实现资源共享、虚拟技术、程序异步。同时,如果不能实现对资源共享的有效管理,那么必将会影响到并发的执行,甚至无法执行并发。因此,又可以说 共享和并发是相互依存的。

操作系统的目标和功能

为什么会有操作系统呢?

举个例子:现在有一个人要开一家公司,但是他不想管理公司,因此他只能招一些管理人员来帮助他。那么这些管理人员就可以认为是操作系统。更为简单的理解就是,我们不想直接操作计算机(太过麻烦),因此雇佣了一个工人来帮我们操作。这个工人就是史前版操作系统,但是随着计算机越来越普及,家家户户可能都会有计算机,而工人的数量是有限的,那怎么办呢?这些工人就聚集到一起,通过开会讨论一致决定写一个类似他们自己的软件,既可以实现对计算机的底层操作,又可以让用户简单的和这个软件进行无障碍交流。因此,操作系统便真正诞生了,就是这个软件。

从上面也可以得知:操作系统出现的目的,是为了让用户更好地与计算机(硬件)进行交流。当然这里只是从最简单的层面来理解的,还包括一些其他的方面:资源管理、安全保障等。

操作系统的功能如下:

补充说明:

1、处理机和处理器不是一个概念。 处理器通常特指中央处理器(CPU),而处理机是包括了处理器在内的数据处理设备。

2、联机命令接口(交互式命令接口)是用户通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,完成指定的功能。之后,控制权转回控制台或终端,此时用户又可输入下一条命令。联机命令接口可以这样理解:“用户”说一句话,“工人”做一件事,并做出反应,这就强调了交互性。

脱机命令接口(批处理命令接口):可以看作是上面一组命令的组成。简单理解为:“用户” 将要做的事情全部打包成一张命令清单,然后交给系统来完成。我们电脑桌面上的应用图标和Windows系统中的 .exe 文件均是这样的“命令清单”。

3、程序接口:由一组系统调用(操作系统提供的系统函数)组成。户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。

这里的系统函数就是我们在C语言阶段学习的Windows的API。例如:sleep函数等。

4、操作系统可以将裸机改造成了功能更多、操作更简单的机器,因此我们将覆盖了软件的机器称为扩充机器或者虚拟机器。

注意:

1、多道程序设计是对并发的是一个具体实现,在看到这个名词时,可以简单理解为并发。

2、操作系统既管理硬件资源(打印机等),同时也管理软件资源(文件(存储数据)的管理)。

3、操作系统的基本功能是对计算机资源的合理管控和分配,以让计算机更好的工作。如果操作系统连资源分配都做不好,那么应用程序就没有良好的运行环境,就会导致计算机在运行时,发生崩溃。

操作系统的发展与分类

手工操作阶段

这时候的计算机不像现在的计算机功能丰富多类,刚开始的计算机只是为了计算。在手工操作阶段,人们都是把要计算的数据全部用二进制的方式打在纸带或者磁带上面,然后再让计算机去读取上面的数据,进行计算处理,最后将计算的结果在纸带或者磁带上面打印出来,接着就是计算人员对照二进制表将打印的数据全部转换成我们日常生活中常用的十进制数据。

从上面可以看出,计算人员把数据写在纸带或磁带上面,再从上面读取数据。这个过程是非常耗费时间的,并且稍微出错就要更换纸带。与计算机的高效率相比,手工速度就很慢,因此这个阶段就被称作手工操作阶段。其特点是:1、由于用户独占全机,导致资源利用率极低;2、手工操作速度太慢,CPU长时间处于等待状态(计算时间非常快),CPU的利用率极低。

唯一的解决办法就是用高速的机器代替相对较慢的手工操作来对作业(用户的数据)进行控制。

由于上面的操作全部人工在完成,因此不存在操作系统的概念。

批处理阶段

为了解决人机速度矛盾及CPU和 I/O 设备之间速度不匹配的矛盾,出现了批处理系统。按发展历
程又分为单道批处理系统、多道批处理系统。

单道批处理系统

系统对作业的处理是成批进行的,但内存中始终保持一道作业。单道批处理系统是在解决人
机速度矛盾及 CPU 和 I/O 设备速率不匹配的矛盾中形成的。单道批处理系统的主要特征如下:
1、自动性。在顺利的情况下,磁带上的一批作业能自动地逐个运行,而无须人工干预。

2、顺序性。磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺
序在正常情况下应完全相同,亦即先调入内存的作业先完成。

3、单道性。内存中仅有一道程序运行,即监督程序(操作系统的雏形)每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。此时面临的问题是:每次主机内存中仅存放一道作业,每当它在运行期间发出输入/输出请求后,高速的CPU便处于等待低速的I/O完成的状态。为了进一步提高资源的利用率和系统的吞吐量,引入了多道程序技术。

多道批处理系统

多道程序设计技术允许多个程序同时进入内存并允许它们在CPU中交替地运行(这里就是对并发的具体实现),这些程序共享系统中的各种硬/软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。它不是采用某些机制来提高某一技术方面的瓶颈问题,而让系统的各个组成部分都尽量去“忙”,因此切换任务所花费的时间很少,可实现系统各部件之间的并行工作,使其整体在单位时间内的效率翻倍。
当然,多道批处理系统的设计和实现要比单道系统复杂很多,因为要充分利用各种资源,就
要涉及各种资源的调度问题。
多道程序设计的特点是多道、宏观上并行、微观上串行。
1、多道。计算机内存中同时存放多道相互独立的程序。

2、宏观上并行。同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,
但都未运行完毕。

3、微观上串行。内存中的多道程序轮流占有 CPU,交替执行。

多道程序设计技术的实现需要解决下列问题:
1、如何分配处理器。

2、多道程序的内存分配问题。

3、I/O设备如何分配。

4、如何组织和存放大量的程序和数据,以方便用户使用并保证其安全性与一致性。

在批处理系统中采用多道程序设计技术就形成了多道批处理操作系统。该系统把用户提交的
作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。

优点:资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;系统吞吐
量大,CPU和其他资源保持“忙碌”状态。

缺点:用户响应的时间较长;不提供人机交互能力,用户既不能了解自已的程序的运行情况,又不能控制计算机。 

分时操作系统

所谓分时技术,是指把处理器的运行一个周期时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业(可以理解为多个正在应用程序)使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。由于计算机速度很快,作业的处理也是非常快的,因此给每个用户的感觉就像是自己独占一台计算机。
分时操作系统是指多个用户通过终端(键盘、鼠标等设备)同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。因此,实现分时系统最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回用户,并且让多个用户感觉不到对方的存在。分时系统也是支持多道程序设计的系统,但它不同于多道批处理系统。多道批处理是实现作业自动控制而无须人工干预的系统,而分时系统是实现人机交互的系统,这使得分时系统具有与批处理系统不同的特征。

分时系统的主要特征如下:
1、同时性。同时性也称多路性,指允许多个终端用户同时使用一台计算机,即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。

2、交互性。用户能够方便地与系统进行人机对话,即用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互。

3、独立性。系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样。

4、及时性。用户请求能在很短时间内获得响应。分时系统采用时间片轮转方式使一台计算
机同时为多个终端服务,使用户能够对系统的及时响应感到满意。

虽然分时操作系统较好地解决了人机交互问题,但在一些应用场合,需要系统能对外部的信
息在规定的时间(比时间片的时间还短)内做出处理(比如飞机订票系统或导弹制导系统),因
此,实时操作系统应运而生。

实时操作系统

为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。这里的时间限制可以分为两种情况:若某个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为硬实时系统,如飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成。若能够接受偶尔违反时间规定且不会引起任何永久性的损害,则称为软实时系统,如飞机订票系统、银行管理系统。
在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并在严格的时限内处理完接收的事件。实时操作系统的主要特点是及时性和可靠性

以上就是操作系统的发展历程。

注意:

1、中断技术:当一个程序所需要的资源,暂时不足时,CPU就会中断对此程序的执行,继而去执行另外的程序。因此CPU和其他的硬件设备(例如,打印机)可以并行工作(即使是在单核心的CPU中)。

2、CPU的处理数据的能力主要是依赖于其核心。一个CPU的核心数越多,通常其可以并行执行的程序也就越多。一个CPU多核心  !=  多个CPU。

3、分时操作系统的主要追求目标是比较快速的响应用户。因为分时操作系统主要是在时间片内执行对应的程序,而这个效果就是直接指向用户的。可能有很多小伙伴认为是对硬件资源的高效使用,这个确实也是,但不是主要追求目标。

好啦!本期 初始操作系统篇(1)—— 操作系统的概念与分类 的学习之旅就到此结束啦!我们下一期再一起学习吧!

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

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

相关文章

T11:优化器对比实验

T11周:优化器对比实验 **一、前期工作**1.设置GPU,导入库 **二、数据预处理**1.导入数据2.检查数据3.配置数据集4.数据可视化 **三、构建模型****四、训练模型****五、模型评估**六、总结 🍨 本文为🔗365天深度学习训练营 中的学习记录博客&a…

QT实现Opencv图像处理

案例 基于QT的人脸识别 pro文件需要加以下代码 INCLUDEPATH E:/opencv/opencv3.4-qt-intall/install/include INCLUDEPATH E:/opencv/opencv3.4-qt-intall/install/include/opencv INCLUDEPATH E:/opencv/opencv3.4-qt-intall/install/include/opencv2 LIBS E:/opencv/o…

Linux go语言配置

首先安装go语言 先从go官方下载源码 解压: tar -xzvf go1.23.1.linux-amd64.tar.gz 移动go到 /usr/local/ mv go /usr/local 设置环境变量 vi ~/.bashrc source ~/.bashrc 重新获取文件 输入 go version 查看版本

STM32 A/D转换器

目录 模拟量输入通道 A/D转换器简介 模拟量输入信号类型与量程自动转换 量程自动转换 STM32F103ZET6集成的ADC模块 STM32的ADC的主要特征 STM32的ADC模块结构 ADC中断事件主要有以下3个: 模拟量输入通道 模拟量输入通道一般由信号处理、模拟开关、放大器、采…

MES管理系统解决方案常见的应用场景

在现代制造业的浪潮中,车间管理的效率与智能化水平成为了企业竞争力的关键因素。许多车间管理者都耳闻MES管理系统解决方案能够显著优化生产执行流程,但由于缺乏亲身体验,往往对此持保留态度。那么,MES管理系统究竟能否如传闻般发…

po框架的了解和应用

https://www.cnblogs.com/xiaolehong/p/18458470 笔记 任务:1、通过po框架输入测试报告 2、编写自动化测试框架 3、总结测试讲解稿 自动化测试框架概念: 自动化测试框架是一个集成体系,这个体系中包含测试功能的函数、测试数据源、测试对以及重要的模块。 作用:用于解决或…

MIDIPLUS 50周年丨中国国际乐器展览会首日盛况

10月10日,由中国乐器协会、上海国展展览中心有限公司、法兰克福展览(上海)有限公司共同主办的中国(上海)国际乐器展览会在上海新国际博览中心(上海市浦东新区龙阳路2345号)盛大开幕。 2024上海…

ART 光学跟踪系统:通过 VR HMD 解锁完全沉浸式 VR 体验

在虚拟现实体验中,完全沉浸式虚拟现实体验应该既准确又舒适。当与现实世界的物体融合时,虚拟现实的表现必须与现实精确匹配。这意味着所使用的运动跟踪系统必须为整套项目提供可靠且可重复的高精度运动数据,以及体感无法察觉到的超低延迟。AR…

水深探测仪的作用和使用方法

在水域救援的行动里,救援人员时刻面临着复杂多变、充满未知的水域状况。当接到救援任务奔赴现场,那片需要涉足的水域就像一个神秘莫测的异世界,挑战着所有人的认知与勇气。 水深探测仪作为一种专用于测量水域深度的设备,通过声波和…

宝塔 进程守护管理器 神坑,再次跌入。thinkphp-queue队列 勤勤学长

如果,你有在使用【进程守护管理器】,记得在更新/重启,甚至卸载重新安装后,重启服务器。 事情的起因是,昨日服务器突然异常,网站无法正常访问,进入宝塔面板,发现 cpu和负载率均超过1…

甘肃小米,一口软糯,满是乡愁

🎈甘肃小米,自然的馈赠🎈🌾家人们,今天必须给大家安利来自甘肃的小米!💛✨甘肃,那片广袤而神奇的土地,孕育出的小米有着别样的魅力。颗粒饱满,色泽金黄&#…

RDD优化:缓存和checkpoint机制、数据共享(广播变量、累加器)、RDD的依赖关系、shuffle过程、并行度说明

文章目录 1. 缓存和checkpoint机制1.1 缓存使用1.2 checkpoint1.3 缓存和checkpoint的区别 2. 数据共享2.1 广播变量2.2 累加器 3. RDD依赖关系4.shuffle过程4.1 shuffle介绍4.2 spark计算要尽量避免shuffle 5. 并行度 1. 缓存和checkpoint机制 缓存和checkpoint也叫作rdd的持…

源代码加密有哪些技巧呢?除了用加密软件还有哪些方法?

导语:源代码加密是保护软件核心资产的主要方式了,可以通过多种技术措施确保源代码不被未授权访问、复制或篡改,防止泄密问题。这篇文章是一些有效的源代码加密技巧,欢迎您的阅读! 源代码加密常用技巧1、访问控制&…

俏生元将传统膳食智慧融入现代生活,自然成分绽放健康光彩

近年来,当代女性健康食品市场正经历快速发展和显著变化。随着女性健康意识的提升,市场对专门针对女性健康的产品需求快速上升。女性消费者对健康的关注不再局限于表面,而是越来越注重内在健康和生活质量的提升。此外,中式养生文化…

Python 基于 Bert 的中文情歌分析,多分类中文情感分析

前言 在自然语言处理(NLP)领域中,情感分析是一项非常常见的任务。它的目标是判断文本的情感倾向,例如在社交媒体上的评论、产品评价、电影评论等数据中,识别文本是正面的、负面的,还是中性的。与传统的二分…

中航资本:科技股有哪几种?科技股都包含哪些板块?

科技股主要有两种,一种是软科技,一种是硬科技。 1、硬科技:需要强健的数学、物理、计算机科学和工程技能才能够完毕,例如:光电芯片、‌人工智能、‌航空航天、‌生物技能、‌信息技能、计算机视觉、集成电路规划、软件…

2024双十一值得入手的好物品牌有哪些?精选五款双十一必入好物推荐

在双十一这个全民狂欢的购物节,各大品牌纷纷推出诱人的优惠活动,让人心动不已。今年,有哪些品牌的好物值得我们关注呢?下面,我将为大家精选五款双十一必入好物推荐,让你的购物车不再空虚。 双十一必入好物…

怎么把人声和背景音乐分离?实用方法:将人声从音乐中剥离

怎么把人声和背景音乐分离?在数字音频处理中,将人声与背景音乐进行分离是一个复杂但富有挑战性的任务。这种分离技术在音乐制作、影视编辑、版权管理以及个人娱乐等多个领域具有广泛的应用价值。 虽然完美地将人声和背景音乐分离开来可能仍然是一个技术难题&#…

⽂件操作详解

本章讲述的是有关文件的相关内容,本章我们会认识到什么是文件,二进制文件与文本文件,文件的打开和关闭,⽂件的顺序读写和随机读写以及⽂件读取结束的判定和⽂件缓冲区。 1.什么是⽂件 像这样在磁盘(硬盘)上…

骑行眼镜的选择攻略:评论与实用建议!

骑行眼镜评论分析 目录 骑行眼镜评论分析 1. 评论的基本统计分析(数据来源:淘宝评论信息接口) 评论长度的集中趋势: 评论长度的离散程度: 2.用户评价分析 词云高频词分析 1. 眼镜 (2***8 次出现): 2. 不错 (1***9 次出现)…