什么是操作系统

如果你能大概了解下图?这个大概了解操作系统的样子,这是计算机的一些个裸件,了解这些对将来深入学习操作系统,是一个基础。

今天的内容:我们要建立操作系统的一个宏观轮廓
在这里插入图片描述
这个有黑色的,一条一条的,这是内存条,这个是什么圆圆的是CPU和风扇,还有硬盘,也就是说哎,这个东西合在一起很显然就是一台计算机是吧。所以这就是一台计算机。

计算机就来解决这样一个实际问题吧:在屏幕上输出hello。在计算机上是怎么做的呢?
在这里插入图片描述

在屏幕上怎么输出hello呢?

CPU首先要发一些指令给内存。假设这个内存在300,300这个0x68就是h的acsii码是吧,那么要把h的ascii码(当然还有e的ascii码等等),把这些ascii码放在显示器上,当然就得放到显示器上就是放在显存里,假如当前的显存是777,就是已经显示到这个地方了。所以CPU要发出一条什么指令呢?发出mov这条指令,告诉内存,你把300那个地方的东西取出来,哎,放到777这个显存地址上吧。然后哎,接下来上电执行这条指令总线工作一起合作,哎,就把68输出到显存777了。解释器上呢,就出来一个h。

那么e的工作和刚才是一样的,301内存输出到显存778这个地方,所以输出hello得一个一个一点儿一点儿的。来慢慢的放到显示器上,这就是用计算机来解决这个问题。

但实际工作中可不是这么做的,而是在实际工作中通过调用printf,凭什么让我们能调,而不是直接去操作计算硬件呢?哎,这功劳就来自于这个东西——操作系统,也就是说有了操作系统以后,我们怎么再使用计算机硬件呢?唉,就通过操作系统来使用计算机硬件。

操作系统就是方便我们使用计算机硬件的。给我们使用硬件提供了方便的接口。

什么是操作系统?哎,是计算机硬件和应用之间的一些的软件,来方便我们使用硬件,比如说使用显存,使用显示器。
在这里插入图片描述

对操作系统内部非常理解的,这些学生将来具有系统的能力,是吧?具有控制具有控制操作系统能力,具有控制整个计算机系统的能力。具有设计系统的能力。和实现系统能力,这个能力对计算机行业来说是非常重要的。

learn OS by coding them

要知道操作系统背后到底发生了什么?我们要知道大量的代码,我们要阅读大量的代码,要撰写大量的代码。而且不仅要知道代码,还要知道代码背后的原理。要知道原理马上浮现代码,要看到代码懂得背后的原理所在,要在两个方面(代码和原理)来回的切换。所以这课程是对编程能力和抽象能力要求高是吧?就是对问题的理解能力和问题的求解能力都要求非常高。

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

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

相关文章

Kubernetes技术与架构-存储 2

在Kubernetes集群中,一块持久化存储空间是可以被回收再利用,简称PV,即PersistentVolume,Pod实例需要使用PV的时候,可以使用PVC定义申请PV存储资源,PVC是PersistentVolumeClaim的简称,PV的申请分…

「实验记录」CS144 Lab0 networking warmup

文章目录 一、Motivation二、SolutionsS1 - Writing webgetS2 - An in-memory reliable byte stream 三、Results四、Source 一、Motivation 第一个小测试 webget 是想让我们体验并模拟一下在浏览器中键入 URL 后获得远程服务器传来的内容,这并没有太大的难度&…

【Oracle】Navicat Premium 连接 Oracle的两种方式

Navicat Premium 使用版本说明 Navicat Premium 版本 11.2.16 (64-bit) 一、配置OCI 1.1 配置OCI环境变量 1.1.2 设置\高级系统设置 1.1.2 系统属性\高级\环境变量(N) 1.1.3 修改/添加系统变量 ORACLE_HOME ORACLE_HOME D:\app\root\product\12.1.0\dbhome_11.1.4 添加系…

基于AI与物联网技术的智能视频监控系统架构剖析

智能视频监控系统正逐渐成为我们日常生活和工作中不可或缺的一部分。基于物联网的智能监控系统架构为我们在各个领域提供了更高效、智能化和安全的监控解决方案。本文将以旭帆科技EasyCVR视频监控云平台为例,介绍基于AI、物联网的智能监控系统的架构,并探…

电脑提示由于找不到vcruntime140.dll文件,教你四个解决方案

本文将介绍vcruntime140.dll文件的定义、作用以及丢失的原因,并提供四个解决方案来解决这个问题。 首先,让我们来了解一下vcruntime140.dll文件是什么。vcruntime140.dll是Microsoft Visual C Redistributable Package的一部分,它是运行使用…

业务设计——用户敏感信息展示脱敏及其反脱敏

