[1.1_1]计算机系统概述——操作系统的概念、功能和目标

news2024/12/23 8:51:49

文章目录

  • 第一章 计算机系统概述
    • 操作系统的概念(定义)、功能和目标
      • (一)操作系统的概念(定义)
      • (二)操作系统的功能和目标
        • 1、作为系统资源的管理者
        • 2、向上层提供方便易用的服务
        • 3、作为最接近硬件的层次
    • 小结

第一章 计算机系统概述

操作系统的概念(定义)、功能和目标

  • 概念(定义)

    • 什么是操作系统
  • 功能和目标

    • 操作系统要做些什么?

(一)操作系统的概念(定义)

一台电脑的诞生

Step1:厂家组装一台裸机

裸机(纯硬件):包含CPU、内存、硬盘、主板等

Step2:出售前安装操作系统

Step3:用户安装应用程序(如:QQ)

Step4:使用QQ聊天

image-20230302173836890

  最底层的是裸机、纯硬件,在裸机上面安装一层操作系统,在操作系统之上我们可以安装一系列的应用软件,用户是处于最上面一层的。

  这张图中,应用程序和操作系统相连,是因为应用程序能够通过系统调用和操作系统进行交互。用户和操作系统相连,是因为用户可以通过GUI、命令接口和操作系统进行交互。(下文有具体讲解)

  至此,给出操作系统的定义:(来自王道资料书)

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

这段话想表达的是:

①操作系统是系统资源的管理者。

  直观的例子,如,我们打开Windows操作系统的“任务管理器”,能够看到

image-20230302174823770

②向上层提供方便易用的服务。

③是最接近硬件的一层软件。

(二)操作系统的功能和目标

1、作为系统资源的管理者

  • 提供的功能
    • 处理机管理
    • 存储器管理
    • 文件管理
    • 设备管理
  • 目标
    • 安全、高效

image-20230302175137716

用QQ和朋友视频聊天的过程

Step1:在各个文件夹中找到QQ安装的位置(如D:/Tencent/QQ/Bin)

  通过一层一层的文件夹(目录),找到了QQ的启动程序QQ.exe,但是除了这个可执行文件外,目录下还有很多其他文件,而对于这些文件的组织和管理,是操作系统来帮我们完成的。

  这就涉及到了操作系统作为系统资源的管理者,所要提供的文件管理的功能。

Step2:双击打开QQ.exe

  执行一个程序前需要将该程序放到内存中,才能被CPU处理。

  我们在双击完QQ.exe后,操作系统帮我们做了一个很重要的事情,把我们的数据从磁盘放到了内存中,具体放在什么位置,都是由操作系统帮我们完成的。

  这一步就涉及到操作系统的另一个功能:存储器管理(或者叫主存管理、内存管理)

Step3:QQ程序正常运行

  在QQ程序运行的过程中,是需要经过CPU(处理机)进行处理的,而什么时候给这个进程分配处理机资源,这个事情是操作系统在背后为我们完成的。

  这就涉及到操作系统的又一个功能:处理机管理

Step4:开始和朋友视频聊天

  在视频聊天的过程中,肯定要把摄像头这一设备分配给QQ使用,因此,像摄像头这一类设备资源,也需要操作系统来帮助我们管理,由操作系统来决定把哪一设备分配给哪个进程使用。

  这就又涉及到设备管理

2、向上层提供方便易用的服务

  • 直接给用户使用的
    • GUI(图形用户界面)
    • 命令接口(用户可直接使用)
      • 联机命令接口(说一句做一句)
      • 脱机命令接口(说一堆做一堆)
  • 给软件/程序员使用的
    • 程序接口(即“系统调用”,用户通过程序间接使用)

【注】在有的教材中,命令接口与程序接口被统称为“用户接口”,即狭义的用户接口不包括GUI。

image-20230303144712885

硬件只听得懂二进制指令,如:01010111101110111010101。

硬件对外暴露了“丑陋”、不友好的交互接口。

  通过刚才的分析可知,计算机的最底层是裸机(纯硬件),最底层的这些硬件,它只听得懂二进制指令,即机器语言。也就是说,如果我们直接和这些硬件打交道的话,那么我们只能用二进制的语言和这些硬件进行交互。所以我们说,最底层的纯硬件,它对外暴露出的,是不友好的、“丑陋的”交互接口,正常的人类很难和这些纯硬件直接来打交道。

在硬件之上安装了操作系统,操作系统对外暴露了“美丽”、友好的交互接口。

  但是在硬件之上,安装的操作系统,会向它的上层提供一种更美丽、更友好的交互接口。在安装了操作系统之后,用户/应用程序不需要直接和硬件打交道,而只需要告诉操作系统想要得到的服务就可以。操作系统会把这些命令/需求翻译成二进制,来告诉硬件,然后由硬件执行操作。

封装思想:操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机。用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。

  这其实是一种典型的封装思想。这种封装思想在生活当中也很普遍,比如一辆汽车,如果我们把它拆解了的话,里面有很多很复杂的构件,但是汽车的设计师们会把这些底层复杂的构造隐藏起来,对外只暴露用户能够理解的、简单易用的接口(方向盘、刹车、油门……),但是用户不需要关注它底层是怎么实现这些功能的(转向、加速、减速……)。而操作系统对底层硬件的封装,其实和汽车的这种封装本质上没有区别。


