Operating System Concepts ——chapter 3——threads

Threads

4.1 overview

线程是cpu的基本单元。包含一个线程id,程序计数器,寄存器集合和堆栈。和其他属于同一个进程的的线程共享代码区域,数据区域,和其他操作系统资源。多线程能够提升多核cpu的效率。

为了能够同时处理多个任务,在多线程出现以前的方式就是多进程。多线程的优势是更节约资源,性能更高。
多线程有以下4个优势:
- increaseing responsiveness to user
- resource sharing. 进程之间的交互是复杂的(内存共享,消息传递)。线程之间则是天然共享资源。
- Economy 。创建和管理线程的成本都比进程要小。
- 对于多核cpu的有效利用

4.2 multicore programming

过去,为了提升计算机的性能,单核计算机发展成了多核计算机。多核计算机能够真正实现并行处理。现代的cpu可以同时装载多个线程,从而有助于线程之间的快速切换。

program challenges

操作系统的设计者需要设计更好的调度算法。应用程序编写者需要编写多线程的程序,甚至改写已有的程序。以下5个方面充满了挑战:
1. identify tasks. 也就是说如何将程序拆分成不同的任务,使程序充分利用多核cpu进行并行处理。
2. balance。不是很理解,意思可能是说有可能拆分任务并不会带来性能的提升。
3. data splitting
4. data dependcy
5. testing and debuging

types of parallelism

multithread model

你可能感兴趣的:(操作系统)