【Linux】操作系统的认识

news2024/11/18 11:18:17

操作系统

  • 1. 冯诺依曼体系结构
  • 2. 操作系统


1. 冯诺依曼体系结构

  1. 冯诺依曼体系结构的介绍

冯.诺依曼结构消除了原始计算机体系中,只能依靠硬件控制程序的状况(程序作为控制器的一部分,作为硬件存在),将程序编码存储在存储器中,实现了可编程的计算机功能,实现了硬件设计和程序设计的分离,大大促进了计算机的发展。所以我们现在常用的计算机大多遵循冯诺依曼体系结构。
在这里插入图片描述

  1. 理解冯诺依曼体系结构

(1)现在计算机由五大基本硬件组成:

存储器:就是内存

输入设备:键盘、摄像头、话筒、磁盘、网卡和鼠标等

输出设备:显示器、播放器、磁盘、网卡等

运算器:对我们输入的数据进行运算(算术运算和逻辑运算)

控制器:读取内存中的指令,翻译解析后向有关硬件发送控制命令

注意
a. 外设是输入设备和输出设备,CPU包括运算器和控制器。
b. 有的设备是纯输入,有的设备是纯输出,有的则是既输入又输出,例如磁盘和网卡。
c. U盘和磁盘是外存(用来存放内存暂时用不着的程序和数据)。
d. 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设;外设要输入或者输出数据,也只能写入内存或者从内存中读取。所有设备都只能直接和内存打交道。

问题1
为什么要有内存?CPU不能直接从外设进行读取,再输出到外设吗?
a. 从存储的结构就可以知道,外设离CPU远,输出设备和输入设备与CPU的速度差距太大,当输入设备还在慢吞吞输入数据时,CPU早将数据处理输出到输出设备,输出设备再慢吞吞输出数据,CPU有太多空闲,严重拖累了计算机的执行速度。
b. 内存的速度不也比CPU慢,为什么还要链接内存?内存的速度确实慢于CPU,但两者间的速度差距远小于外设与CPU的速度差距。也就是说内存容量适中、速度适中,是最优解。
c. 内存具有预加载的功能,会预先将输入设备的数据加载到内存,且当CPU在运算时,内存也会不断地存储数据。这样CPU就会不断地从内存中读取和输出数据,提高了计算机的执行速度。此时的内存就是硬件级别的缓存空间。

下面是计算机的存储金字塔。
在这里插入图片描述

问题2
一个程序要运行,必须先加载到内存。为什么?
简单回答
因为冯诺依曼体系结构规定。
详细回答
因为CPU只能从内存中读取数据,不能直接从外设中读取数据。

(2)上面五大设备都是独立个体,各个硬件单元必须用“线”链接起来,这个线就是系统总线和IO总线。CPU与内存之间的是系统总线,内存与外设之间的是IO总线。

(3)场景
请解释,从登录上qq开始和某位朋友聊天开始,数据的流动过程。
在这里插入图片描述
在这里插入图片描述
如果我想要传一个文件(比如文档)给我的朋友,请画出数据流动的过程。
在这里插入图片描述


2. 操作系统

由冯诺依曼体系结构,我们可以知道计算机有很多硬件,这些硬件各有各的功能。这些功能什么时候执行,谁先执行,就需要一个逻辑来管理,所以就有了操作系统。

  1. 什么是操作系统

操作系统是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。
简单讲,操作系统是一款进行管理(硬件和软件)的软件。

操作系统包括内核(进程管理、内存管理、文件管理、驱动管理)和其他程序(例如函数库,shell程序等等)。

  1. 为什么要有操作系统

(1)操作系统帮助用户管理好下面的软硬件资源(驱动和底层硬件)。
(2)为了给用户提供良好(稳定、高效、安全)的运行环境。
注意
这里的用户是程序员,而不是普通用户。因为普通用户不是直接使用操作系统,而是使用程序员开发出来的软件。只要保证良好的运行环境,程序员才能为普通用户创建更多的软件。

  1. 用户可以直接访问操作系统吗

操作系统是软件,有大量数据,但用户不能直接访问操作系统,操作系统不相信任何用户。可是操作系统又要为用户提供各种服务,所以操作系统就得提供接口让用户访问内部数据。这是怎么做到的?

操作系统为了保证自己的数据安全,又为了保证给用户提供服务,操作系统以接口的方式给用户提供调用的入口,来获取操作系统内部的数据。

