Windows系统基本概念
windows API:被文档化的可以调用的子例程,如CreateProcess
原生的系统服务(执行体系统服务):未被文档化的、可以再用户模式下调用的底层服务,如NtCreateProcess
内核支持函数:位于操作系统内核只能在内核模式下调用的函数,如ExAllocatePool
windows服务:由windows服务管理器启动的的进程
DLL:一组可调用的子例程,合起来链接成一个二进制文件
程序:静态的指令序列
进程:一个包含了执行一个程序的特定实例所用到的各种资源的容器,由以下元素构成
1.一个私有的虚拟地址空间
2.一个可执行的程序,它定义了初始的代码和数据,并且被映射到该进程的虚拟地址空间
3.一个已打开的句柄列表,该进程内所有的县城都可以访问这些系统资源
4.一个称谓访问令牌的安全环境,表示了与该进程关联的用户、安全组和特权
5.一个被称为进程ID的唯一标识
6.至少一个执行线程
线程:一个进程内部的实体,包括以下一些最基本的部件
1.代表处理器状态的一组CPU寄存器的内容
2.一个线程在内核模式下执行时候的栈和一个线程在用户模式下执行时候的栈
3.TLS(线程局部存储区),各个子系统、运行库和DLL都会用到该存储区域
4.一个称为线程ID的唯一标识符,在内部被称为客户ID
5.线程自己的安全环境
线程上下文/环境(context):易失寄存器、栈和TLS合起来就是线程上下文,这些结构与底层系统结构相关
进程的安全环境被存储在访问令牌对象中,该对象还包含了该进程的安全标识符和凭证
虚拟地址描述符(VAD):一些数据结构,内存管理器利用这些数据结构来记录一个进程所使用的虚拟
地址
为了避免用户应用程序访问或修改关键操作系统数据,使用两种处理器的访问模式,用户模式和内核模式
内核模式:一种处理器执行的模式,它允许访问所有的系统内存和CPU指令
对象类型:包含了一个系统定义的数据类型、在该数据类型的实例上进行操作的一些函数以及一组
对象属性
对象:指某一个静态定义的对象类型的单个运行时的实例。任何一个进程都是进程对象类型的一个实例,如此等等
句柄:指向对象实例的引用
Windows系统基本概念的更多相关文章
- Windows系统的四个重要概念——进程、线程、虚拟内存、内核模式和用户模式
引言 本来在写一篇Windows内存管理的文章,写着写着就发现好多基础的概念都要先讲.更可怕的是,这些基础的概念我却不能完全讲清楚.只好再把这本<深入解析Windows操作系统>翻到第一章 ...
- UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...
- 收集入侵Windows系统的证据
随着网络的不断扩大,网络安全更加会成为人们的一个焦点,同时也成为是否能进一步投入到更深更广领域的一个基石.当然网络的安全也是一个动态的概念,世界上没有绝对安全的网络,只有相对安全的网络.相对安全环境的 ...
- Windows系统的安装
一.写在前面 笔者最近因为换工作,在家待业甚感无聊,于是想要整理一些在Windows系统的一些安装方法和下载资源,一来给自己做个备忘,二来把一些不成熟的想法分享出去,希望大家予以指正. ...
- Windows系统架构
操作系统模型 大多数操作系统中,都会把应用程序和内核代码分离运行在不同的模式下.内核模式访问系统数据和硬件,应用程序运行在没有特权的模式下(用户模式),只能使用有限的API,且不能直接访问硬件.当 ...
- 也谈如何获取真实正确的 Windows 系统版本号
关于 GetVersion 系列接口 关于如何获取 Windows 系统版本号的话题,网上已经有了太多的帖子.但个人觉得总结的都不尽全面,或者没有给出比较稳定的解决方案. 众所周知,获取 Window ...
- Windows系统编程之异步I/O和完成端口
Windows系统编程之异步I/O和完成端口[作者]北极星2003[来源]看雪技术论坛(bbs.pediy.com) [时间]2006年7月1日 一. 同步I/O和异步I/O 在介绍这部分内容之前先 ...
- Django框架搭建(windows系统)
Django框架搭建(windows系统) 一.Django简介 开放源代码的Web应用框架,由Python语言编写,一个大而全的框架. 1.web框架介绍 具体介绍Django之前,必须先介绍WEB ...
- c运行时库,c标准库,Windows系统api的关系
原文地址:http://blog.csdn.net/seastars_sh/article/details/8233324 C运行库和C标准库的关系 C标准库,顾名思义既然是标准,就是由标准组织制定的 ...
随机推荐
- js过滤空格
点击查看效果 点击进入下载 <html> <head> <title> 过滤空格 </title> <SCRIPT LANGUAGE=" ...
- Weka算法Clusterers-DBSCAN源代码分析
假设说世界上仅仅能存在一种基于密度的聚类算法的话.那么它必须是DBSCAN(Density-based spatial clustering of applications with noise).D ...
- GitHub托管BootStrap资源汇总
MESSENGER替换alert()消息和其他用户交互通知. JQUERY.TOCIFY.JS可以用Bootstrap或jQueryUI主题的Jquery表格组件. BOOTSTRAP-PROMPTS ...
- HDU 4119Isabella's Message2011成都现场赛I题(字符串模拟)
Isabella's Message Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Android SDK Manager 无法更新SDK
Android SDK Manager 被墙后无法更新SDK 下载sdk时抛出错误:Failed to fetch URL http://dl-ssl.google.com/ 參考例如以下博客: ht ...
- Android文字的复制和粘贴
Android中提供了简单的额复制粘贴功能.代码很简单 复制文字的代码: ClipboardManager cbm= (ClipboardManager) MainActivity.this .get ...
- mongo export import
mongoexport -h 127.0.0.1 -p 27170 -d dbs -c table -f field1,field2,field3 -q condition 路径.名称 mongoim ...
- NHibernate——基本映射(5)
一.映射定义概括 1.1 映射定义(Mapping declaration) 对象和关系数据库之间的映射是用一个XML文档(XML document)来定义的.这个映射文档被设计为易读的,并且可以手工 ...
- 在OC中调用Swift类中定义delegate出现:Property 'delegate' not found on object of type ...
找了许久没找到答案, 在下面的链接中, 我解决了这个问题: http://stackoverflow.com/questions/26366082/cannot-access-property-of- ...
- POJ 模拟题集合
http://www.cppblog.com/Uriel/articles/101592.html 感觉这个暑假没有去年有激情啊,,,还没到状态就已经块上学了,,, 真是弱暴了,,,找几道模拟题刷刷. ...