操作系统整体理解(进程,冯诺依曼系统,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~!

相关推荐
2501_916589451 天前
永久免费的win系统垃圾清理软件 释放磁盘空间
电脑·软件工程·开源软件
2501_913981781 天前
2025常见平板定向天线模组技术方案与应用指南解析
电脑·平板定向天线
l3538o675731 天前
国产POE降压恒压芯片方案选型:48v-52v输入转5v-12v/1-3A电源芯片
人工智能·科技·单片机·嵌入式硬件·电脑·智能家居
香蕉ai大玩家1 天前
电脑出现无法定位程序输入点kernel32.dll这个情况要怎么解决?4种方法教你快速修复
电脑
Wpa.wk1 天前
硬件环境配置-两台电脑进行局域网构建
物联网·microsoft·电脑·信息与通信·局域网构建
MAR-Sky1 天前
电脑装机有关的常见词汇和装机问题简单记录 1
电脑·电脑系统
Minecraft红客1 天前
C++制作迷宫第一版
c++·游戏·电脑·娱乐
专业开发者2 天前
未来何以蔚蓝
电脑
yy我不解释2 天前
关于电脑支不支持5Gwifi、无法找到5Gwifi、5Gwifi没有网络的配置问题
网络·5g·电脑
小新软件园3 天前
图片转 Excel 不花钱PDF 转 Excel 工具
windows·电脑·开源软件