【操作系统基础】操作系统的分类与发展

这篇具有很好参考价值的文章主要介绍了【操作系统基础】操作系统的分类与发展。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

这篇文章是操作系统基础的开始,收录于我是沐风晓月的《操作系统原理》专栏

【操作系统基础】操作系统的分类与发展

一 .操作系统的概念

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

操作系统,我们每天都在使用,比如我们的笔记本,台式机里的windows系统或者手机的安卓系统,还有苹果公司手机端的ios及电脑端的MasOS,以及开源的Liunx,都被称为操作系统

熟悉的操作系统举例:
【操作系统基础】操作系统的分类与发展

在我们的电脑上,用户是通过操作系统上的应用程序进行管理的,应用程序就是我们常见的QQ,浏览器等等, 而硬件则是我们的CPU,内存,硬盘等,在这两者之间的就是操作系统。

【操作系统基础】操作系统的分类与发展
那么操作系统主要提供了什么功能呢?

二. 操作系统的目标与功能

结合下图的结构关系理解
【操作系统基础】操作系统的分类与发展

  1. 负责管理协调硬件、软件等计算机资源的工作
  2. 为上层的应用程序、用户提供简单易用的服务
  3. 实现对硬件机器的拓展

思考一下对应以上要求,需要提供什么样的功能达到目标呢?

用一个直观的例子来理解操作系统“”

我们假设:用户是雇主,操作系统是工人(用来操作机器),计算机是机器(由处理机(CPU)、存储器、设备、文件几个部件构成)
工人有熟练的技能去控制和协调各个部件的工作,这就是操作系统对资源的管理
同时,工人必须接受雇主的命令,这就是“接口”
有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”
工人操作机器、机器有了更大的作用比如GUI界面,于是工人便成了扩充机器,去扩充GUI界面等功能

😄 操作系统的目标与功能,主要有以下几点:

2.1 作为系统资源的管理者

【操作系统基础】操作系统的分类与发展
作为系统的资源管理者:

  1. 处理机管理
    处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理就是对进程的管理。进程管理的主要功能是进程控制、进程同步、进程通信、死锁处理、处理机调度等。

  2. 存储器管理

存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。

  1. 文件管理

计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。

  1. 设备管理

设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。

补充:进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被cpu处理

2.2 作为用户与计算机硬件之间的接口

【操作系统基础】操作系统的分类与发展

  1. 联机命令接口(交互式命令接口)

“用户说一句,系统做一句”

终端用户利用该接口可以调用操作系统的功能,取得操作系统的服务。用户可以使用联机控制命令来对自己的作业进行控制。联机用户接口可以实现用户与计算机间的交互。

如:命令行命令

[root@mufeng100 local]# date
2023年 03月 09日 星期四 14:21:12 CST
  1. 脱机命令接口(批处理命令接口)

“用户说一堆,系统做一堆”

脱机命令接口又称批处理命令接口,适用于批处理系统。

它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。

系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书的命令。

比如我们写一个脚本

[root@mufeng100 test]# cat time.sh 
#!/bin/bash

# 获取当前时刻
current_time=$(date +%s)

# 设置限制时间(秒)
limit_time=10

run(){

}

#完成run命令后的时刻
time1=$(date +%s)

if [ $current_time-$time1 <= $limit_time ];then
        echo "运行正常"
else
        echo "正在运行,请稍等"
fi
  1. 程序接口(系统调用)
    程序接口由一组系统调用(也称广义指令)组成。

  2. GUI图形用户界面

GUI图形界面最大的好处就是: 用户可以使用形象的图形化界面进行操作,而不再需要使用复杂的命令或参数了。

用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。当前最为流行的是图形用户界面( GUI ) ,即图形接口。

GUI 最终是通过调用程序接口实现的,用户通过鼠标和键盘在图形界面上单击或使用快捷键,就能很方便地使用操作系统。

严格来说,图形接口不是操作系统的一部分,但图形接口所调用的系统调用命令是操作系统的一部分。
如(动态链接库.dll)

2.3 作为最接近硬件的层次

操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?

当然是实现对硬件机器的拓展

没有任何软件支持的计算机被称为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更加强、使用更加方便的机器(覆盖了软件的机器被称为扩充机器,又称作虚拟机)

三. 操作系统的特征

3.1 并发

