摘要: 概述 如果逻辑控制流在时间上重叠,那么它们就是并发的(concurrent),这种常见的现象称为并发(concurrency)。并发出现在计算机系统的各个层面上——硬件异常处理程序、进程和信号处理程序。以上提及的都在内核层面上的并发,其实并发不仅仅局限于内核,它也在应用程序中扮演重要的角色: 访问慢 阅读全文
posted @ 2017-05-16 20:51 west000 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 概述 一组并发线程运行在同一进程上下文中,每个线程都有自己独立的 线程上下文 ,包括线程ID、栈、栈指针、程序计数器(PC)、条件码和通用目的寄存器值。每个线程和其它线程一起共享进程上下文的其他部分,包括整个用户虚拟地址空间(由代码段、读/写数据、堆以及所有共享库的代码和数据区组成)。线程也共享打开 阅读全文
posted @ 2017-05-16 20:48 west000 阅读(3206) 评论(0) 推荐(0) 编辑
摘要: 概述 信号 (signal)是一条消息,可以通知进程系统中发生了某种类型的事件。在Linux的shell中,我们可以通过“man 7 signal”获得Linux支持的所有信号类型。下图是Linux支持的30种信号: 每种信号都对应于某种系统事件。比如: 如果一个进程试图除以0,内核就会给该进程发送 阅读全文
posted @ 2017-05-16 20:44 west000 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 概述 Posix线程(Pthreads)是C程序中处理线程的一个标准接口,Pthreads定义了大约60个函数,允许程序创建、杀死和回收线程,与对等线程安全地共享数据,还可以通知对等线程系统状态的变化。 常用函数 这里我们简单介绍几个常用的函数,下面我们通过一个简单的线程程序进行介绍: 线程的代码和 阅读全文
posted @ 2017-05-16 20:30 west000 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 概述 进程 (process)是一个执行中的程序的实例,是操作系统资源调度的一个基本单位。系统的每个程序都是运行在某个 进程上下文 (process context)中的。 进程上下文 包括:存放在内存中的代码和数据,进程的栈、通用目的寄存器值、程序计数器、环境变量以及打开文件描述符的集合。 进程 阅读全文
posted @ 2017-05-16 20:17 west000 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 概述 输入/输出(Input/Output,I/O)是在内存和外部设备(如磁盘驱动器、终端、网络适配器)之间拷贝数据的过程。输入操作是从I/O设备拷贝数据到内存,输出操作是从内存拷贝数据到I/O设备。 Linux将一切设备抽象为文件,常见的I/O操作包括打开文件、读文件、写文件等。Linux中的大多 阅读全文
posted @ 2017-05-16 20:02 west000 阅读(262) 评论(0) 推荐(0) 编辑