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

相关推荐
python_DONG12 小时前
旧电脑系统无损迁移至新电脑、硬盘系统克隆完整教程
电脑
Chess_Chen12 小时前
电脑启动时报 0xc000000e —— 原因解析与多种修复策略
电脑
AORO202512 小时前
遨游科普:三防平板是指哪三防?有哪些应用场景?
大数据·网络·5g·智能手机·电脑·信息与通信
hszmoran1 天前
电脑关机重启时显示rundll32 内存不能为read解决方法
电脑·nvidia·驱动
黑科技在线1 天前
怎么看电脑显卡什么型号?显卡配置方法查看指南
电脑·电脑显卡·电脑显卡配置查看
电脑小白技术1 天前
国产电脑可以装windows吗_国产电脑安装windows要求及方法
windows·电脑·国产电脑装windows·国产电脑系统改windows
Digitally1 天前
5 种无需 iTunes 将 iPad 照片传输到电脑的方法
ios·电脑·ipad
Digitally1 天前
如何将iPhone上的笔记传输到电脑
笔记·电脑·iphone
黑科技在线2 天前
电脑鼠标dpi是什么意思?实用设置教程分享
电脑·鼠标·鼠标dpi