进程概念:
1.冯诺依曼体系结构
2.操作系统概念
3.进程概念
内核怎么描述进程(task_struct),创建子进程,写时拷贝,进程虚拟地址空间
冯诺依曼体系结构
第一个思想:
所有的数据在内存中存储的时候,采用2进制的方式进行存储
中央处理器的数据来源于存储器
《深入理解计算机系统》:(cpu <-- 寄存器 <— 缓存 <— 内存)
操作系统:
1.操作系统本身就是一个软件,管理计算机的软硬件资源;
2.操作系统 = 操作系统内核 + 一组应用
用户调用库函数或者系统调用交给操作系统内核,操作系统内核操纵驱动程序或者硬件资源
管理 = 描述 + 组织
进程概念:
操作系统是通过结构体(task_struct)来描述进程,通过双向链表来组织进程
1.进程和程序的区别
程序:程序就是一个文本文件,静态的
进程:程序运行起来的一个实例
从内核当中分析:
在操作系统内核当中,为一个进程创建了一个struct task_struct的结构体,或者称之为进程控制块(ProcessCtrlBlock)–>简称(PCB)
2.了解task_struct结构体的内容
struct task_struct
{
进程标识符(PID):在当前操作系统当中唯一标识当前进程
内存指针:指向程序的地址空间
}
拓展三个命令:
ps aux:查看当前操作系统当中进程的信息
ps aux | grep “xxx”:在ps aux的结果当中过滤字符串“xxx”
find:在操作系统中查找一个文件
find[path] -name [filename]
/usr/src/kernels/3.10.0-957.el7.x86_64/include/linux/sched.h
拓展:
在vim中查找一个字符串
/s
4核8C:4个物理cpu,8个逻辑cpu
struct task_struct:
进程标识符(PID):别名进程号,在当前操作系统当中不会重复
内存指针:指向程序的地址空间
进程状态:
运行状态:正在cpu上面进行运算
就绪状态:程序已经准备好,在就绪队列当中等待获取cpu资源
阻塞状态:等待IO就绪(可执行程序需要等待输入设备提供数据)
并发执行(可执行程序1和2):多个程序使用同一个cpu,每个进程都独占cpu一小会,然后让出cpu资源,供其他进程执行
并行执行(可执行程序1和3或者2和3):多个进程,在同一时刻,每个进程都占用一个cpu进行运算
具体的进程状态:
R:运