Linux——进程概念

1.冯诺依曼体系结构

现代计算机的硬件体系结构:(包含五大硬件单元)
1.输入设备:采集收据,包括键盘, 鼠标,扫描仪, 写板等
2.输出设备:进行数据输出,比如显示器,打印机
3.存储器(内存):进行中间数据缓冲
4.运算器:进行数据运算
5.控制器:进行设备控制
(运算器+控制器=CPU中央处理器)
所有设备都是围绕存储器工作的,外设(输入或输出设备)要输入或者输出数据,只能写入内存或者从内存中读取。

2.操作系统(Operator System)

概念
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。
操作系统包括:
1.内核(进程管理,内存管理,文件管理,驱动管理)
2.其他程序(例如函数库,shell程序等等)
设计操作系统OS的目的
1.与硬件交互,管理所有的软硬件资源
2.为用户程序(应用程序)提供一个良好的执行环境。
用户不能直接访问系统内核(危险太高)操作系统会向外提供访问内核的接口,每个接口完成的功能都是固定的,然后系统再调用接口。
库函数与系统调用接口的关系:库函数封装了系统调用接口。

3.进程概念

基本概念:程序的一个执行实例,正在执行的程序…
内核观点:担当分配系统资源(CPU时间,内存)的实体。

描述进程-PCB:对操作系统来说,进程就是PCB,是一个程序运行的动态描述,通过PCB,才能实现程序的运行调度管理。
在Linux中描述进程的结构体叫做task_struct。
task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。
组织进程
可以在内核源代码里找到它。所有运行在系统里的进程都以task_struct链表的形式存在内核里。
查看进程
进程的信息可以通过 /proc 系统文件夹查看
进程状态
R运行状态(running): 并不意味着进程一定在运行中,它表明进程要么是在运行中要么在运行队列里。
S睡眠状态(sleeping): 意味着进程在等待事件完成(这里的睡眠有时候也叫做可中断睡眠)
D磁盘休眠状态(Disk sleep)有时候也叫不可中断睡眠状态(uninterruptible sleep),在这个状态的进程通常会等待IO的结束。
T停止状态(stopped):可以通过发送 SIGSTOP 信号给进程来停止(T)进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。
X死亡状态(dead):这个状态只是一个返回状态,你不会在任务列表里看到这个状态。
进程状态查看
ps aux / ps axj 命令

可中断休眠状态:可以被打断的休眠状态,被打断后然后进入运行状态,也可以满足条件后自动退出休眠状态。
不可中断休眠状态:只能在满足条件后退出休眠进入运行状态,不会被一些中断打断休眠状态。

猜你喜欢

转载自blog.csdn.net/WEIYANGBIN/article/details/110343961