操作系统管理硬件
文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示
1.进程
从一个进程到另一个进程的转换是由操作系统内核(kernel)管理的。内核是操作系统代码常驻主存的部分。当应用程序需要操作系统的某些操作时,比如读写文件,它就执行一条特殊的系统调用指令,将控制权传递给内核,然后内核执行被请求的操作并返回应用程序。注意,内核不是一个独立的进程。相反,它是系统管理全部进程所用代码和数据结构的集合。
2.线程
尽管通常我们认为一个进程只有单一的控制流,事实上,一个进程可以由多个线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。
3.虚拟内存
虚拟内存是一个抽象概念,它为每个进程提供了一个假象,即每个线程都独占地使用主存。每个进程看到地内存都是一致的,称为虚拟地址空间。
在Linux中,地址空间最上面地区域是保留给操作系统中地代码和数据地,这对所有进程来说都一样。地址空间地底部区域存放用户进程定义地代码和数据。
4.文件
文件就是字节序列。每个I/O设备,包括磁盘,键盘,甚至网络,都可以看成文件。系统中的所有输入输出都是通过使用一小组称为UnixI/O的系统函数调用读写文件来实现的。