定义:指两个或多个事件在同一时间间隔内交替发生。这些事件宏观上是同时发生的,但微观上是交替发生的在操作系统中引入进程的目的是使程序能并发执行,操作系统的并发性是通过分时实现的。(注:一台处理机同一时刻只能处理一个进程)

3.2 并行

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

一个单核处理机CPU同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但是宏观上看起来就像同时执行)

当今的计算机,一般都是多核CPU

一个四核CPU,就意味着同一时刻可以有4个程序并行执行,但是操作系统的并发性依然必不可少。因为电脑可能开着十几个应用程序,比如微信、谷歌、腾讯、酷狗音乐、Excel等等,都是需要同时工作的,而且电脑运行时,电脑系统自带的程序,也数不胜数。

3.3 共享

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

【操作系统基础】操作系统的分类与发展
两种资源共享的方式,分别是:
1) 互斥共享方式
系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。

如对摄像头设备的共享使用。

2)同时共享方式
系统中的某些资源,允许一个时间段内有多个进程“同时”对它们进行访问。

所谓的“同时”往往是宏观的,而从微观上讲,这些进程可能是交替地对该资源进行访问的,即分时共享。

如对硬盘资源的共享使用。

注意:
并发和共享是操作系统两个最基本的特征。

两者之间互为存在条件,资源共享是以程序的并发为条件的,若系统不支持程序并发执行,就不存在资源共享的问题;其次若系统不能对资源共享实施有效管理,就会影响程序的并发执行

3.4 虚拟

定义:指把一个物理上的实体变成若干逻辑上的对应物。利用虚拟技术实现虚拟处理器(分时处理),虚拟内存(逻辑划分),虚拟设备(逻辑划分)

空分复用技术 ——用时间换空间

  • 实现虚拟磁盘、虚拟内存等
  • 提高资源的利用率,提升编程效率
虚拟磁盘技术 虚拟内存技术
物理磁盘虚拟为逻辑磁盘 在逻辑上扩大程序的存储容量
如C、D、E等逻辑盘 使用比实际内存更大的容量
使用起来更加安全、方便 大大提升编程效率

时分复用技术

  • 资源在时间上进行复用,不同程序并发使用
  • 多道程序分时使用计算机的硬件资源
  • 提高资源的利用率
虚拟处理器技术 虚拟设备技术
借助多道程序设计技术 物理设备虚拟为多个逻辑设备
为每个程序建立进程 每个程序占用一个逻辑设备
多个程序分时复用处理器 多个程序通过逻辑设备并发访问

3.5 异步

定义:在多道程序环境下,允许多个程序并发执行,但由于资源有限,系统只能按一定规则分配资源,程序只有得到所需资源后,才能运行,导致进程的执行是走走停停的。

四 . 操作系统的发展和分类

  1. 手工操作阶段
    程序员用纸带手工输入二进制,让计算机进行运算,计算机再进行二进制输出。

【操作系统基础】操作系统的分类与发展

缺点:效率太低,计算机大部分时间都在等待用户输入。

  1. 批处理阶段
  • 单道批处理系统(引入脱机输入输出技术)

    优点:缓解人机速度矛盾

    缺点:资源利用率较低

  • 多道批处理系统(操作系统开始出现)

    优点:多道程序并发执行,资源利用率高

    缺点:不提供人机交互功能

  1. 分时操作系统

    优点:提供人机交互功能

    缺点:不能有限处理紧急任务

  2. 实时操作系统

  • 硬实时系统

    必须在绝对严格的规定时间内完成处理

  • 软实时系统

    能接受偶尔违反时间规定

    优点:能优先处理紧急任务
    【操作系统基础】操作系统的分类与发展

  1. 网络操作系统

    网络操作系统是在网络环境下实现对网络资源的管理和控制的操作系统,是用户与网络资源之间的接口。

    网络操作系统是建立在独立的操作系统之上,为网络用户提供使用网络系统资源的桥梁。实现网络中各种资源的共享和各台计算机之间的通信。

  2. 分布式操作系统

    分布式系统是多个处理机通过通信线路互连而构成的松散耦合的系统

  3. 个人计算机操作系统
    个人计算机操作系统:即是个人使用的计算机操作系统,如常见的有有Windows,MacOs 等,方便个人使用

总结

💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
💕 本文由沐风晓月原创,首发于CSDN博客, 博客主页:mufeng.blog.csdn.net
💕 学习如逆水行舟,不进则退,一起努力加油哦!
💕 喜欢的话记得点赞收藏哈文章来源地址https://www.toymoban.com/news/detail-418351.html

