【Linux】linux进程概念(冯洛伊曼体系、操作系统、进程详解)

【Linux】linux进程概念(冯洛伊曼体系、操作系统、进程详解)

本文是小编巩固自身而作,如有错误,欢迎指出!

目录

一、冯洛伊曼体系结构

二、操作系统(Operator System)

操作系统的概念

设计os的目的

os核心功能

三、进程

进程的基本概念

进程的核心特征

1. 独立性

2. 动态性

3. 并发性

进程控制块——PCB

PCB核心作用

task_struct

task_struct 里存了什么?

总结


一、冯洛伊曼体系结构

我们常⻅的计算机,如笔记本。我们不常⻅的计算机,如服务器,⼤部分都遵守冯诺依曼体系

存储器:指的是内存,在冯诺依曼体系结构中处于核心地位,是硬件级别的缓存空间输入设备:鼠标,键盘,摄像头,话筒,磁盘,网卡……输出设备:显示器,播放器硬件,磁盘,网卡……运算器:对我们的数据进行计算任务(算数运算,逻辑运算)控制器:对我们计算机硬件流程进行一定的控制

而我们平时所熟知的cpu,就是运算器和控制器的结合

关于冯诺依曼,必须强调⼏点:

• 这里的存储器指的是内存

• 不考虑缓存情况,这⾥的CPU能且只能对内存进⾏读写,不能访问外设(输⼊或输出设备)

• 外设(输⼊或输出设备)要输⼊或者输出数据,也只能写⼊内存或者从内存中读取。

• ⼀句话,所有设备都只能直接和内存打交道。

二、操作系统(Operator System)

操作系统的概念

任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。就比如我们常见的ios,

centos,cloros等等。

笼统的理解,操作系统包括:

• 内核(进程管理,内存管理,⽂件管理,驱动管理)

• 其他程序(例如函数库,shell程序等等)

设计os的目的

• 对下,与硬件交互,管理所有的软硬件资源

• 对上,为⽤⼾程序(应⽤程序)提供⼀个良好的执⾏环境

os核心功能

在整个计算机软硬件架构中,操作系统的定位是:⼀款纯正的“搞管理”的软件。

总的来说操作系统就像一个管理层,就好像大学中的领导、校长,他只需要获取信息进行管理、下达指令、比如默某同学挂科,管理层得到消息,并不会直接联系某同学,通知你的导员与你进行交流,而导员在其中就充当一个“驱动程序”的功能,而我们则更类似于底层硬件。

三、进程

进程的基本概念

通俗来讲:一个已经加载到内存中的程序叫做进程(任务),正在运行的程序叫做进程
细致来讲:进程是由内核PCB(process control block)数据结构对象加上你自己的代码和数据构成
通俗比喻程序 = 菜谱(静态的文本 / 代码,存在硬盘里,不会自己动)进程 = 厨师按照菜谱做菜的全过程(动态的、占用资源、有生命周期)一个菜谱(程序)可以被多个厨师同时做(多个进程),比如你开两个微信窗口,就是两个微信进程。

进程的核心特征

1. 独立性

每个进程都有自己独立的内存空间、CPU 时间片、系统资源(比如文件句柄、网络端口),一个进程崩溃不会影响其他进程(比如浏览器崩溃,微信还能正常用)。

2. 动态性

进程有完整的生命周期:

  • 就绪:进程准备好了,就等 CPU 分配时间片
  • 运行:CPU 正在执行该进程的代码
  • 阻塞:进程在等外部资源(比如读文件、网络请求),暂时让出 CPU
3. 并发性

操作系统通过 “时间片轮转” 让多个进程 “同时” 运行(比如你一边听歌,一边写代码,一边聊微信)——CPU 快速切换不同进程,人类感知不到停顿,看起来像并行。

进程控制块——PCB

一句话来解释

pcb就是操作系统用来描述、管理、记住一个进程的 “档案本”。

进程 = 一个人PCB = 这个人的身份证 + 档案 + 病历 + 状态记录

PCB核心作用

进程切换靠的就是 PCB

进程 A 跑一半,CPU 要切去跑进程 B操作系统把 A 的寄存器、PC、状态存到 A 的 PCBB 的 PCB 里的内容恢复到 CPU 寄存器继续跑 B

没有 PCB,操作系统就无法实现多任务。

task_struct

task_struct:Linux 内核里的「进程身份证 + 档案本」

task_struct 是 Linux 内核中对 PCB(进程控制块) 的具体实现 —— 简单说,PCB 是「进程控制块」的通用概念,而 task_struct 就是 Linux 内核里实实在在存放进程所有信息的结构体,是 Linux 系统中进程存在的唯一标志.

task_struct 里存了什么?