拓展
操作系统是用C语言写的,接口就是操作系统提供的、用C实现的函数调用,这就是系统调用。
总结
所有访问操作系统的行为,都只能通过系统调用完成。

计算机的层状结构
在这里插入图片描述

  1. 操作系统是如何进行管理底层的软硬件资源?

(1)操作系统不直接访问底层的硬件,而是通过驱动程序进行管理的。
(2)操作系统是管理者,而硬件是被管理者。只要有被管理者的信息,就能对被管理者做管理。就像在大学,校长是管理者,而学生则是被管理者,校长不需要见学生就能对学生进行管理,他是通过学生的学号等各种信息进行管理的。同样,操作系统是对硬件的各种信息管理。

所以管理的本质是通过对数据的管理,而不是对人(硬件)的管理
(3)操作系统中是有大量的数据,要如何对每份数据都进行管理?比如在大学中,要在整个年级中找出几名学生、新转学几名学生、退学几名学生,我们可以将每个学生描述成一个结构体,这个结构体中有学生的各种信息(如姓名,性别,学号,成绩等),然后用一个链表把每个结构体链接起来。这样,成功地将学生的管理工作转换成对链表的增删查改。

所以我们可以将底层设备构建成结构体(先描述),再用链表和其他数据结构链接起来(再组织)

(4)操作系统中,管理任何对象最终都可以转化成对某种数据结构的增删查改。
(5)最终答案:先描述,再组织

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

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

相关文章

Python面向对象丨面向过程和面向对象,你真的了解“对象”吗?

Author:AXYZdong 硕士在读 工科男 有一点思考,有一点想法,有一点理性! 定个小小目标,努力成为习惯!在最美的年华遇见更好的自己! CSDNAXYZdong,CSDN首发,AXYZdong原创 唯…

51单片机练习(04)

eg1:使用定时器的方式实现单片机流水灯 #include <REGX52.H> #include <INTRINS.H> #define uchar unsigned char #define uint unsigned int uchar temp,t0;// 初始化函数 void init(){temp 0xfe;//第一个发光二级管点亮P1 temp;// 初始化定时器TMOD 0x11;TH0…

网络协议--IP选路

9.1 引言 选路是IP最重要的功能之一。图9-1是IP层处理过程的简单流程。需要进行选路的数据报可以由本地主机产生&#xff0c;也可以由其他主机产生。在后一种情况下&#xff0c;主机必须配置成一个路由器&#xff0c;否则通过网络接口接收到的数据报&#xff0c;如果目的地址不…

游戏盾如何有效防护DDoS

从进入计算机时代以来&#xff0c;DDoS攻击一直是网络世界中的一大威胁&#xff0c;让无数服务陷入瘫痪。这种攻击的原理非常简单&#xff1a;攻击者使用大量的僵尸主机或蠕虫病毒&#xff0c;向目标服务器发送海量请求&#xff0c;迅速耗尽服务器的资源&#xff0c;使其无法继…

ATF安全漏洞挖掘之FUZZ测试

安全之安全(security)博客目录导读 ATF(TF-A)/OPTEE之FUZZ安全漏洞挖掘汇总 目录 一、tf-a-tests简介 二、TF-A SMC_FUZZING 一、tf-a-tests简介 tf-a-tests.git - Trusted Firmware-A Tests 版本下载 tf-a-tests.git - Trusted Firmware-A Tests 文档描述 Getting Star…

大二第三周总结(算法+生活)

算法&#xff1a; 题目&#xff1a;有效的括号 这个题目也是做过很多回了。主要就是数据结构中”栈“的应用&#xff0c;先进后出。 解题思路&#xff1a; 1.创建 Map 哈希表形成键值对映射 2.进行遍历字符串 在遍历过程中 如果 遍历到的字符c 是左括号&#xff0c;则入栈 pu…

【2024秋招】2023-8-5-小红书-数据引擎团队后端开发提前批面经

1 面试官介绍 OLAP引擎&#xff0c;离线引擎&#xff0c;大数据分析中间件 2 自我介绍 缺点&#xff1a; &#xff08;1&#xff09;面试官让重点介绍自己最在行的项目&#xff0c;我真的在自我介绍上扯了一些别的东西… &#xff08;2&#xff09;在面试的时候因为想看简…

学习笔记---0基础+干货满满的单链表专题~~

