上一篇我们讲述了计算机的简史,在计算机的发展过程中慢慢出现了操作系统。但是操作系统是干什么的并没有讲述,所以这篇文章将会讲述操作系统在整个计算机领域所扮演的角色。

先看操作系统的定义是什么。

维基百科是这么介绍的:

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.(操作系统是管理计算机硬件和软件资源,并且能为应用程序提供各种通用服务的系统软件。)

百度百科是这么介绍的:

操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

通过以上的描述可以看出:

首先,操作系统是一个软件,它与其他应用程序一样,性质上属于软件。

其次,操作系统它能管理计算机硬件资源,比如 CPU、内存、硬盘、鼠标、显示器等等。

而且,操作系统它还能管理计算机上的软件,它可以掌控计算机上其他软件的生杀大权,想干掉谁就干掉谁,想给哪个软件多点资源就给哪个软件多点资源。

所以,操作系统它是作为硬件与应用软件的一个中间协调者,如下图所示。

那操作系统具体的工作都有哪些呢?

1.进程管理。进程可理解为任务,比如播放音乐就是一个进程。每个进程的状态可以分为新建、就绪、运行、阻塞、终止这五个状态,当然在实际的操作系统中进程不止这几个状态,毕竟实际情况总会比较复杂。进程管理就是管理进程在这五个状态的流程:装载程序新建一个进程,为新建的进程分配资源并进入就绪状态,当这个进程拿到 CPU 后即可进行运行,这个时候它进入了运行状态,如果运行一半它的 CPU 就被其他进程抢占了,它就会进入阻塞状态,等待其他进程把 CPU 还给它,当它再次拿到 CPU 进入运行状态并把任务执行完后,它就进入了终止状态,操作系统会将之前分配给它的内存、文件等资源回收,然后将它杀掉。

2.进程同步。如果操作系统自始至终只运行一个进程,那肯定没有进程同步的问题。什么是进程同步呢?就是多个进程去抢资源时,如何安排这些进程获取资源的过程。打个比方,想必我们都去过游乐场,也会发现每个热门项目都会很多人排队。如果把人看做是进程,热门游玩项目看做是资源,当很多人都想去玩某个热门项目而不排队时,这个项目就会乱成一锅粥,甚至整个游玩项目都无法正常进行。如何管理好每个人去使用游玩项目就是所谓的进程同步,现实中人们通常通过排队来实现进程同步,在操作系统中也是一样的原理。

3.内存管理。程序运行起来就成为了进程,而进程能运行起来是需要内存的。还是用人来打个比方,人出生后,需要给他食物、衣服、房子、交通工具等,这些东西可以同比看做是内存资源。当人去世后,这些东西会被进行回收,与操作系统回收进程资源是一样的。

4.存储管理。存储管理不是单单指的是磁盘或者文件管理,它还包括了进程如何对外围设备的 IO。

5.设备管理。一台计算机包括了很多外围设备,比如显示器、磁盘、鼠标、键盘灯,当这些设备要接入计算机时,计算机如何接收这些设备的信息,以及如何管理这些设备,这些都属于设备管理的内容。

上面这些都是操作系统的主要工作内容,它所干的都是一些脏活累活,也是之前操作系统还没出现之前人工所干的活。人创造操作系统的目的就是为了将这些脏活累活转移给机器,减轻人类的负担,增加工作效率

ps.欢迎关注官方公众号"哈扣"。

