摘要:
1、内核与系统调用基础对于应用程序进程来说,操作系统内核的作用体现在一组可供调用的函数,称为系统调用(也成"系统服务")。从程序运行的角度来看,进程是主动、活性的,是发出调用请求的一方;而内核是被动的,只是应进程要求而提供服务。从整个系统运行角度看,内核也有活性的一面,具体体现在进程调度。系统调用所提供的服务(函数)是运行在内核中的,也就是说,在"系统空间"中。而应用软件则都在用户空间中,二者之间有着空间的间隔(CPU运行模式不同)。综上所述,应用软件若想进行系统调用,则应用层和内核层之间,必须存在"系统调用接口",即一组接口函数,这 阅读全文
摘要:
1、采用现代操作系统的硬件必须具备哪些条件?①CPU必须有内核态和用户态,防止操作系统映像被用户的不良行为破坏。②用户程序必须分隔在不同的地址空间中,不能因为一个用户的误操作导致所有进程崩溃。③用户进程在物理内存中的位置不应固定。从80286开始,cpu开始支持保护模式,使pc具备了采用现代操作系统的条件。2、windows内核初探系统结构图如下:windows内核可分为两部分①核心层:包括硬件抽象层(HAL)和设备驱动底层②管理层:包括对象管理、内存管理、进程管理、安全管理、I/O管理等等。windows用户空间可分为:①系统DLL:代表是ntdll.dll,kernel32.dll、use 阅读全文
摘要:
Windows定义的Unicode数据类型有: WCHAR Unicode字符 PWSTR 指向Unicode字符串的指针 PCWSTR 指向一个恒定的Unicode字符串的指针相对应的ANSI数据类型有: CHAR ANSI字符 PSTR 指向ANSI字符串的指针 PCSTR 指向一个恒定的ANSI字符串的指针通用的字符数据类型: TCHAR PTSTR PCTSTR其中TCHAR的定义位于类TChar.h中,需要定义宏_UNICODE才能调用unicode数据类型。 PTSTR,PCTST的定义位于Windows.h头文件中,需要定义宏UNICODE才能调用unicode... 阅读全文