目录​​​​​​​ 1. 链表的概念及结构&#x1f451; 1.1 什么是链表&#xff1f;&#x1f440; 1.2 为什么需要链表&#xff1f;⁉️ 1.3 链表的结构是怎么样的&#xff1f;❓ 2. 链表的分类&#x1f99c; 3. 实现单链表&#x1faf5; 3.1 要实现的目标&#x1f3af;…

Ubuntu更新镜像源切换

概述 用ubuntu用apt命令&#xff0c;自动安装或更新包的时候&#xff0c;默认的镜像源服务器非常卡&#xff0c;很不方便。切换到国内的镜像源&#xff0c;下载更新非常快。为防止以后忘记&#xff0c;本文以国内服务器阿里巴巴的为例简单描述。 版本 Ubuntu23.10 找到更新…

使用 类加载器 或者 类对象 读取文件(参考的路径都是编译以后的文件夹,out 或者 target 文件夹 )

以下内容 本人都是 用 Maven 工程总结的 &#xff0c;所以会和普通项目的项目目录不太一样。相对路径&#xff1a;项目 的 根目录 开始查找。&#xff08; 但是在我们真正开发的时候&#xff0c;我们读到的更多的文件并不是直接放在我们项目里面这个文件夹里面&#xff0c;而是…

OpenAI 现已开始考虑自研 AI 芯片战略

根据 TechCrunch 的报道&#xff0c;随着 AI 芯片短缺的问题日益严重&#xff0c;OpenAI 现已开始考虑自研 AI 芯片。 据悉&#xff0c;从去年开始 OpenAI 内部就已经开始讨论 AI 芯片战略&#xff0c;以解决其 AI 芯片短缺的问题。这些方案包括自研 AI 芯片、与英伟达等芯片制…

用节点亲和性把 Pod 分配到节点

用节点亲和性把 Pod 分配到节点 当前集群信息&#xff1a; rootk8s-master:~# kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s…

宝塔部署code-server

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家来访。 code-server其实就是vscode网页版&#xff0c;可以实现随时随地编程。那么本教程是将源码的二进…

理解电路:从电报机到门电路,我们如何做到“千里传信”?

目录 背景 从信使到电报&#xff0c;我们怎么做到“千里传书”&#xff1f; 理解继电器&#xff0c;给跑不动的信号续一秒 小结 背景 所有最终执行的程序其实都是使用“0”和“1”这样的二进制代码来表示的。我们知道&#xff0c;对应的整数和字符串&#xff0c;其实也是用…

2023 年和 2024 年 10 个最佳加密货币趋势

1.熊市低迷 加密货币市场已进入持续数月的长期看跌阶段。尽管 2023 年初出现了一些看涨走势&#xff0c;但大多数领先的加密货币随后都出现了看跌低迷&#xff0c;导致其市值大幅下跌。 此外&#xff0c;持续的熊市可归因于一系列因素&#xff0c;包括宏观经济不确定性、利率…

复杂系统设计基本注意事项

目录 一、软件复杂性度量方法 &#xff08;一&#xff09;McCabe度量方法 &#xff08;二&#xff09;John Ousterhout度量方法 &#xff08;三&#xff09;一般建议 二、复杂性带来的危害 &#xff08;一&#xff09;修改扩散&#xff08;Modification Diffusion&#x…

力扣每日一题54:螺旋矩阵

题目描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#…

电路电子技术4 等效电阻的计算实际电源等效变换

1.等效电阻的计算 思路&#xff1a;清楚电路结构即可。可以看到&#xff08;R1//R2&#xff09;&#xff08;R3//R4&#xff09;。 这样即可得到答案C。 2.电流源等效电压源 实际电压源等效为实际电流源时&#xff0c;电流源的电激流应等于电压源的源电源除以电压源的内阻。 实…

django基于Python的房价预测系统+爬虫+大屏可视化分析

欢迎大家点赞、收藏、关注、评论 文章目录 前言一、项目介绍二、开发环境三、功能需求分析1 数据采集功能设计2数据管理功能设计3爬虫功能需求分析4 数据可视化功能需求分析数据库表的设计 四、核心代码五、效果图六、文章目录 前言 房价是一个国家经济水平的重要体现&#xff…

JS加密/解密之闭包的运用

深入探讨JavaScript闭包的演变与应用 摘要&#xff1a; 本文将深入探讨JavaScript闭包的概念、特性以及其在实际开发中的应用。我们将从闭包的起源开始&#xff0c;探讨它在JavaScript编程中的重要性&#xff0c;并通过实例展示闭包在不同场景下的灵活应用。 引言 JavaScrip…