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. 关于使用百度ueditor时的一些问题

    本来这些问题直接在百度贴吧里回答不就完事了,可是好死不死的,百度贴吧里老出现 未知错误,错误号:230274 看来还是算了,自己做一个随笔记录一下好了 关于我们获取里面的内容时,老是会有一个<p ...

  2. zeptoJS:如何像jQuery一样,让滚动变得优雅?

    利用jQuery的animate() 方法,我们很容易实现滚动条的平滑滚动效果: $(function() { $('#top').click( function (e) { $('html, bod ...

  3. Ubuntu16.04下部署 nginx+uwsgi+django1.9.7(虚拟环境pyenv+virtualenv)

    由于用的新版本系统,和旧的稍有差别,在网上搜了很多相关资料,搞了三天终于搞好在Ubuntu16.04下的部署,接下来就详细写写步骤以及其中遇到的问题.前提是安装有虚拟环境pyenv+virtualen ...

  4. 经常使用ARM汇编指令

    一面学习,一面总结,一面记录. 以下是整理在网上找到的一些资料,简单整理记录一下,方便以后查阅. ARM处理器的指令集能够分为跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.载入/存储指令. ...

  5. 如何让asp.net mvc 直接运行mobile页面

    在controller里面加上下面一句 HttpContext.SetOverriddenBrowser(BrowserOverride.Mobile);

  6. Android中Context具体解释 ---- 你所不知道的Context

                                                                                                         ...

  7. php中socket的使用 方法简介

    一.开启socket phpinfo();查看是否开启了socket扩展,否则在php.ini中开启. 二.服务器端代码的写法 <?php error_reporting(E_ALL); set ...

  8. QT程序启动界面的使用

    当程序的初始化工作比较多,程序可能启动较长时间后,窗口才会显示出来,用户没准会抱怨程序响应的慢. 为了改善用户体验,最好在程序初始化这段时间显示logo,或者其他信息提示用户程序已启动.QT提供了QS ...

  9. ubuntu server 14.04.4 无线网卡没有启用,找不到wlan0端口

    Ubuntu Server默认的情况下是不会启用无线网卡的,想想实际服务器上怎么可能有无线网卡呢,呵呵.所以我们需要手动来启用无线网卡,难点就在这里了. 使用ifconfig命令,发现没有wlan口, ...

  10. Sqlserver2012数据库乱码的解决方法

    Sqlserver2012数据库乱码的解决方法 1.      在创建数据库时,一定要指定数据库的排序规则 2.      输入数据库名称 3.      选中选项,在排序规则中选中Chinese_P ...