Linux/Unix 系统基础 -- 程序和进程

本文介绍了程序的基本概念,包括其定义及执行原理,并深入探讨了进程与进程ID的概念,以及进程控制的基本函数,如fork、exec和waitpid。此外,还讨论了线程的概念及其在多处理器系统中的应用。

程序

程序是一个可执行文件,它被存储在硬盘上,运行时被调入内存。

 

进程与进程ID

程序的执行实例叫做进程。有些操作系统称为任务。Unix保证每个进程都有一个唯一的数字标识符,称为进程ID,这个数字是非负的。

 

进程控制

三个基本的进程控制函数:fork,exec,waitpid

 

线程和线程ID

默认情况下,一个进程只有一个线程,然而一些问题需要多线程才能解决,每个线程处理问题的一部分,另外,多线程控制能再多处理器系统中更好的解决并行问题。

一个进程中所有的线程共享同样的地址空间、文件描述符、栈和进程相关的属性。由于它们能够访问相同的内存,线程要同步访问资源的同时还要避免冲突。

进程和线程都要用ID标识,线程的ID相对于所属进程,进程A中的一个线程ID在进程B中毫无意义,我们用线程ID标志一个进程中的线程,在这个线程刚刚生成时就被分配一个ID。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值