阅读:3013回复:1
Windows操作系统基本概念Windows操作系统基本概念 一、WINDOWS操作系统基本概念 二、操作系统分层 l WINDOWS操作系统基本概念 1:用户模式和内核模式 Windows 从总体上分为内核模式和用户模式。谈到操作系统的内核模式和用户模式,一般会和CPU的特权层联系起来。CPU一般会有多个特权层。例如,Intel的386CPU就有4个特权层,分别是第0环(Ring 0),第1环(Ring1),第2环(Ring 2),第3环(Ring 3).其中,Ring0的特权最高,也就是可以执行任意代码,而Ring 3特权最低,只能执行有限的代码。其他CPU也类似的特权级别。 Windows将内核模式运行在CPU的Ring层,而将用户模式运行在CPU的Ring3层,如图2-1所示。Ring0和Ring3层是CPU上的概念,而用户模式和内核模式是操作系统上的概念。 图2-1 Windows的核心代码运行在内核模式下,而非核心代码运行在用户模式下。运行在内核模式下的Windows的核心组件是安全的,且不会受到恶意攻击,所以这些核心组件可以进行所有权限的操作。而运行在用户模式下的应用程序,是不安全的且容易受到攻击的,所以用户模式下的应用程序的权限是受到限制的。如果应用程序想进行一些敏感操作,如直接访问物理内存,物理端口,应用程序需要向内核模式下的组件提出请求。 编写驱动程序主要是为了操作硬件设备。这些设备的操作包括访问物理映射内存、设备端口等。 在早期的操作系统(如 DOS),没有用户模式和内核模式之分,所有程序都运行在Ring0层。应用程序可以不用编写驱动而直接操作硬件设备。然而在Windows操作系统中,对硬件的操作必须通过驱动程序来完成。驱动程序相当于Windows内核的“补丁”,针对不同的硬件设备会有不同的“补丁”。 驱动程序运行在内核模式下,拥有操作系统的最高权限。因此,编写驱动程序时需要格外小心。在用户模式下的各种保护措施,在内核模式下都没有。例如,在应用程序中对空指针操作时,操作系统会弹出对话框,提示这是非法操作并终止进程。然而在驱动程序中对空指针进行操作时,操作系统不会检测这个操作是否非法,而是直接导致操作系统的崩溃。 很多计算机病毒/木马程序或者恶意软件,利用驱动程序进行在内核模式的特点,将自己以驱动程序的形式加载到内核中,从而获取操作系统的最高权限。应当指出,程序员在编写驱动程序的时候,应该避免漏洞,如缓冲区溢出漏洞。在Windows中,用户模式和内核模式的切换是通过软件中断实现的。 下面做一个实验,查看Windows运行内核模式和用户模式的情况。在控制面板中,选择“管理工具”,然后选择“性能”图标。此工具可以查看Windows运行性能。 |
|
沙发#
发布于:2009-07-13 12:51
下一页捏?
|
|