刚刚说操作系统对底层进行封装,向上层提供方便易用的服务。那么提供了哪些服务呢?

  • GUI:图形化用户接口(Graphical User Interface)

image-20230302182332480

  用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。

  例如,在Windows操作系统中,删除一个文件只需要把文件“拖拽”到回收站即可。但这一简单的“拖拽”动作背后,操作系统其实做了很多事情。

  很多现代操作系统都提供GUI,而一些早期的操作系统是并没有这些图形化界面的。早期的操作系统都是让用户通过命令接口的方式和操作系统进行交互,也就是用命令行的方式和操作系统进行交互。

  命令接口又分为两种:联机命令接口、脱机命令接口。


  • 联机命令接口

联机命令接口实例(Windows系统)

联机命令接口 = 交互式命令接口。

特点:用户说一句,系统跟着做一句。

Step1:win键+R

Step2:输入cmd,按回车,打开命令解释器

Step3:尝试使用time命令

image-20230302185157042

  time命令的功能是显示当前时间,并允许用户输入一个新时间来修改时间,是一个典型的交互式命令,整个过程,用户是在和操作系统不断进行交互的。


  • 脱机命令接口

脱机命令接口实例(Windows系统)

脱机命令接口 = 批处理命令接口

特点:用户说一堆,系统跟着做一堆。

  使用Windows系统的搜索功能,搜索C盘中的*.bat文件,用记事本任意打开一个。

  虽然其内容看起来很复杂,但本质上和刚才我们使用的time命令没有区别。它只不过是把一系列的命令都罗列成了一个清单,当我们执行这个.bat文件的时候,操作系统就会根据这个文件当中的命令,一条一条地执行。我们使用这种脱机命令接口(批处理命令接口)和操作系统进行交互的话,我们其实是一次提出一堆的请求,操作系统根据我们的指示,一条一条地执行这一堆的请求。这也是这种命令接口被称为“批处理”命令接口的原因。

  到此我们讲了三种接口:GUI、联机命令接口、脱机命令接口,都是可以让普通用户直接使用的。操作系统还有一种对外提供的接口,叫做程序接口,这种接口是给我们程序员使用的。


  • 程序接口

程序接口:可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。

  如:写C语言“Hello world”程序时,虽然我们只利用简单的printf函数就实现了,但是在其底层一定使用到了操作系统提供的显示相关的“系统调用”。

  程序员在写C语言时,调用C语言库函数,而库函数的底层使用到了一系列系统调用,操作系统在接收到了系统调用后,就会让底层硬件执行相关功能。系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式。

在有的教材中,系统调用,又会被称为广义指令。

3、作为最接近硬件的层次

image-20230302192618562

  需要实现对硬件机器的扩展

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

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

这些概念无关紧要,更重要的是要理解:为什么操作系统能够实现对硬件机器的扩展?

  类比汽车:

  发动机——只会转;轮胎——只会滚。

  在原始的硬件机器上覆盖一层传动系统——让发动机带着轮子转——使原始的硬件机器得到拓展。

  操作系统对硬件机器的拓展:将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能。

小结

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

image-20230302193915377

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

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

相关文章

选课系统的设计与实现

技术:Java等摘要:目前国内各高校的规模越来越大,进而造成教师教学管理等工作量日趋加大。然而,现代教育的信息化、网络化已经成为教育发展的一个重要方向,同时也为解决高校教学管理效率低下的现状,使管理突…

[架构之路-126]-《软考-系统架构设计师》-操作系统-5-虚拟化技术、Docker与虚拟机比较

第1章 Docker与虚拟机比较总体概述1.1 宏观比较虚拟机和Docker容器技术都是一种虚拟化技术。虚拟机包含的是整个操作系统的原生镜像,非常的庞大。docker的镜像只包含最核心的环境,非常小巧。(1)比较Docker与虚拟机技术的不同&…

【CS224W】(task9)图神经网络的表示能力(更新中!!)

note 基于图同构网络(GIN)的图表征网络。为了得到图表征首先需要做节点表征,然后做图读出。GIN中节点表征的计算遵循WL Test算法中节点标签的更新方法,因此它的上界是WL Test算法。 在图读出中,我们对所有的节点表征&…

线程基础复习

线程基础复习 程序:一段静态的代码 进程:正在执行的程序,是操作系统资源分配的最小单位 线程:进程可进一步细分为线程,是进程内部最小的执行单元,是操作系统进行任务调度的最小单元,属于进程 线程与进程的关系 一个进程可以包含多个线程,…

Python3-循环语句

