Linux - 进程

进程是程序的执行实例,其信息存储在PCB(进程控制块)中,Linux下表现为task_struct结构体。task_struct包含进程标识符、状态、优先级、程序计数器、内存指针、上下文数据、I/O状态和记账信息等。进程以链表形式存在于内核,可通过/proc查看。线程是调度的基本单位,轻量级且能提高并发性。
摘要由CSDN通过智能技术生成

目录

基本概念

描述进程-PCB

task_struct-PCB的一种

task_ struct内容分类

组织进程

查看进程

进程和线程说明


基本概念

   🎈课本概念:程序的一个执行实例,正在执行的程序等

   🎈内核观点:担当系统分配资源(cpu 时间,内存)的实体。

描述进程-PCB

   🎈进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
   🎈课本上称之为PCB(process control block), Linux操作系统下的PCB是: task_struct

task_struct-PCB的一种

   🎈 在Linux中描述进程的结构体叫做task_struct。
   🎈task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息

task_ struct内容分类

🎈标示符: 描述本进程的唯一标示符,用来区别其他进程。
🎈状态: 任务状态,退出代码,退出信号等。
🎈优先级: 相对于其他进程的优先级。
🎈程序计数器: 程序中即将被执行的下一条指令的地址。
🎈内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
🎈上下文数据: 进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。
🎈I/ O状态信息: 包括显示的I/O请求,分配给进程的I/ O设备和被进程使用的文件列表。
🎈记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。
🎈其他信息

组织进程

🎈可以在内核源代码里找到它。所有运行在系统里的进程都以task_struct链表的形式存在内核里。

查看进程

🎈进程的信息可以通过 /proc 系统文件夹查看

🎈如:要获取PID为1的进程信息,你需要查看 /proc/1 这个文件夹

🎈大多数进程信息同样可以使用top和ps这些用户级工具来获取 

进程和线程说明

🎈通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。

🎈在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位。

🎈而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源。

🎈故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。

🎈当下推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统的一个重要指标。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值