[机缘参悟-96] :软件中到处充满了人类社会的气息!
解读操作系统有感:
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资源):如何管理上述资源呢?于是就有了操作系统的调度程序!
相关文章:
[机缘参悟-96] :软件中到处充满了人类社会的气息!
解读操作系统有感:CPU对于CPU内核而言,调度程序是程序,应用程序也是程序,在它眼里是一样的、公平看待的,因此某种愿意上讲,CPU内核本身就是“上天”,就是“道”,道德经中讲“天地不仁…...
知识点滴 - 自行车分类
旅行车 旅行自行车(Touring bicycle)由公路自行车发展而来,适合超远程自给自足的旅行,有较舒适放松的车架几何设计,能够负重,有很低的最低档位,配件选择方面追求可靠耐用。 专业的长途旅行车均以…...
【建议收藏】Jenkins+postman+newman之API全自动化测试
1 背景 本文要介绍的环境在我司已经投入使用,举个简单的真实使用场景,开发提供了300多个API,每个API都有各种参数,所以我们会先在postman中为这300多个API编写300*n个testcase,然后在jenkins上跑;到此有人…...
MySQL数据库————MVCC
MySQL的脏读、幻读、不可重复读 脏读 现在有两个事务在操作table表,事务B修改了id2的name字段为李老四,但是没有提交,事务A查询id2的数据,得到name为李老四;事务B发生回滚,id2的数据的name又变回李四&…...
为啥Python多线程爬虫跑的慢?
单线程和多线程进行数据抓取结果还是大有不同的,但是要值得注意的事,如果多线程没调配好可能连单线程的效率都比不上。本次就和大家一起聊一聊单线程多线程的一些需要注意的事项。 知识点 线程(Thread)也叫轻量级进程࿰…...
万字长文解析!复现和使用GPT-3/ChatGPT,你所应该知道的
关于作者 英文原版作者:杨靖锋,现任亚马逊科学家,本科毕业于北大,硕士毕业于佐治亚理工学院,师从 Stanford 杨笛一教授。 杨昊桐 译,王骁 修订 感谢靳弘业对第一版稿件的建议,感谢陈三星&am…...
Kaldi语音识别技术(八) ----- 整合HCLG
Kaldi语音识别技术(八) ----- 整合HCLG 文章目录Kaldi语音识别技术(八) ----- 整合HCLGHCLG 概述组合LG.fst可视化 LG.fst组合CLG.fst可视化CLG.fst生成H.fst组合HCLG.fst生成HaCLG.fst生成HCLG.fstHCLG 概述 HCLG min(det(H o min(det(C o min(det(L o G))))) 将…...
day17_异常
今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、异常 三、自定义异常 零、 复习昨日 见晨考 一、作业 package com.qf.homework;import java.text.ParseException; import java.text.Simpl…...
vue中把node-sass换成dart-sass方式(解决办法)
目录 一、替换原因 二、art-sass和node-sass的区别 三、替换方法 一、替换原因 因为node-sass和node.js版本关联太紧了,如果这两个版本不匹配,就会起冲突,导致项目无法运行。 ps:值得一提的是node版本和要运行的项目使用的依…...
深入浅出深度学习Pytroch
本文将以通俗易懂的方式,深入浅出地为您揭开深度学习模型构建与训练的面纱: 深度学习数据data模型model损失函数loss优化optimizer可视化visualizer深度学习 数据data 模型model 损失函数loss 优化optimizer 可视化visualizer深度学习数据data模型m…...
CCNP350-401学习笔记(451-500题)
451、what is the function of the LISP map resolver? A. to send traffic to non-LISP sites when connected to a service provider that does not accept nonroutable EIDs as packet sources B. to connect a site to the LISP-capabie part of a core network, publish …...
3年功能测试经验,面试想拿到15k很难吗?
一直觉得经验多,无论在哪都能找到满意的工作,但是现实却是给我打了一个大巴掌!事后也不会给糖的那种... 个人情况 大概介绍一下个人情况,男,本科,三年多测试工作经验,一毕业因为不成熟的经验以…...
【7/101】101次面试之测试技术面试题
01、什么是兼容性测试?兼容性测试侧重哪些方面?答:兼容性测试是一种软件测试类型,它的主要目的是确保一个应用程序在不同的操作系统、不同的浏览器、不同的设备、不同的网络环境等各种环境下能够正常运行,并且不会产生…...
【蓝桥杯每日一题】前缀和算法
🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙我与杀戮之中绽放,亦如黎明的花…...
【C#基础】C# 常用数据结构
序号系列文章4【C#基础】C# 变量和常量的使用5【C#基础】C# 运算符总结6【C#基础】C# 常用语句讲解文章目录前言数据结构的概念1,数组 (Array)1.1,声明并初始化赋值1.2,访问数组元素1.3,Array 类的使用2&am…...
MySql 及MyBatis数据的批量操作
1、Mybatis操作 1、批量更新 <update id"updateCtcc" parameterType"java.util.List">update ctcc set scan1 where id in<foreach collection"list" item"item" index"index" open"(" close")&qu…...
无代码表格数据库——一个企业数字化新物种
商业活动的“非标”地带在现实商业活动中存在大量未被明确界定、规范和标准化的灰色地带,它们不像电信、金融、财会、证券经纪、保险、建筑设计、工程造价等具有高度专业性的业务板块一样有强制的行业标准、规范甚至从业资格证书加持,下文统称其为非标业…...
第十三届蓝桥杯国赛 C++ C组 F 题、Python B组 E 题——近似GCD(AC)
目录1.近似GCD1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.Ac_code1.C2.Python1.近似GCD 1.题目描述 小蓝有一个长度为 nnn 的数组 A(a1,a2,⋯,an)A\left(a_{1}, a_{2}, \cdots, a_{n}\right)A(a1,a2,⋯,an), 数组的子数组被定…...
分享5款小众良心软件,好用到让人惊艳
目前win7渐渐退出视野,大部分人都开始使用win10了,笔者在日常的工作和使用中,为了能够让效率的大提升,下载了不少软件,以下的软件都是个人认为装机必备,而且都是可以免费下载,且没有插件的。 1…...
WAF是什么?一篇文章带你全面了解WAF
WAF是什么?一篇文章带你全面了解WAF 文章目录WAF是什么?一篇文章带你全面了解WAFWAF是什么?一、WAF的工作原理二、WAF的分类三、WAF的特点四、如何选择和部署WAFWAF是什么? Web应用程序防火墙(Web Application Firewa…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
