摘要:
系统为每个用户进程创建一个task_struct 来描述该进程,该结构体包含了一个指针指向该进程的虚拟地址空间映射表。实际上task_struct和地址空间映射表一起用来表示一个进程。由于进程的地址空间是私有的,因此在进程间上下文切换时,系统开销比较大,为了提高系统的性能,许多操作系统规范里引入了轻量级进程的概念,即线程在同一个进程中创建的线程共享该进程的地址空间,Linux里同样用sask_struct来描述一个线程,线程和进程都参与统一的系统调度。通常线程是指共享相同地址空间的多个任务。使用线程的优势:大大提高了任务切换的效率,避免了额外的TLB&cache的刷新多线程通过第三方的 阅读全文