到了这里,关于【操作系统基础】操作系统的分类与发展的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 操作系统安全基础1

    操作系统安全基础1

    操作系统 = 操作调用+内核 操作系统的管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。 操作系统需要处理如管理与配置内容,决定系统资源供需的优先次序、控制输入与输出的装置、操作网络与管理文件系统等基本事务。 操作系统也提供一个让

    2024年01月25日
    浏览(7)
  • 5. 操作系统基础

    常考面试题 说说你对进程的理解⭐⭐⭐ 程序是指令、数据及其组织形式的描述,而 进程 则是程序的运行实例,包括程序计数器、寄存器和变量的当前值。 Linux的进程结构,一般分为 三部分 : 代码段、数据段(.data与.bss)和堆栈段 。 代码段 用于存放程序代码,如果有多个

    2024年02月02日
    浏览(8)
  • Linux操作系统基础

    Linux操作系统基础

    目录 计算机存储结构 冯.诺依曼结构 操作系统  在前几期我们学写了linux中常见的一些指令,本期我们将正式进行linux操作系统的学习。 要学习linux操作系统,我们就得先进行计算机存储结构的学习,要进行计算机存储结构的学习,我们就得先学习冯.诺依曼结构。 讲述冯诺依

    2024年01月16日
    浏览(7)
  • 计算机基础——操作系统

    计算机基础——操作系统

    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录  前言 一.操作系统 1.操作系统简介  2.操作系统的主要功能 (1)资源管理 (2)人机交互  (3)程序控制 (4)进程管理

    2024年01月23日
    浏览(10)
  • linuxOPS基础_操作系统概述

    linuxOPS基础_操作系统概述

    第一台计算机是1946 年2 月14 日诞生日,第一台名称ENIAC。体积一间屋子的大小,重量高达28t。 第一代:1946 – 1958 = 12 年 (电子管) 第二代:1958 – 1964 = 6 年 (晶体管) 第三代:1964 – 1970 = 6 年 (集成电路) 第四代:1970 – 至今 (大规模集成电路) CPU、内存、风扇、硬盘

    2024年02月06日
    浏览(10)
  • 基于操作系统的基础IO

    基于操作系统的基础IO

    1.c语言中的文件输入输出 在观看本章节的时候,大家可以去看看之前c语言的文件输入输出的有关博客。 好那么废话不多说之间进入本章正题: 我们都知道c程序默认会打开三个输入输出流: stdin:相当于键盘 stdout:相当于显示器 stderr:相当于显示器 这些输入输出流的类型为

    2024年02月06日
    浏览(8)
  • Linux操作基础(系统安全及应用)

    Linux操作基础(系统安全及应用)

    (1)将非登录用户的shell设置成/sbin/nologin (2)锁定长期不使用账号权限 (3)删除无用账号 (4)锁定账号文件psswd、shadow 通过md5sum 可以查看校验和来判断文件有没有被修改过 在新添加一个用户之后,他的校验和发生了变化。 1.21 设置密码有效期 针对新用户 在进入vim /et

    2023年04月19日
    浏览(15)
  • Linux操作系统基础教程 第一章 绪论

    第一章 绪论 一、 Unix 家族中的一员 ① UNIX , 1971 年由 ATT 发布, 73 年重写, 70 年代末, ATT 成立了 Unix 系统实验室( Unix System Lab , USL ),宣布对 Unix 产品拥有所有权, 1983 年发布了 SYSTEM V 。在 UNIX7 之前, UNIX 是免费或收取少量费 用开放源码的。 UNIX 的研发诞生了 C 语言

    2024年02月04日
    浏览(15)
  • 银河麒麟操作系统基础学习笔记十三

    tar可以将很多文件打包成一个文件,目录也可以。bzip2和gzip只能压缩单个文件。 bzip2程序能提供比gzip更高的压缩比,是gzip的升级版,推荐使用bzip2进行压缩。

    2024年02月12日
    浏览(11)
  • Linux云计算之Linux基础1——操作系统理论基础

    目录 1、UNIX 的诞生和广泛使用 2、CPU 架构类型 3、CPU 指令 4、计算机程序设计和执行过程 5、操作统OS 6、编程层次 7、程序的内部运行接口 8、UI程序接口(人机交互接口) 9、程序的运行模式: 10、POSIX:可移植操作系统规范 11、计算机开源领域 12、Linux 发行版:(商业和社区) 这里

    2024年04月08日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包