[机缘参悟-96] :软件中到处充满了人类社会的气息!

news/2024/4/20 1:51:23/文章来源:https://blog.csdn.net/HiWangWenBing/article/details/129154091

解读操作系统有感:

CPU

对于CPU内核而言,调度程序是程序,应用程序也是程序,在它眼里是一样的、公平看待的,因此某种愿意上讲,CPU内核本身就是“上天”,就是“道”,道德经中讲“天地不仁,以万物为刍”,就是这个意思,CPU中的算术单元并不区分什么是应用程序、什么是内核程序,什么是病毒程序,在它眼里,都是符合CPU指令系统的二进制代码而已。

进程

那么,如何在一个不区分对待任何软件程序的、公平的CPU硬件内核的基础之上,构建一个需要区别对待不同应用程序的机制呢?

一种思想,就是分布式、自由竞争、物竞天择、自然选择,这是大自然的规则;

另一种思想,就是人类社会的规则,需要构建一个分层的等级社会,不同的程序有不同的等级,于是操作系统就诞生了,操作系统的调度程序就是顶级的“天子”和“皇帝”,它拥有无上的权利,可以支配系统所有的硬件和软件资源,它可以调度所有所有的应用程序、中断程序、驱动程序,于是又有了父进程和子进程,他们还有一定继承关系。为了区别对待不同的程序,于是又有了进程间/线程的优先级,不同优先级的程序,拥有享有不同的使用CPU资源的权利。为了解决不同程序之间的社交和各种互动的需求,于是有了进程/线程间同步和线程间同步。为了解决不同个体之间,因为交流速度不对等造成的沟通障碍,为了帮助那些生产信息的程序与消费信息的应用程序之间的交流,于是构建一个生产者和消费者模型,于是有了充当“市场”作用和桥梁作用的队列、缓冲区、FIFO等机制。就这样,一个不平等的、又看似平等的、公平的、并发的、多任务环境就创建了,每个应用程序自我感觉是“公平的”,殊不知背后的等级制度,并非“上天(CPU)”公平的规则,每个应用程序自我感觉是独自计算机系统、自主地运行程序,殊不知一切都在操作系统调度程序的掌控之中,整个CPU资源被调度程序按照应用程看不见的某种规则集中分配。

内存

内存是计算机除了CPU之外,另一个最重要的资源,为了让应用程序共享有限的社会资源,于是搞了个MMU,还搞出一个逻辑地址和物理地址的映射,让每个应用程序都感觉自己完全拥有、完全自由度的、公平的、3G的地址活动空间,每个应用程序可以在自己的地址活动空间自由驰骋,殊不知,在MMU的控制下,所有的应用程序不过是分时、共享相同的物理内存,而实际的物理空间或许远远不足3G,或许只有几兆而已。不过,没关系,每个应用程序享受着这份虚幻就行,哪在乎背后是不是真实!

外设

外设是出CPU和内存之外的,三大最重要资源中的最后一个,为了让应用程序使用各种纷繁复杂的外设资源,操作系统搞出了一个“树”型结构的文件系统,每个设备被虚拟成了一个个文件系统中的文件,应用程序通过简单的“读”和“写”操作完成与各种外设资源的交互。殊不知,文件系统是一个典型的等级制度系统,从根节点到叶子节点,每个“外设或人”,都是挂接在整个等级系统中的一个环节。为了能够跨越阶层,操作搞出了一个软链接的东西。

网络协议栈

网络协议分层是另一个典型的等级森严社会,下层为上层提供服务,下层只需要实现上层期望的一个个单一的目标和任务,上层利用下层的服务,完成更加复杂的目标和任务,下层并不知道上层的业务目标,上层也不关心下层如何实现目标,上层只关心下层必须完成其职责范围内预定的目标,一旦下层由于某种因素无法达成上层的期望和性能指标,上层就可以无情地把下层替换掉,并美其名曰,上下层解耦。上下层之间不能越级,并美其名曰是接口清晰,层次分明。