业务需求 将用户敏感信息脱敏展示到前端是出于保护用户隐私和信息安全的考虑。 敏感信息包括但不限于手机号码、身份证号、银行卡号等,这些信息泄露可能导致用户个人信息的滥用、身份盗用等严重问题。脱敏是一种常用的保护用户隐私的方式,它的目的是减少…

IOC课程整理-6 Spring IoC 依赖注入

1 依赖注入的模式和类型 模式 类型 2 自动绑定(Autowiring) 官方定义 “自动装配是Spring框架中一种机制,用于自动解析和满足bean之间的依赖关系。通过自动装配,Spring容器可以根据类型、名称或其他属性来自动连接协作的bean&…

OpenCV官方教程中文版 —— 模板匹配

OpenCV官方教程中文版 —— 模板匹配 前言一、原理二、OpenCV 中的模板匹配三、多对象的模板匹配 前言 在本节我们要学习: 使用模板匹配在一幅图像中查找目标 函数:cv2.matchTemplate(),cv2.minMaxLoc() 一、原理 模板匹配是用来在一副大…

BUUCTF Reverse 新年快乐

下载文件先查壳,可以看到有UPX壳 用upx脱壳 拖到ida pro32,shiftF12查看字符串,看到关键字flag,双击进去 双击然后f5查看伪代码 main函数伪代码 关键函数: strncmp(const char *str1, const char *str2, size_t n)…

群智能算法之模拟退火算法

1.模拟退火算法简介: 2.模拟退火算法的关键点: (1)随机的更新可行解x,判断可行解x对应的函数值和原来函数值之间的大小:如果优于原来的函数值,则让新的可行解x为问题的解;否则以一定的概率(大于…

FL Studio21.2.0.3421最新汉化破解版中文解锁下载完整版本

音乐在人们心中的地位日益增高,近几年音乐选秀的节目更是层出不穷,喜爱音乐,创作音乐的朋友们也是越来越多,音乐的类型有很多,好比古典,流行,摇滚等等。对新手友好程度基本上在首位,…

【存储】lotusdb的原理及实现

最近看了lotusdb的源码。lotusdb是一个golang实现的嵌入式的持久化kv存储。 从整体设计上看,lotusdb采用了类似LSM树的架构,并采用了针对SSD的优化,将key和value分开存储。在此基础上,lotusdb将LSM树中存储key的SST使用B树或者ha…

WORD中的表格内容回车行距过大无法调整行距

word插入表格,编辑内容,换行遇到如下问题: 回车后行距过大,无法调整行距。 解决方法(并行): 方法1:选中要调整的内容,菜单路径:“编辑-清除-格式” 方法2&am…

No173.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

Java SE 学习笔记(十八)—— 注解、动态代理

目录 1 注解1.1 注解概述1.2 自定义注解1.3 元注解1.4 注解解析1.5 注解应用于 junit 框架 2 动态代理2.1 问题引入2.2 动态代理实现 1 注解 1.1 注解概述 Java 注解(Annotation)又称Java标注,是JDK 5.0引入的一种注释机制,Java语…

Unity ScrollView最底展示

Unity ScrollView最底展示 问题方案逻辑 问题 比如在做聊天界面的时候我们肯定会使用到ScrollView来进行展示我们的聊天内容,那么这个时候来新消息的时候就需要最底展示,我认为这里有两种方案; 一种是通过算法每一条预制体的高度*一共多少…

汇编运算符和表达式

运算符: 汇编语言由表达式和运算符组成,运算符分为数值运算符和属性运算符。属性运算符面向变量或标号。 数值运算符: 算术运算符: 运算符类型 ✓ ( 正号 ) 、 -( 负号 ) ✓ ( 加 ) 、 -( 减 ) 、 *( 乘 ) 、 /( 除 ) 、 MO…

Linux下的IMX6ULL——开发板的第一个APP和驱动实验(三)

前言: 万事开头难,如果我们在开发板上开发出第一个应用程序,第一个驱动程序,那么后续的开发就会稍微简单点,下面让我们来进行第一个应用程序和第一驱动程序的开发吧。 目录 一、开发板的第1个APP实验 1.通过Git仓库…

批量去除pdf每一页相同未知的同样的内容

例如我想去除每一页右下角的www.alevelcollege.com ①打开acrobat pro ②编辑文件和图像 ③ctrlF输入字符串www.alevelcollege.com替换为空 ④鼠标点击替换 ⑤回车键按下不放,会自动翻页,直到翻页到最后一页。

mac安装jenkins

1、安装jenkins之前确认是否安装了homebrew 2、开始安装jenkins 安装完如下图则安装完成 3、不想用默认ip和端口的自己改一下ip和端口 4、启动jenkins brew services restart jenkins 使用自己修改后的ip:port http://0.0.0.0:8088 根据提示信息,拿到管理员密码&…