1.计算机管理硬件 (先描述,在组织)
1)描述起来,用struct结构体
2)组织起来,有链表或其他高效的数据结构
2.进程
程序的一个执行实例或正在执行的程序等被称作进程,在内核中,进程是担当分配系统资源(CPU时间、内存)的实体
1)描述进程-PCB
进程信息被放在一个叫做进程控制块(process control block)的数据结构中,可以理解为进程属性的集合。Linux操作系统下的PCB是:task_struct
2)task_struct的内容分类
- 标识符:描述本进程的唯一标识符,用来区别其他进程。
- 状态:任务状态,退出代码,退出信号等。
- 优先级:相对于其他进程的优先级。
- 程序计数器:程序中即将被执行的下一条指令的地址。
- 内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针。
- 上下文数据:进程执行时处理器的寄存器中的数据。硬件上下文数据。
- I/O状态信息:包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。
- 记账信息:可能包括处理时间总和,使用的时钟时间总,时间限制,记账号等。
3.进程状态
- R运行状态(running):并不意味着进程一定在运行中,它表明进程要么是在运行中要么在运行队列里。
- S睡眠状态(sleeping):意味着进程在等待事件完成(可中断睡眠)。
- D磁盘休眠状态(Disksleep):在这个状态的进程通常会等待IO的结束(不可中断睡眠状态)。
- T停止状态(stopped): 可以通过发送 SIGSTOP 信号给进程来停止(T)进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。
- X死亡状态(dead):这个状态只是一个返回状态,你不会在任务列表里看到这个。
- 僵死状态(Zombies)是一个比较特殊的状态。当进程退出并且父进程没有读取到子进程退出的返回代码时就会产生僵死状态。
4.进程优先级
cpu资源分配的先后顺序,就是指进程的优先权(priority)。优先权高的进程有优先执行权利。
1)查看系统进程
ps -l
- UID : 执行者的身份
- PID : 这个进程的代号
- PPID :父进程的代号
- PRI :这个进程可被执行的优先级,其值越小越早被执行
- NI :这个进程的nice值
2)用top命令更改已存在进程的nice:
进入top后按“r”–>输入进程PID–>输入nice值
3)其他概念
- 竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级
- 独立性: 多进程运行,需要独享各种资源,多进程运行期间互不干扰
- 并行: 多个进程在多个CPU下分别,同时进行运行,这称之为并行
- 并发: 多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程都得以推进,称之为并发
进程管理精要
24万+

被折叠的 条评论
为什么被折叠?