Python3 循环语句 本章节将为大家介绍 Python 循环语句的使用。 Python 中的循环语句有 for 和 while。 Python 循环语句的控制结构图如下所示: while 循环 Python 中 while 语句的一般形式: while 判断条件(condition):执行语句(stat…

Mysql是怎样运行的——B+树索引

💥 前章回顾: 💥 前面我们详细唠叨了InnnoDB数据页的7个组成部分,知道了各个数据页可以组成一个双向链表,而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的…

构建“以客户为中心”的新型商业模式

很难想象一个ERP系统能帮助企业变得更加以客户为中心。然而,如果采用正确的方法,ERP系统确实可以帮助你的企业把客户置于其所有规划、产品开发和运营的中心。 什么是以客户为中心的业务方法? 以客户为中心的业务方法将客户旅程放在每个行动…

图表控件LightningChart.NET 系列教程(九):LightningChart 组件——从工具箱添加至 WPF 项目

LightningChart.NET LightningChart.NET 是一款高性能 WPF 和 Winforms 图表,可以实时可视化多达1万亿个数据点。可有效利用CPU和内存资源,实时监控数据流。同时,LightningChart使用突破性创新技术,以实时优化为前提,大大提升了实…

将字符串生成艺术字pyfiglet.figlet_format

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】将字符串生成艺术字pyfiglet.figlet_format选择题以下关于python代码表述错误的一项是?import pyfigletmyText"python"print("【执行】pyfiglet.figlet_format")resultpyf…

第一篇:1.3Inch ISP Screen简介

1.简介官方连接: http://www.lcdwiki.com/zh/1.3inch_IPS_Module我在淘宝买的这款,其驱动IC是st7789,这款的分辨率是相对来说最高的,因此买的时候可能看到比他大的屏幕比这个还便宜.1.1产品介绍1.3寸IPS彩屏,支持 RGB 65K色显示,显示色彩丰富240X240分辨…

Vue2.0开发之——购物车案例-案例说明及导入Header(44)

一 概述 初始项目预览最终项目预览二 案例说明 2.1 初始项目代码结构 2.2 Components组件与项目的对应关系 对应关系: components/Counter:物品数量components/Footer:购物车底部components/Goods:购物车商品components/Header…

第二大脑应用程序Cogito

本文软件是网友 Juijote 推荐; 什么是 Cogito ? 官方号称是 又一个第二大脑应用程序,其实就是一个普通的笔记软件,但既不支持块操作、也不支持双链,更不具备现在流行的白板交互。 先来张官方图片感受一下 安装 在群晖…

Java之反射

反射机制1. Java反射机制的概念1.1 静态&动态语言1.2 反射机制概念1.3 反射机制研究与应用1.4 反射机制的优缺点2. 理解Class类并获取Class实例2.1 Class类介绍2.2 获取Class类的实例2.3 那些类型可以有Class对象?3. 类的加载与CassLoader3.1 Java内存分析3.2 类…

【Azure 架构师学习笔记】-Azure Storage Account(1)-类型简介

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Storage Account】系列。 前言 大数据引起了存储革命, 云计算又为大容量高速存储提供了可能的方案,每个商业云供应商都会提供特殊的云存储。而Azure 对应的云存储则称为存储帐户(Storage accou…

附录4-大事件项目后端-四个模块

目录 1 注册与登陆 1.1 代码 1.2 Bearer token 2 个人中心 3 文章分类 3.1 代码 3.2 添加/更新文章分类确保名称唯一性 3.2.1 两条数据占用 3.2.2 被一条数据同时占用 3.2.3 只有名称被占用 3.2.4 只有别名被占用 4 文章列表 4.1 代码 4.2 筛选文…

电子技术——CMOS反相器

电子技术——CMOS反相器 在本节,我们深入学习CMOS反相器。 电路原理 下图是我们要研究的CMOS反相器的原理图: 下图展示了当输入 vIVDDv_I V_{DD}vI​VDD​ 时的 iD−vDSi_D-v_{DS}iD​−vDS​ 曲线: 我们把 QNQ_NQN​ 当做是驱动源&#…

[AI助力] CS143学习笔记1

CS143, Compilers Lecture01 Course Overview notes 文章目录CS143, Compilers Lecture01 Course Overview notesAI summaryAI notes👇Introduction:Interpreters:Compilers:History:Conclusion:AI flowchart流程图AI flashcards抽认卡AI费曼学习法workflow 总结关于…

Linux 利用 qemu-system-aarch64 实现 x86 机器安装 arm64 的操作系统

文章目录[toc]遇到的问题安装 qemu-system-aarch64创建 aarch64 操作系统准备 aarch64 的 iso 镜像下载 aarch64 的 UEFI 固件创建虚拟磁盘创建虚拟机语言设置时区设置安装来源软件选择磁盘分区Kdump 配置网络配置root 用户密码创建用户安装操作系统遇到的问题 qemu-system-aar…

问题三十五:傅立叶变换——带通滤波

傅里叶变换(Fourier Transform)是一种用于分析信号的数学工具,它将信号分解成若干个不同频率的正弦和余弦函数。在图像处理中,傅里叶变换可以用来分析图像中各个频率的成分,从而进行滤波、增强等操作。 在傅里叶变换中…

电商项目后端框架SpringBoot、MybatisPlus

后端框架基础 1.代码自动生成工具 mybatis-plus &#xff08;1&#xff09;首先需要添加依赖文件 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.2</version></dependency><de…