1.进程
运行起来的可执行文件2.线程
进程内部的一个部分,进程包含线程
3.操作系统是如何管理进程的?
1)先描述一个进程,此处的描述其实就是用C语言的结构体,操作系统中描述进程的结构体称为PCB(process control block)进程控制块
2)再组织若干进程,典型的实现就是使用双向链表把每个进程的PCB给串起来
创建进程:县创建出PCB,然后把PCB加到双向链表中
销毁进程:找到链表上的PCB并从链表中删除
查看任务管理器:遍历链表
4.PCB中的属性
pid:进程id,进程的身份标识 内存指针:指明了这个进程要执行的代码/指令在内存的哪里,以及整个进程执行中依赖的数据都在那里
文件描述符表:进程每次打开一个文件,就会在文件描述符表中增加一项。文件描述符表可以视为一个数组,里面的每个元素又是一个结构体对应一个文件的相关信息。
状态:状态描述了当前进程接下来该怎么调度 1)就绪状态:随时可以去CPU上执行 2)阻塞/睡眠状态:暂时不可以去CPU上执行
优先级