Solaris系统核心机制深度解析
1. 信号机制
在UNIX系统中,信号机制从早期实现起就已存在。它能因特定事件中断进程或进程内的线程。信号触发事件可分为两类,一类与当前指令流直接相关,这类信号称为同步信号,例如因非法地址引用(段错误)、非法数学运算(浮点异常)等硬件陷阱条件产生的信号;另一类是异步信号,由与当前指令流不一定相关的外部事件引发,像作业控制信号,以及一个进程或线程向另一个进程或线程发送信号(如发送终止信号来结束进程)。
对于每个可能的信号,进程有三种信号处理方式:
1. 忽略信号。
2. 捕获信号并调用进程特定的信号处理程序。
3. 允许执行默认操作,每个信号都有预定义的默认操作,如终止进程。
Solaris提供了一系列编程接口,可用于屏蔽信号或安装特定的信号处理程序。传统信号模型基于进程在任何时候只有单一执行流的概念,而Solaris内核的多线程进程架构允许进程内有多个执行线程,这意味着信号可定向到特定线程。信号的处理方式和处理程序是进程范围的,多线程进程中的每个线程都有相同的信号处理方式和处理程序,但Solaris模型允许在线程级别屏蔽信号,所以进程内不同线程可以屏蔽不同的信号(屏蔽是阻止信号传递的一种方式)。
2. 内存管理
2.1 虚拟内存系统概述
Solaris虚拟内存(VM)系统是操作系统的核心,它代表内核和进程管理系统内存。其主要任务是将系统物理内存高效分配给运行在操作系统内的进程和内核子系统。当数据无法完全存于物理内存时,VM系统使用较慢的存储介质(通常是磁盘)来存储这些数据,从而能运行比物理内存更大的程序。VM系统会将最常用的部分保留在物理内存中,较
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



