Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1740757
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: 系统运维

2012-03-27 17:27:30

程序(program)是一个在硬盘(disk)上某个目录里的一个可执行(executable)文件。内核把程序读入内存然后执行,通过使用6个exec函数中的一个。


进程和进程号(process and process ID):程序的一个正在执行的实例(instance)被称为一个进程,有些操作系统用术语任务(task)来描述一个正被执行的程序。UNIX系统保证 所有的进程都有一个独一无二的数字ID:进程号,它总是一个非负整型。


进程控制(process control):有三个主要的进程控制函数:fork、exec和waitpid。exec函数有6个变种,但我们通常简单统称它们为exec函数。


线程与线程号(Threads and Thread IDs):一个进程可以有多个线程,在多核系统上,多线程可 以发挥并行的可能性。同一进程内的所有线程都共享同一个地址空间、文件描述符、栈(stacks)、进程相关的属性。因为它们可以访问相同的内存,所以线 程在访问共享数据时需要同步控制。每个线程都有一个线程号,这个线程号在所在进程内是唯一的。其它进程内的线程号对于当前进程而言是毫无意义的。


控制线程的函数与控制进程的函数不同,因为线程在进程模型建立很久以后才加入到UNIX系统。尽管如此,线程模型和进程模型有一些复杂的交集。
阅读(884) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~