如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️

文章目录

  • 1.1.1 操作系统的概念、功能和目标
    • 1.1.1.1 操作系统的概念
    • 1.1.1.2 作为系统资源的管理者
    • 1.1.1.3 作为用户和计算机硬件之间的接口
    • 1.1.1.4 作为最接近硬件的层次
    • 1.1.1.5 小结

1.1.1 操作系统的概念、功能和目标

目前在市场上,我们熟知的操作系统有Window安卓IOSMacOSLinux。那么操作系统的概念到底是什么呢?

如果结合生活经验是理解计算机系统的层次结构的话,我们可以来见证一台电脑的诞生:

  1. 买一台裸机
  2. 安装Windows操作系统
  3. 安装QQ
  4. 本宝宝使用QQ和朋友尬聊

1.1.1.1 操作系统的概念

用一个图片来概括计算机系统的层次结构的话,如图:

从图上来看,操作系统位于裸机之上,应用程序在操作系统的支持下运作,也就是说,操作系统起到了一个承上启下的作用,如图中所示,它可以负责管理协调硬件、软件等计算机资源的工作,为上层的应用程序、用户提供简单易用的服务。由此我们可以引出操作系统的定义:

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

如果要拿直观的例子来看的话,打开window操作系统的任务管理器,我们就可以理解上面的定义所在:

1.1.1.2 作为系统资源的管理者

现在我们需要思考几个问题:

  1. 操作系统作为系统资源的管理者,需要提供什么功能?
  2. 操作系统作为用户和计算机硬件之间的接口,要为其上层的用户、应用程序提供简单易用的服务,需要实现什么功能?
  3. 操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?

在思考这些问题前,我们先补充一个知识——进程。

如果学过数据库我们知道:进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被CPU处理。

举一个平时上网中最简单的例子,如果我们要用QQ和朋友视频聊天,那么我们在没有快捷方式的情况下,我们做的会是如下步骤:

  1. 在各个文件夹中找到QQ安装的位置
  2. 双击打开QQ.exe
  3. QQ程序正常聊天
  4. 开始和朋友视频聊天

在这个过程中,在第一步进行的时候,需要找到QQ程序所在的文件夹位置;在第二步进行的时候,需要把该程序相关数据放入内存;在第三步的时候,对应的进程被处理机(CPU)处理;在第四步的时候,需要将对应的摄像头设备分配给进程。所以举这个例子出来后,我们可以看到操作系统作为资源的管理者,他提供了以下四种功能

  • 处理机管理
  • 存储器管理
  • 文件管理
  • 设备管理

而其目标,就是为了安全、高效地管理系统的资源。

1.1.1.3 作为用户和计算机硬件之间的接口

自下往上看,操作系统需要提供给应用程序怎样的接口呢?大体可以分为以下三类:

  • 命令接口:允许用户直接使用

  • 程序接口:允许用户通过程序间接使用

  • GUI:现代操作系统中最流行的图形用户接口

其中我们可以把命令接口程序接口统称为用户接口。在考研中最重要的即为这两个。

命令接口允许用户直接使用,其分类分为两种,一种是联机命令接口,特点是用户说一句系统做一句;另外一种是脱机命令接口,特点是用户说一堆,系统做一堆。

如果体现在windows系统的电脑上,我们可以按下win+R,输入cmd打开shell窗口,这实际上是一个交互式命令接口,用户说一句,操作系统做一句,这就是联机命令接口。而脱机命令接口又为批处理命令接口,其在Window中体现为shell脚本。

程序接口在Windows操作系统电脑上的体现有很多,如:C:\windows\System32\user32.dll,如果程序员在程序中调用user.32.dll,即可实现创建窗口等功能,该功能只能通过用户程序间接使用

GUI作为图形用户界面,其结构操作更加明了,用户可以使用形象的图形界面进行操作,而不需要记忆复杂的命令、参数。如果举一个例子的话:在Window操作系统中,删除一个文件只需要把文件拖拽进回收站即可。

我们对以上的知识做一个小结:

1.1.1.4 作为最接近硬件的层次

在1.1.1.3中,我们了解了从操作系统到应用程序直接所提供给用户的接口种类;在这一小节,我们会从上往下看,从操作系统到裸机又有什么关联。

我们常说的裸机,指的是没有任何软件支持的计算机;在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。

我们通常把覆盖了软件的机器称为扩充机器,又称为虚拟机

1.1.1.5 小结

