操作系统整体理解(进程,冯诺依曼系统,PCB)

1.冯诺依曼体系结构

笔记本电脑,服务器等等大多数计算机都遵循冯诺依曼体系结构,如下图所示:

1.1计算机硬件的一些概念

外设:输入设备+输出设备

输入设备:包括键盘,话筒,摄像头扫描仪等

输出设备:显示器,打印机,网卡,磁盘等

中央处理器(CPU):运算器+控制器

内存:是存储器的一部分,在后续的分析中,我把存储器当内存看待

外存:以磁盘为代表的外部设备

1.2要明确的结论

1.任何程序,运行的时候都必须从磁盘加载到内存。这是由体系结构决定的。因为****CPU在数据层面,不会与外设直接打交道,只会和内存进行交互。

二进制程序【代码+数据】=》文件=》在磁盘上存储=》外设

2.为什么要有内存?

如果没有内存,让CPU与外设之间直接交互,那么速度会非常慢

内存是CPU和外设之间的一个巨大的缓存,使整个计算机的运算速度由内存决定而非外设决定。

(从下图可以发现,寄存器虽然速度快但是非常贵;而内存正好效率适中,价格适中,所以用内存链接外设和CPU)

1.3数据流动过程

当数据在计算机内部流转的时候,本质是在不同的设备间进行拷贝的过程。设备的拷贝效率本质就是计算机的效率。(在聊天过程中,网卡是最先拿到数据的=》转移到内存当中......)

2.操作系统OS(operator system)

OS本质:是一款对软硬件进行资源管理的软件。

2.1设计os的目的

大大降低用户使用计算机的门槛

  • 对上给用户提供一个稳定的,离散的,安全的运行环境
  • 对下(包括自己这一层)进行软硬件资源的管理,保证所有的资源是稳定的,安全的,高效的,能进行良好工作的。

2.2核心功能:管理(先描述,再组织)

2.2.1对硬件:(即操作系统对驱动程序和底层硬件的管理)

在这里我们可以用一个生活中的例子来表述这种关系:操作系统是校长,驱动程序是辅导员,底层硬件是学生,校长要管理学生需要通过辅导员(同理,操作系统要管理底层硬件需要驱动程序 ),辅导员起到一个承上启下的作用,校长发布命令后,辅导员对下层执行 决策工作,对上层执行获取 数据工作(同理驱动程序也是对上获取决策对下执行决策)。因为学生太多了,所以校长对学生的管理需要将学生信息组织起来,即校长可以设计一种叫学生的对象,在struct结构体中分别把每个学生的属性写进去,形成一个链表,从此校长只需要对该链表进行"增删改查"操作即可(同理,操作系统管理硬件也是先用struct结构体描述起来,再用链表或者其他的高效的数据结构组织起来

所以,"先描述再组织"的管理原则也体现了面向对象(提供组织能力)和标准库(提供描述方法)的不可或缺。

2.2.2对软件(即操作系统对系统调用接口和用户操作接口的管理)

举一个生活中的例子可以是银行系统,银行系统需要维护自身安全,所以把钱都封闭 起来;同事需要提供服务,所以需要开放窗口 。(同理,操作系统也是,操作系统不相信任何用户,所以将自己封闭起来,程序员所写的程序无法直接向硬件写入,必须要通过操作系统;操作系统也会向上提供开放接口即system call,该接口只能是C语言接口,这也是所有软件的底层都直接或间接与C相关

3.进程

3.1概念及基本操作

定义:程序的一个执行实例,正在进行的程序等。

从内核来看:进程是分配系统资源(CPU时间,内存)的实体。

(进程=内核数据结构(task_struct)+程序的代码和数据)

3.2进程程序-PCB(process control block)

PCB:进程控制块,存放进程属性,Linux下的PCB是task_struct

复制代码
struct task_struct
{
    内存指针:指向内存中自己的数据信息
    指针2:将操作系统中每个PCB链接起来
}

图中没有描述与CPU的联系:

1.操作系统中的进程调度器根据优先级,调度算法等从就绪队列中选中该进程。

2.调度器将CPU分配给该进程

3.CPU根据PCB中存储的内容(程序计数器指向的地址),从内存中读取.myexe的指令,执行

4.执行过程中,PCB动态更新

运行起来的程序会根据task_struct属性,被os调度器调度使用。

为什么要有PCB:

因为OS要控制进程,PCB是在描述进程,多个PCB组成任务列表是在组织进程,方便OS操作。


进程后续会继续更新,fighting~!

相关推荐
缝艺智研社10 小时前
誉财 YC - 21 平板下摆机:服装下摆与袖口加工的卓越之选
大数据·人工智能·自动化·电脑·新人首发·线上模板机
ACP广源盛139246256731 天前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
humors2211 天前
不同厂商电脑检测工具汇总
电脑·硬件·笔记本·检测·二手·正品·原件
舟遥遥娓飘飘1 天前
Nexus4CC 手机电脑同步claude code对话部署教程(基于linux系统)
linux·智能手机·电脑
开开心心就好1 天前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
humors2212 天前
电脑厂商旧机处理网址合集(不定期更新)
电脑·笔记本·处理·回收·以旧换新·二手·买卖
humors2212 天前
不同品牌电脑进入 BIOS 及启动菜单的快捷键
电脑·快捷键·启动·笔记本
zB6822HbX2 天前
Ledger设备连接不上电脑?秘语盾排查指南
电脑
humors2212 天前
家庭电脑从选购、安装、维护到回收全流程
电脑·安装·笔记本·回收·维护·选购·购买
humors2212 天前
硬件(处理器/显卡)大比拼(不定期更新)
电脑·cpu·gpu·显卡·笔记本·处理器·比较