`
mahudu
  • 浏览: 3600 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Windows Internals学习一:基础概念和术语

    博客分类:
  • OS
阅读更多
基础概念和术语

1:Windows API
    Windows应用编程接口(API)是针对Windows操作系统家族的系统编程接口,大致可以分以下几类:
    1)基本服务
    2)组件服务
    3)用户界面服务
    4)图形和多媒体服务
    5)消息和协作
    6)网络
    7)Web服务

2:进程、线程和作业
    首先区分一下程序和进程:程序是一个静态的指令序列,而进程则是指包含了执行一个程序的特定实例时所用到的各种资源,一般来说,一个Windows进程由以下元素构成:
    1)一个私有的虚拟地址空间。
    2)一个可执行的程序,它定义了初始的代码和数据,并且被映射到进程的虚拟地址空间。
    3)一个已打开的句柄列表,指向各种系统资源(如信号量,通信端口和文件等),进程的所有线程都可以访问这些系统资源。
    4)一个被称为访问令牌的安全环境,标识了与该进程关联的用户、安全组和特权。
    5)进程ID,唯一标识该进程。
    6)至少一个的线程。
    每个进程都记录了它的父进程(创建者进程)的ID,当父进程退出时,子进程中记录的父进程信息不会被更新,不过这不是问题,因为任何一个进程都不必依赖于父进程信息的有效性。
    查看进程信息的工具有很多,典型的有Windows自带的任务管理器和sysinternals出品的procexp工具。
    线程是一个进程内部的实体(如前所述,每个进程都至少包含一个线程),线程包括以下最基本的部件:
    1)一组代表处理器状态(CPU寄存器中的内容)的信息。
    2)两个栈:分别用于线程和内核模式下和用户模式下执行时。
    3)线程局部存储区(TLS:thread-local storage),线程私有,线程运行中调用各个子系统、运行库和DLL都会用到这个区域。
    4)线程ID(和进程ID在同一个名字空间中,所有永远不可能重叠)。
    5)有时线程也会有它们自己的安全环境。
    其中易失的寄存器,栈以及么有存储区合起来被称为线程的环境(context),与Windows所在不计算机的体系结构有关。通过Windows提供的GetThreadContext接口,你可以访问这些线程的环境。
    虽然线程有自己的执行环境,但是同一个进程内部的所有线程共享该进程和虚拟地址空间以及其它的属于该进程的资源。这样一个线程就可能读或写另一个线程的内存,但是在进程之间,这种互相访问是不允许的。不过凡事都有例外,当一个进程把它的一部分私有地址空间变为共享内存区(Windows APi中称为文件映射对象),或一个进程有权打开第二个进程,调用一些跨进程的函数时,一个进程内的线程就可以直接引用另一个进程的地址空间。
    Windows中没有提供类似于Unix中的进程树的概念,不过Windows对进程模型作了扩展,称为作业(job)。作业对象的主要功能为:使得一组进程被当作一个整体来管理和维护。

3:虚拟内存
    Windows实现了一个基于平面(线性)的的地址空间的虚拟内存分系统。每个进程都感觉自己有很大的一块私有地址空间。虚拟内存提供了一个内存逻辑视图,它可能并不对应于内存的物理布局。运行的时候,借助于硬件的支持,内存管理器把虚拟地址映射成真正存放数据的物理地址(一般都会把数据放到磁盘上)。由于有了硬件支持,内存管理器不需要任何的进程或线程的信息。

4:内核模式与用户模式
    为了安全,Windows使用内核模式和用户模式两种处理器模式。
    用户程序代码运行在用户模式下,操作系统服务(如系统服务和设置驱动程序)运行在内核模式下。在内核模式下,程序可以访问所有的内存和CPU资源。
    虽然每个Windows进程都有它自己私有的内存空间,但是,内核模式的操作系统和设置驱动程序共享一个虚拟地址空间。虚拟内存中每一个页面都被标记了处理器必须在什么访问模式下才可能读或写。
    当用户程序需要发出一个系统服务调用时,就会从用户模式切换了内核模式下(通过专门的处理器指令完成),将控制权交还给用户线程时,处理器的模式切换回用户模式。用户模式与内核模式之间的转换本身不会影响线程的调用,因为模式转换并不是环境切换。

5:对象和句柄
    在Windows中,对象是指一个静态定义的对象类型的单个运行时的实例(如进程、线程、文件等)。对象类型包括了一个系统定义的数据类型、在该数据类型的实例上进行操作的一些函数,以及一组对象属性。
    句柄:即指向对象实例的引用。
分享到:
评论

相关推荐

    Windows Internals

    ### Windows Internals 知识点概览 ...通过阅读本书,不仅可以了解 Windows NT 系列操作系统的发展历程,还能掌握其底层技术和架构设计的核心概念,进而为开发高性能、安全可靠的应用程序奠定坚实的基础。

    Windows internals 5th

    在《Windows Internals 5th》这一章节中,作者首先对Windows操作系统的不同版本进行了概述,并且介绍了与之相关的基础概念和技术术语。通过这些介绍,读者可以更好地理解后续章节中的内容。 **1.1 Windows操作系统...

    Windows internals 5th pdf版 2009年11月

    **1.2 基础概念和术语** - **1.2.1 Windows API**: Windows应用程序接口(Application Programming Interface)是Windows操作系统提供给应用程序的一组预定义函数集合。这部分内容详细解释了如何通过调用这些API来...

    Windows Internals 5th

    在本书的第一章“概念与工具”中,作者首先介绍了Windows操作系统的各个版本,并对基础概念和技术术语进行了详细阐述。其中包括: - **Windows API**:这是应用程序与操作系统交互的基础,了解Windows API对于开发...

    windows internals (5th)pdf

    ### Windows Internals (5th Edition) - 关键知识点解析 ...通过对本书的学习,不仅可以获得关于Windows系统架构和内部机制的全面理解,还能够掌握一系列实用工具和技术,从而更好地进行开发和故障排查等工作。

    Windows Internals+5th

    **1.2 基础概念与术语** - **1.2.1 Windows API** - Windows API(应用程序编程接口)是Windows操作系统提供的用于编写Windows应用程序的一组函数集合。这部分内容详细讲解了如何使用这些API来创建用户界面、管理...

    GDB Internals.pdf

    - **概述与术语**:介绍了一些基本的概念,比如UI输出函数的分类和用途。 - **一般约定**:定义了输出函数的一些通用规则和格式。 - **表格、元组和列表函数**:这些函数用于输出表格、元组和列表等结构化的数据...

    Windows Internels 5th Edition

    ### Windows Internals第...综上所述,《Windows Internals》第五版不仅是一本关于Windows操作系统的高级教程,也是一本宝贵的技术参考手册。对于希望深入了解Windows内部机制的专业人士来说,这是一本不可或缺的指南。

    windows 内核 pdf

    《Windows内核PDF》资源包含了两本重量级的书籍——官方英文原版的"Microsoft Windows Internals"和潘爱民翻译的"Windows内核原理与实现",这为深入理解Windows操作系统内核提供了宝贵的资料。 "Microsoft Windows ...

    《深入解析Windows操作系统(第六版)》翻译后记

    通过阅读20150303_Windows Internals翻译后记.docx和20150303_Windows Internals翻译后记.pdf,我们可以获得关于这个项目更具体的信息,包括范德成的个人见解、翻译过程中的趣闻以及他对读者的期望。这对于想要深入...

    Linux资料下载

    从给定的文件信息中,我们可以提炼出一系列与Linux及其发行版相关的专业知识点,这些知识点不仅涵盖了基础的系统操作和管理,还深入到了高级应用、编程以及特定领域如网络安全和设备驱动的细节。以下是对这些知识点...

    深入解析Windows操作系统 中文版 第四版 part 4

    1.2 基础概念和术语 1.3 挖掘Windows内部机理 1.4 本章总结 第2章 系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.4 关键的系统组件 2.5 本章总结 第3章 系统机制 3.1 陷阱分发 3.2 对象管理器 3.3 ...

    《深入解析Windows操作系统》中文版 第四版 part1

    1.2 基础概念和术语 1.3 挖掘Windows内部机理 1.4 本章总结 第2章 系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.4 关键的系统组件 2.5 本章总结 第3章 系统机制 3.1 陷阱分发 3.2 对象管理器 3.3 ...

    深入解析Windows操作系统 中文版 第四版 part 3

    1.2 基础概念和术语 1.3 挖掘Windows内部机理 1.4 本章总结 第2章 系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.4 关键的系统组件 2.5 本章总结 第3章 系统机制 3.1 陷阱分发 3.2 对象管理器 3.3 ...

    深入解析Windows操作系统 中文版 第四版 part 2

    1.2 基础概念和术语 1.3 挖掘Windows内部机理 1.4 本章总结 第2章 系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.4 关键的系统组件 2.5 本章总结 第3章 系统机制 3.1 陷阱分发 3.2 对象管理器 3.3 ...

    深入解析Windows操作系统 中文版 第四版 part 5

    1.2 基础概念和术语 1.3 挖掘Windows内部机理 1.4 本章总结 第2章 系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.4 关键的系统组件 2.5 本章总结 第3章 系统机制 3.1 陷阱分发 3.2 对象管理器 3.3 ...

Global site tag (gtag.js) - Google Analytics