文章目录
- 一、冯诺依曼体系结构:
- 1.基本概念:
- 2.为什么如此设计:
- 2.1.运行速度优化:
- 2.2.成本:
- 3.总结:
- 二、操作系统:
- 1.基本概念:
- 2.操作系统的作用:
- 3.什么是管理:
- 三、进程:
- 1.基本概念:
- 2.进程的管理:
- 3.PCB—进程描述:
- 总结
一、冯诺依曼体系结构:
1.基本概念:
我们常见的计算机设备大都遵循冯诺依曼体系结构。
- 存储器:内存 输入设备:磁盘、网卡、键盘、话筒、摄像头…
- 输出设备:磁盘、网卡、显示器、音响…
- 中央处理器:CPU
- 运算器:算数运算、逻辑运算
- 控制器:CPU响应外部事件,协调外部就绪事件,比如,拷贝数据到内存。
2.为什么如此设计:
2.1.运行速度优化:
CPU&&寄存器 > 内存 > 磁盘 > 光盘 > 磁带
根据木桶原理,一只水桶能装多少水取决于它最短的那块木板。
如果直接让CPU和磁盘等交互,两者的运行速度差太多
内存的加入,使得内存和CPU,内存和外设之间运行速度数量级降低,再通过软件的优化,可以提前将数据加载到内存中,使得运行速度大大提高。
2.2.成本:
如果把磁盘全部换成内存,运行效率会大大提高,但是成本无疑是很高的,且磁盘这种磁性设备断电之后依然可以存储数据,内存是做不到的,所以冯诺依曼体系结构的设计在提高效率的基础上也降低了成本。
3.总结:
- CPU读取数据(数据+代码),都是从内存中读取,处理完后再写入到内存当中。
- CPU要处理数据,必须先将外设中的数据加载到内存,CPU只和内存打交道。
二、操作系统:
1.基本概念:
操作系统是进行软硬件资源管理的软件。
- 内核(进程管理,内存管理,文件管理,驱动管理)
- 其他程序(例如函数库, shell程序等等)
2.操作系统的作用:
- 对上:给用户减少使用成本,为用户提供良好的使用环境。
- 对下:与硬件交互->管理好软硬件资源。保证系统的稳定环境。
3.什么是管理:
在整个计算机软硬件架构中,操作系统的定位是: 一款纯正的“搞管理”的软件。那操作系统是如何管理的呢?
在现实生活中,管理者和被管理者不一定要直接交互:
例如:校长通过辅导员和班主任来对学生进行管理。
管理者通过执行者来拿到被管理者的信息,再通过“先描述,再组织”来进行管理决策。即通过一系列的数据结构来进行描述组织。
例如:编写一个学生成绩排名的算法:
可以把对象组织为结构体数组:这样对学生的管理工作,就变成对数组的增删查改。
三、进程:
当我们启动了一个软件,实际上就是启动了一个进程。
在linux下,./xxx运行的时候,其实就是在系统层面创建了一个进程。
1.基本概念:
- 正在运行的程序称之为进程。
- Linux是可以同时存在大量的进程在系统中。
- Linux操作系统要不要管理这些进程呢?必须要!
- 怎么管理这些进程的呢?答案是:先描述再组织
2.进程的管理:
人认识各种事物,就是通过“属性”来认识的。
通过“先描述再组织”,进程=对应代码和数据+进程对应的PCB结构体!
struct PCB
{//进程所有的属性数据struct PCB *next;struct PCB *prev;
}
3.PCB—进程描述:
- 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
- 课本上称之为PCB(process control block), Linux操作系统下的PCB是: task_struct。
task_ struct内容分类:
- 标示符: 描述本进程的唯一标示符,用来区别其他进程。
- 状态: 任务状态,退出代码,退出信号等。
- 优先级: 相对于其他进程的优先级。
- 程序计数器: 程序中即将被执行的下一条指令的地址。
- 内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
- 上下文数据: 进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。
- I/ O状态信息: 包括显示的I/O请求,分配给进程的I/ O设备和被进程使用的文件列表。
- 记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。
- 其他信息
总结
以上就是今天讲的Linux进程的相关内容了,包含冯诺依曼体系结构、操作系统、进程的基本概念,希望对刚刚阅读本篇博客的你有所帮助!