日期:2014-05-16  浏览次数:20656 次

UNIX技术内幕

两种处理器模式:用户模式和内核模式,在进行虚拟内存映射时,两种模式各有一套单独的内存映射寄存器,这样用户模式和内核模式下的地址空间会被映射到不同的物理空间中。从用户模式进入到内核模式的方式:中断,违例内陷和系统调用内陷。从内核模式进入到用户模式的方式为:RTI(从中断服务函数中返回),RTT(从自陷服务函数中返回)

?

版本6的UNIX内核一共包含以下模块:系统启动,进程管理和调度,内存管理,信号通信,中断和自陷处理,文件系统和管道,I/O设备管理,系统调用和公共函数及工具。


启动模块:引导程序,装载程序

?

进程管理和调度:管理主要是指空分复用资源,进程调度主要是指时分复用资源

?

?

虚拟内存;虚拟内存是保证系统安全的一个重要机制,使得各个进程在物理上实现隔离,程序只能访问本进程的虚拟空间;虚拟内存的另一个重要作用就是实现动态链接

?

文件系统就是由文件和目录组成的集合及相应的访问机制的实现。

UNIX文件系统的实现共分三层:文件访问接口层,节点和块管理层,设备驱动层;节点和块管理层主要包括节点和块的查找、释放、读取、写入等功能接口。

Unix文件分为:正规文件,块文件和字符文件

文件管理方法:链表关联和索引映射

?

?

进程交换过程:

UNIX进程空间分为程序区和数据区,换出内存中的一个进程到磁盘时,分两步操作:换出程序区和换出数据区,由于程序区可能和其他进程是共享的,所以在最后一个使用该程序区的进程被换出前,它是不会被换出到磁盘的。而数据区是每个进程独立的。

静态链接:程序在编译链接完成后,所有代码都被链接到程序空间,符号地址也都确定了,在进程加载完成后,指令流按照固定次序执行,不依赖于任何外部库。

?

进程间的通信

UNIX的三种进程通信机制:管道,文件和信号

管道的数据访问严格按照先进先出的原则,不支持SEEK文件定位操作

?