task_struct 是个超大结构体,内核源码里定义在 include/linux/sched.h 中,核心字段可以分为 6 类,

总结

  1. task_struct 是 Linux 内核中 PCB 的具体实现,是进程的 “完整档案”;
  2. 核心作用是存储进程的 ID、状态、优先级、内存、资源等所有管理信息;
  3. Linux 内核通过 task_struct 链表管理所有进程,进程切换 / 调度都依赖它。

本次分享就到这里结束,后续会继续更新,感谢阅读!

Read more

涛哥聊Python | 程序员必看:Codex 和 Claude Code 实战对比,差别比你想的更大!

本文来源公众号“涛哥聊Python”,仅用于学术分享,侵权删,干货满满。 原文链接:https://mp.weixin.qq.com/s/NPzwT-5_qt9ncWxYaaQpYg 程序开发,往往不只是思考逻辑,更多时间消耗在那些重复又琐碎的环节,接口需要写一堆模板代码,参数的小改动要牵连多个文件,修个 bug 还得来回补测试,这些工作不难,但却很耗时。 正因为如此,AI 编程助手逐渐进入开发者的日常,它们虽然不能完全替代人类思考,却能帮我们把重复的部分自动化。 在众多工具中,Codex 和 Claude Code 是讨论度最高的两个,一个专注于把自然语言快速翻译成代码,另一个则成为项目里的智能合作者,这两个工具的功能定位不相同,开发者可以根据自己的需求来选择最合适的助手。 Codex:从“人话”到“代码”的翻译官 Codex 的设计思路很直接:把自然语言转化为代码,只要用一句需求,它就能生成相应的实现,

By Ne0inhk
Ubuntu系统下Python连接国产KingbaseES数据库实现增删改查

Ubuntu系统下Python连接国产KingbaseES数据库实现增删改查

摘要:本文将介绍Ubuntu系统下如何使用Python连接国产金仓数据库KingbaseES,并实现基本的增删改查操作。文中将通过具体代码示例展示连接数据库、执行SQL语句以及处理结果的全过程。这里把Python连接KingbaseES的经验整理一下,希望能帮到同样踩坑的兄弟。 目录 1.环境准备与驱动安装 1.1 科普ksycopg2知识 1.2 官方下载ksycopg2驱动 1.3 安装ksycopg2驱动 2. 连接KingbaseES数据库 3. 创建数据表 4. 实现增删改查功能 4.1 新增 4.2 查询 4.3 修改 4.4 删除 4.5 封装一个类crud方便复用 5.总结 1.环境准备与驱动安装 KingbaseES提供了专门的Python驱动包ksycopg2,它是基于Python DB API 2.0规范实现的线程安全数据库适配器!

By Ne0inhk

WindowsCleaner v5.0:一款功能强大的Python桌面磁盘清理工具

WindowsCleaner v5.0:一款功能强大的Python桌面磁盘清理工具 作者:孤客 日期:2026年 标签:Python、Tkinter、系统优化、磁盘清理、桌面应用 🎯 项目简介 WindowsCleaner v5.0是一款基于Python Tkinter开发的Windows系统优化工具,具备专业的磁盘清理、系统优化和管理功能。该工具不仅界面美观,还支持多主题切换、多语言支持和动漫风格UI,为用户提供全方位的系统维护体验。 ✨ 核心特性 1. 🎨 现代化的用户界面 * 三套主题皮肤:日光模式、黑暗模式、冬季主题 * 动漫风格字体:使用Segoe UI Emoji字体,界面更加生动有趣 * 响应式布局:自适应窗口大小,提供更好的用户体验 2. 🔧 强大的系统清理功能 * 垃圾文件扫描:智能识别临时文件、缓存文件、日志文件 * 注册表清理:检测和清理无效的注册表项(需要管理员权限) * 启动项管理:

By Ne0inhk
Python爬虫(54)Python数据治理全攻略:从爬虫清洗到NLP情感分析的实战演进

Python爬虫(54)Python数据治理全攻略:从爬虫清洗到NLP情感分析的实战演进

目录 * 引言:数据价值炼金术的三大挑战 * 一、项目背景:某跨境电商平台评论治理需求 * 二、智能爬虫系统架构设计 * 2.1 分布式爬虫实现 * 2.2 原始数据质量探查 * 三、Pandas数据清洗进阶实践 * 3.1 复合去重策略 * 3.1.1 精确去重增强版 * 3.1.2 语义去重深度优化 * 3.2 智能缺失值处理 * 3.2.1 数值型字段混合填充 * 3.2.2 文本型字段深度填充 * 四、Great Expectations数据质量验证体系 * 4.1 高级验证规则配置 * 4.2 自动化验证工作流 * 五、NLP情感分析深度集成 * 5.

By Ne0inhk