谁说“程序”没有“感情”、没有“人文”?没有“思想”?软件中到处充满了人类社会的气息!

ChatGPT

ChatGPT使得“无情感、无思维、无人文、无生命的”的机器与“活生生的人”差距又缩小了一个等级。未来的通用人工智能,不仅仅会让机器拥有超过人类的智慧,还会让机器拥有类人类的情感,甚至拥有所谓的“硅基”生命。

补充:

操作系统的本质就是创建一个并发的应用程序执行的环境,使得各种应用程序可以动态、共享相同的计算机物理硬件资源,计算机的三大物理资源包括:

  • CPU

  • 内存

  • 外设

应用程序(管理应用程序):以进程和现成的方式组织,所有的应用程序被抽象成了一个个的进程与现成;然后,有了进程间同步、互斥与通信、进程的优先级调度等概念。

所有的外设(管理外设资源):以统一的文件来组织,所有的应用程序通过文件的方式访问所有的外设,操作系统通过把文件映射成设备的驱动程序访问外设硬件。并以中断的手段提供异步抢占的方式临时占用计算机的资源。

所有的内存(管理内存资源)一虚拟地址的方式来组织,每个应用程序拥有0G~3G的用户地址空间和3G~4G的内核专有空间,于是了内存管理、MMU和地址映射等等概念。

内核调度程序(管理CPU资源):如何管理上述资源呢?于是就有了操作系统的调度程序!

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

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

相关文章

JAVA并发集合之ConcurrentHashMap

ConcurrentHashMap是一个支持高并发更新与查询的哈希表(基于HashMap)。Hashmap在多线程并发的情况下,是线程不安全的,容易出现死循环、死锁等问题,JDK8后不会出现死锁问题,但依然存在多线程的系列问题,如:数…

关于虚拟数字人你想知道的都在这里

2022年底,微软旗下的人工智能实验室Open AI发布的对话式大型语言模型ChatGPT聊天机器人一夜蹿红,5天用户量超百万,在各大中外媒体平台掀起了一阵热潮。也带火了人工智能相关产业,AI虚拟数字人就是其中之一,一个随着元宇…

【电商】红冲与单价调整

产品及系统的规划与设计过程中始终会考虑实际生产环境中的异常场景,这样会增加系统复杂度,虽然有时可以通过简化流程来降低出现异常的概率,但很多时候都是无法避开的;本篇就简单梳理下红冲单与价格调整单方面的内容,希…

Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解

Java ”框架 注解 反射 设计模式“ 之 注解详解 每博一文案 刹那间我真想令时光停住,好让我回顾自己,回顾失去的年华,缅怀哪个穿一身短小的连衣裙 和瘦窄的短衫的小女孩。让我追悔少年时代,我心灵的愚钝无知,它轻易…

解决 NestHost requires ASM7 (shrink、kotlin metadata)

① 场景 Caused by: java.lang.RuntimeException: NestHost requires ASM7Failed to resolve class org/vigame/demo/CrashHandler$1.class[transform input:not foundproject input:not foundaar input:not found]Caused by: java.lang.UnsupportedOperationException: NestH…

损失函数与反向传播

一、损失函数计算实际输出和目标之间的差距为我们更新输出提供一定的依据(反向传播)1.nn.L1Lossimport torch from torch.nn import L1Loss inputs torch.tensor([1,2,3],dtypetorch.float) targets torch.tensor([1,2,5],dtypetorch.float) # reshape…

ZED相机快速使用指南

1、安装SDK ZED SDK 3.8 - Download | Stereolabs 2、安装ros GitHub - stereolabs/zed-ros-wrapper: ROS wrapper for the ZED SDK 其他教程:ZED2相机SDK安装使用及ROS下使用_可即的博客-CSDN博客 3、官方文档 Get Started with ZED | Stereolabs 4、标定参…

「TCG 规范解读」第12章 TPM工作组 TCG身份验证研讨

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…

游戏蓝牙耳机哪个品牌好?游戏蓝牙耳机品牌排行榜