操作系统的进程状态变迁图_1.操作系统是干什么的?相关推荐

  1. 如何在安装了Windows操作系统的电脑上安装Linux操作系统

    [原创]如何在安装了Windows操作系统的电脑上安装Linux操作系统 一.不得不知道的一件事 相信中国大多数个人用的电脑在买回来时已经 安装了Windows,并且大家习惯了用Windows,而且有 ...

  2. 信息系统状态过程图_操作系统中的增强型过程状态图

    信息系统状态过程图 The enhanced process state diagram was introduced for maintaining the degree of multiprogr ...

  3. 56张图入门操作系统——内功心法,适合所有程序员

    关注公众号"执鸢者",回复"书籍"获取大量学习资料,回复"前端视频"获取大量教学视频,回复"操作系统"获取本节整体思维导 ...

  4. linux操作系统的特点有哪些,LINUX操作系统有哪些概念和特点?

    嵌入式LINUX操作系统的概念 以应用为中心,以计算机技术为基础,软件.硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗要求严格的专用计算机系统,称为嵌入式系统.一个最小的嵌入式系统的基本组成 ...

  5. 从思维导图学习操作系统(一)

    我已经把操作系统复习完了,现在把每章的知识做成思维导图,我已经尽力做详细了但是一些小知识还是得去看,如果大家有兴趣也可以查看我之前的博客,我也是按照这个博客结合王道的PPT做的这个思维导图,如果大家想 ...

  6. 使计算机系统使用方便和_______是操作系统的两个主要设计目标,操作系统练习.doc...

    文档介绍: (一)单项选择题1操作系统是计算机系统的一种().A.应用软件B.系统软件c.通用软件D.工具软件2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机()A.使用方便B. ...

  7. 计算机操作系统的新技术新知识,计算机操作系统教程:核心与设计原理

    计算机操作系统教程:核心与设计原理 语音 编辑 锁定 讨论 上传视频 <计算机操作系统教程--核心与设计原理>是2007年清华大学出版社出版的图书,作者是范策.许宪成.黄红桃. 书     ...

  8. 可以做服务器操作系统的是,可以做服务器操作系统

    可以做服务器操作系统 内容精选 换一换 将外部镜像文件注册成云平台的私有镜像后,您可以使用该镜像创建新的云服务器,或对已有云服务器的系统进行重装和更换.本节介绍使用镜像创建云服务器的操作.您可以按照通 ...

  9. 计算机操作系统的工作原理英文,计算机操作系统原理分析

    <计算机操作系统原理分析>是2014年清华大学出版社出版的图书,作者是丁善镜[1] . 书    名 计算机操作系统原理分析 作    者 丁善镜 ISBN 9787302284710定  ...

最新文章

  1. Facebook开源算法代码库,轻松复现前沿视频理解模型
  2. 你所不知道的日志异步落库
  3. oracle sql比较时间大小,Oracle数据库中日期时间的操作比较和加减
  4. 「更高更快更稳」,看阿里巴巴如何修炼容器服务「内外功」
  5. [Unity] 定义 Assembly 之后还要定义 Assembly Reference
  6. exosip register代码
  7. java 调用dll内存泄露_对 精致码农大佬 说的 Task.Run 会存在 内存泄漏 的思考
  8. linux本地yum源配置
  9. 关于NB-IoT的十大问题和答案
  10. Android应用双开实现
  11. C#微信公众号开发实践--通过控制台程序发布图文消息(2020/8/4实测可用)
  12. 联想G460笔记本触摸板驱动 For Windows 7 x64
  13. 如何通过数据找到影响用户留存的关键因素
  14. grid布局浏览器兼容_Grid布局
  15. 深度学习:交叉验证(Cross Validation)
  16. 基于insightface实现的人脸识别和人脸注册
  17. 通过IDEA打个可执行的jar包
  18. 跟着小甲鱼零基础学C
  19. MySQL外键(详解)
  20. mac拓展显示屏睡眠或锁屏后启动黑屏,mac typeC不支持4K 60HZ

热门文章

  1. ntp服务器响应每秒请求数量,批量、增量接口并发问题和NTP协议
  2. PyTorch 实现孪生网络识别面部相似度
  3. JS脚本实现CSDN免登陆免关闭广告插件自动展开“阅读更多”内容
  4. JavaScript 里,$ 代表什么?/JQuery是什么语言?/html中用link标签引入css时的中 rel=stylesheet属性?/EL表达式是什么?...
  5. #大学生活#锐捷客户端与VMWare
  6. build-android-in-OS-X-Yosemite-Xcode-7
  7. Android程序ToDoList增加配置项页面
  8. Excel如何批量将表中的0替换成空值?同时不能影响正常数字中包含的0
  9. redis分布式锁实现思路
  10. Perfect service(树形dp)