冯诺依曼体系结构

159 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 9 天,点击查看活动详情


冯诺依曼体系结构

输入设备,存储器,输出设备,中央处理器(cpu) image.png 存储器:内存 输入设备(产生数据):键盘,摄像头,话筒,磁盘,网卡…… 输出设备(保存或者显示数据):显示器,音响,磁盘,网卡 cpu:

  1. 运算器:算数运算,逻辑运算
  2. 控制器:cpu是可以响应外部事件的,协调外部就绪事件

cpu读取数据(数据+代码),都是要从内存中读取。站在数据的角度,我们认为cpu不和外设直接交互;cpu要处理数据,需要先将外设中的数据,加载到内存。站在数据的角度,外设直接只和内存打交道。 管理是对管理对象的数据的管理 管理:先描述,再组织

什么是进程

我们从实现的角度来看: 进程是一种数据结构,用描述程序运行的状态和系统变化的状态。

描述进程——PCB

PCB英文名字process control block,叫做进程控制块。它是进程存在的唯一标识。 对于linux的PCB就是task_struct。那么task_struct里面有什么呢? 它里面包含:

  1. 表示符:描述本进程的唯一标示符,用来区别其他进程
  2. 状态:任务状态,退出代码,退出信号等
  3. 优先级:相当于其他进程的优先级
  4. 程序计数器:程序中即将被执行的下一条指令的地址
  5. 内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
  6. 上下文数据:进程执行时处理器的寄存器中的数据。
  7. I/O状态信息:包括显示的I/O请求,分配给进程的I/O设备和被进程使用的问卷列表。
  8. 其他信息

查看进程

/proc cwd的意思是当前进程的工作目录 每一个进程都会有一个属性,来保存自己所在的工作路径

ps命令

ps axj | grep myproc 下面这个是带上头部的 ps axj | head -1 && ps axj | grep myproc 不显示grep ps axj | head -1 && ps axj | grep myproc | grep -v grep 循环监控1秒 while : ;do ps axj | head -1 && ps axj | grep myproc | grep -v grep; sleep 1;done 加上一些分割符 while : ;do ps axj | head -1 && ps axj | grep myproc | grep -v grep;echo "####" ;sleep 1;done ps -l显示当前登录状态下的进程,ps -al详细显示

top命令

知道就行