王道操作系统考研笔记——1.1.1 操作系统的概念、功能和目标相关推荐

  1. 王道操作系统考研笔记——1.1.2 操作系统的特征

    如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 1.1.2 操作系统的特征 文章目录 1.1.2 操作系统的特征 1.1.2.1 并发 1.1.2.2 共享 1.1.2.3 并发 ...

  2. 王道操作系统考研笔记——2.1.5 线程概念与多线程模型

    文章目录 2.1.5 线程概念与多线程模型 2.1.5.1 线程的来源 2.1.5.2 线程机制带来的变化 2.1.5.3 线程的属性 2.1.5.4 线程的实现方式 2.1.5.5 多线程模型 2. ...

  3. 操作系统的概念,功能和目标

    操作系统的概念,功能和目标 操作系统的概念 负责管理协调硬件,软件等计算机资源的工作 为上层的应用程序,用户提供简单易用的服务 操作系统是系统软件,不是硬件 操作系统是指控制和管理整个计算机系统的硬件 ...

  4. 王道操作系统考研笔记——2.2.0 交互式系统调度算法

    2.2.0 交互式系统调度算法 知识总览 2.2.0.1 时间片轮转 知识点 说明 英文名 RR,Round-Robin 算法思想 公平地.轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响 ...

  5. 王道操作系统考研笔记——2.1.8 调度算法的评价指标

    文章目录 2.1.8 调度算法的评价指标 2.1.8.1 CPU利用率 2.1.8.2 系统吞吐量 2.1.8.3 周转时间 2.1.8.4 等待时间 2.1.8.5 响应时间 2.1.8.6 小结 ...

  6. 王道操作系统考研笔记——2.1.6 处理机调度的概念和层次

    文章目录 2.1.6 处理机调度的概念和层次 2.1.6.1 调度的基本概念 2.1.6.2 高级调度 2.1.6.3 中级调度 2.1.6.4 进程的挂起态和七状态模型 2.1.6.5 低级调度 2 ...

  7. 王道操作系统考研笔记——1.1.6 系统调用

    如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.6 系统调用 1.1.6.1 系统调用和作用 1.1.6.2 系统调用和库函数 1.1.6.3 系统调用背后的过 ...

  8. 王道操作系统考研笔记——2.3.4 信号量机制

    文章目录 2.3.4 信号量机制 2.3.4.1 引入 2.3.4.2 整型信号量 2.3.4.3 记录型信号量 2.3.4.4 小结 2.3.4 信号量机制 知识总览 在1965年,荷兰学着Dijk ...

  9. 王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法

    文章目录 2.3.3 进程互斥的硬件实现方法 2.3.3.1 中断屏蔽方法 2.3.3.2 TestAndSet指令 2.3.3.3 Swap指令 2.3.3.4 小结 2.3.3 进程互斥的硬件实现 ...

最新文章

  1. php 判定pc端與移動端
  2. MapReduce基础开发之五分布式下载ftp文件到本地再迁移到hdfs
  3. VTK:PolyData之TriangleColoredPoints
  4. 未指定发送trap的源接口_组播之RPF接口检测
  5. java gui 层次结构_javaGUI教学图形界面的层次结构.ppt
  6. 清华大学全面审查文科博士论文!
  7. ubuntu下ZED相机开发环境安装
  8. jsp mysql 连接池_Tomcat下JSP连接mysql连接池
  9. 学了阿里P8级架构师的7+1+1落地项目,转疯了!
  10. Java设计模式--代理模式与JDK动态代理,cglib动态代理
  11. 基于SNMP协议的电信网络监测系统的实现
  12. 南阳理工acm24素数距离问题
  13. 360安全卫士加速球误关闭某个应用软件
  14. UE4学习大纲——从入门到入土
  15. 用Python学《微积分B》(单调性与极值,凸性与拐点)
  16. 硅谷大公司之间的互不挖人协议
  17. auth认证相关 --token 深入了解
  18. 2022年广东省安全员A证第三批(主要负责人)考试练习题及在线模拟考试
  19. 【web搜索】学习笔记-层次汇合聚类HAC算法
  20. cuda11.2版本的对应安装的pytorch版本

热门文章

  1. U-Mail邮件服务系统任意文件上传+执行漏洞(runtime缺陷与验证绕过)
  2. UIView的旋转iOS开发
  3. 图灵社区 : 阅读 : 谁说Vim不是IDE?(三)
  4. Web服务器性能估算
  5. 递归函数基例和链条_链条和叉子
  6. 375. 猜数字大小 II
  7. leetcode 1074. 元素和为目标值的子矩阵数量(map+前缀和)
  8. leetcode 91. 解码方法(dp)
  9. wp博客写文章500错误_500多个博客文章教我如何撰写出色的文章
  10. 未来编程语言的走向_在编程方面我从失败走向成功的过程以及让我成功的原因