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系统基本概念的更多相关文章

  1. Windows系统的四个重要概念——进程、线程、虚拟内存、内核模式和用户模式

    引言 本来在写一篇Windows内存管理的文章,写着写着就发现好多基础的概念都要先讲.更可怕的是,这些基础的概念我却不能完全讲清楚.只好再把这本<深入解析Windows操作系统>翻到第一章 ...

  2. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  3. 收集入侵Windows系统的证据

    随着网络的不断扩大,网络安全更加会成为人们的一个焦点,同时也成为是否能进一步投入到更深更广领域的一个基石.当然网络的安全也是一个动态的概念,世界上没有绝对安全的网络,只有相对安全的网络.相对安全环境的 ...

  4. Windows系统的安装

    一.写在前面        笔者最近因为换工作,在家待业甚感无聊,于是想要整理一些在Windows系统的一些安装方法和下载资源,一来给自己做个备忘,二来把一些不成熟的想法分享出去,希望大家予以指正. ...

  5. Windows系统架构

    操作系统模型   大多数操作系统中,都会把应用程序和内核代码分离运行在不同的模式下.内核模式访问系统数据和硬件,应用程序运行在没有特权的模式下(用户模式),只能使用有限的API,且不能直接访问硬件.当 ...

  6. 也谈如何获取真实正确的 Windows 系统版本号

    关于 GetVersion 系列接口 关于如何获取 Windows 系统版本号的话题,网上已经有了太多的帖子.但个人觉得总结的都不尽全面,或者没有给出比较稳定的解决方案. 众所周知,获取 Window ...

  7. Windows系统编程之异步I/O和完成端口

    Windows系统编程之异步I/O和完成端口[作者]北极星2003[来源]看雪技术论坛(bbs.pediy.com) [时间]2006年7月1日 一.  同步I/O和异步I/O 在介绍这部分内容之前先 ...

  8. Django框架搭建(windows系统)

    Django框架搭建(windows系统) 一.Django简介 开放源代码的Web应用框架,由Python语言编写,一个大而全的框架. 1.web框架介绍 具体介绍Django之前,必须先介绍WEB ...

  9. c运行时库,c标准库,Windows系统api的关系

    原文地址:http://blog.csdn.net/seastars_sh/article/details/8233324 C运行库和C标准库的关系 C标准库,顾名思义既然是标准,就是由标准组织制定的 ...

随机推荐

  1. 11636 - Hello World! (贪心法)

    Problem A Hello World!  Input: Standard Input Output: Standard Output When you first made the comput ...

  2. css的小demo

    demo1 一个高度随宽度变化的正方形   (缩小屏幕试试) 原理:margin和padding如果是用百分比设置,则是以父元素的宽度的百分比设置的. .Square{ display: inline ...

  3. HDU 1874-畅通project续(最短路Dijkstra+优先队列)

    畅通project续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. linux生成随机密码

    通常情况下大家生成密码都好困惑,一来复杂程度不够会不安全,复杂程度够了又不能手动随便敲击键盘打出一同字符(但通常情况下这些字符是有规律的), 使用1password 或者 keepass 这种软件生成 ...

  5. [A Top-Down Approach][第二章 应用层]

    [A Top-Down Approach][第二章 应用层] 标签(空格分隔): 未分类 网络应用是计算机网络存在的理由 首先从定义几个关键的应用层概念开始 应用程序所需要的网络服务,客户和服务器,进 ...

  6. web前端技术

    在网上找了点前端资料,记录下来,以便后面工作可能用到. Flat UI:一个WEB界面工具组件库.很多漂亮的菜单.按钮等. stickUp:一个jquery插件,可以将页面中的元素固定.经常用在把菜单 ...

  7. (转)使用 .NET 的 RNGCryptoServiceProvider 生成随机数

    1. [代码]一个简单的方法,但不够可靠     跳至 [1] [2] [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 static void Main(string[] args) ...

  8. 基于java callable及future接口解决生产者消费者问题

    这两天复习java线程时,把java里面的线程基本知识点与jdk1.5以后新添加的一些类的使用都了解了一下,借用生产者消费者的问题来将他们实践一下. 题目:(题目在csdn一大牛的空间找的) 生产者- ...

  9. 去除input[type=number]最右边的spinners(默认加减符号)

    // 去掉input[type=number]默认的加减号 input[type='number'] { -moz-appearance:textfield; } input[type=number] ...

  10. linux上 安装并 运行opencv

    我是在树莓派上安装的. 1.先安装依赖项 OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. sudo apt-get install build-es ...