全部博文(174)
分类:
2009-04-02 17:27:31
进程、线程和资源是操作系统的灵魂。
操作系统提供的是资源(包括处理器、内存、设备等)的抽象(如磁盘被抽象为文件)、共享和隔离。
虚拟机是指操作系统为每个程序提供必要的资源构成机器的抽象,使得它们好像在各自的机器上运行一样。有两种共享的方法用于创建虚拟机:空分复用(如内存)和时分复用(如处理器)。
经典进程是指只有一个执行引擎的进程,而一个进程内有几个执行引擎,我们称之为线程的是现代进程。
用户空间线程是指在虚拟机上实现的多线程模型,内核线程是指在内核中实现的多线程模型。
POSIX线程扩展原先是用户空间线程,但是目前的内核大都提供了线程支持,而继续沿用这个接口标准。
将操作系统比作一间会计公司,这间公司的每个部门都有自己的房间,就是虚拟机,它获得了这个部门运行时需要的资源,如管理发票的部门获得了发票数据,管理订单的部门获得了订单数据(但是,我不是说,一间会计公司是这样划分的,只是方便叙述),部门自己的房间和数据就是空分复用。有时候,两个部门都需要像是打印机的资源,这时候它们就要进行时分复用。而部门是为了完成某个任务而而获得房间、数据和人员,这就是进程,它是为了完成某个任务的计算框架。而部门里的人员,就是完成任务的主体,这就是线程,他们会共享部门里的数据,但是他们都有自己的小隔间,他们分开处理一些数据,这些数据和他们处理的结果就是他们私有的。