手机端的TWS耳机已成为主流,因而许多厂商也在制造蓝牙耳机时,不仅仅只限于音质,并且在延迟和功能上有所改进,下面小编整理了游戏蓝牙耳机品牌排行榜,看看有哪些入围的吧! 一、南卡小音舱蓝牙耳机 蓝牙版本…

华为OD机试 - 计算网络信号(C++) | 附带编码思路 【2023】

刷算法题之前必看 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12199283.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 华为OD机试题…

左耳听风——笔记四:分布式

左耳听风:分布式 分布式系统介绍 分布式系统和单体系统 使用分布式系统主要有两方面原因。 增大系统容量。我们的业务量越来越大,而要能应对越来越大的业务量,一台机器的性能已经无法满足了,我们需要多台机器才能应对大规模的…

吐血整理AutoSAR Com-Stack 的配置【基于ETAS】

总目录链接>> AutoSAR入门和实战系列总目录 文章目录01.软件组件和系统说明02.基本软件配置03.系统数据映射04.代码生成05.代码整合06.测试下图显示了基于 AUTOSAR 的 ECU SW 的结构。纵观BSW,大体分为三层。三层模块中,与通信相关的模块称为通信…

精确控制 AI 图像生成的破冰方案,ControlNet 和 T2I-Adapter

ControlNet 和 T2I-Adapter 的突破性在哪里?有什么区别?其它为 T2I 扩散模型施加条件引导的相关研究ControlNet 和 T2I-Adapter 的实际应用效果如何?使用体验上,跟 SD原生支持的 img2img 有什么区别?ControlNet 在插画…

运动戴耳机哪种款式比较好、最好用的运动耳机

很多人喜欢运动时听音乐,因为在运动场景中,听歌的节奏与步频匹配的时候,的确是可以起到很好的激励和缓解情绪的作用。认认真真地选择一副适合自己跑步的运动耳机,成了很多跑步爱好者的实际需求,专门为运动打造的耳机也不少!那么,如何挑选一款…

网络信息安全(四)

IIS WEB服务器 服务器配置静态IP 安装WEB服务软件 打开软件 检查80端口是否打开 DNS解析不同域名站点 新建两个网页京东和淘宝 安装DNS组件并创建两个区域 新建主机 XP上指定DNS 正常情况下同一个服务器上一个端口只提供一个服务 添加主机头值 XP验证 IIS FTP服务器 FTP工作模式…

0基础学插画是报班还是自学

学插画0基础是报班还是自学,众所周知,报班一定是提升插画水平的最有效途径,如果有经济能力,建议报班!那么报哪些插画课程班比较靠谱呢?同时给大家梳理了国内最新5大插画班排行榜,各有优势和特色…

解析Java中的class文件

解析class文件需要把class文件当成文件流来处理,定义ClassReader结构体 type ClassReader struct {data []byte }go语言中的reslice语法可以跳过已经读过的数据。 同时定义了ClassFile数据结构来描述class文件的各个部分,该数据结构如下所示&#xff1…

【word】插入mathtype公式,造成前后文本不同行

一、问题描述 在word文本中插入mathtype公式,在默认配置下,会造成前后文本不同行的现象,例如: 二、解决方案 要求1:字符间距位置,设置为“标准”;要求2:段落文本对齐方式&#x…

【原创】java+swing+txt学生学籍管理系统设计与实现

今天我们来介绍如何使用javaswingtxt来开发一个学籍管理系统。对的,你没看错,我们今天不用mysql,我们使用txt这个文本来进行数据存储,主要考察对文件读写的操作。 功能分析: 我们系统不要求做的很复杂,只…

2023从0开始学性能(2) —— 探索性能测试流程之调研需求【持续更新】

性能测试流程 性能测试的流程应该是什么样的呢?打开jmeter/LR ,开启录制然后加个并发数点击运行吗?如果真这么简单,估计现在就没有性能测试这个专职的岗位了。 虽然我们没做过,但是有对学习的热爱和百度搜索的老手艺…