windows系统

kernel32.dll是Windows 系统中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。

user32.dll是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息。

gdi32.dll是Windows GDI图形用户界面相关程序,包含的函数用来绘制图像和显示文字。

句柄(Handle)是是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,句柄不能是常量。

Windows之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。数据的地址需要变动,变动以后就需要有人来记录、管理变动,因此系统用句柄来记载数据地址的变更。在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。

句柄在 Windows编程中是一个很重要的概念,在 Windows程序中并不是用物理地址来标识一个内存块、文件、任务或动态装入模块的。Windows API 给一个内存块、文件、任务或动态装入模块,的资源分配确定的句柄,并将句柄返回给应用程序,然后应用程序通过句柄来操作它们。句柄是一个标识符,是用来标识对象或者项目的。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个Windows函数来获得一个句柄,之后其他的Windows函数就可以使用该句柄,以引用相应的对象。在 Windows编程中会用到大量的句柄。

实模式、保护模式、虚拟8086方式

实模式

程序运行的实质是什么?

就是指令的执行。CPU如何知道指令在什么位置呢?X86如何定位内存地址呢?

段地址 + 偏移地址 = 20位物理地址

例如:

段地址(2000H)+偏移地址(20H)=物理地址(20020H)

保护模式

保护模式下程序运行的实质,仍然是CPU执行指令,操作相关数据。不同就是寻址方式的改变,起到了保护的作用。

1、不同任务间的保护

进程间虚拟地址的保护。

2、同一任务的保护

一个任务里定义了4种保护级别,0,1,2,3环表示。

其中,0、1、2环为系统级,环3是用户级。0级权限最高。

操作系统低核心层运行在Ring0级,而win32子系统如kennel32.dll 、user32.dll、gdi32.dll ,都运行在3环,以提供与子程序的接口。

保护模式下,应用程序不会直接访问物理地址,由虚拟内存管理器控制物理地址访问。进程的4G的寻址空间是用来对接CPU的。

虚拟地址

不是真正的内存,独立的4G寻址空间。

dll与exe的不同。

当一个应用程序被启动时,操作系统创建新的进程,并分配2G虚拟地址给这个进程,虚拟内存管理器将应用程序代码,映射到这个进程的虚拟地址中的位置,并把当前需要的代码读取到内存物理地址中。用dll时,dll也会被映射到进程的虚拟地址空间,在需要的时候才被读入物理内存。在物理内存和虚拟地址之间是虚拟内存管理器转换。

PE格式

PE(Portable Executable)格式,是微软Win32环境可移植可执行文件(如exe、dll、sys等)的标准文件格式。PE格式衍生于Unix上的COFF(Common Object File Format)文件格式。

不同的Windows版本和不同的CPU,PE文件的格式是一样的,CPU不一样,CPU指令的二进制编码是不一样的。只是文件中各种东西的布局是一样的。

64位的新格式是PE32+,没有任何新改变,只是简单的将32位字段扩展为64位

了解PE文件格式意义

了解PE文件格式后,方便我们去破解别的exe和dll文件。

PE文件到内存的映射

执行PE文件时,windows不是立即将整个文件读入内存,而是用windows装载器,在装载时,建立好虚拟地址和PE文件之间的映射关系。在真正执行到某个内存页中的指令或数据时,这个页才被从磁盘提交到物理内存,这种机制解决了文件过大影响装载速度的问题。在硬盘里,需要时才载入内存。

pe文件由

DOS头PE头、节表,区段表(section table)、节,区段(section)  4部分组成

Window操作系统基本知识相关推荐

  1. java程序员可以只用windos吗_程序员要写多少代码 才能开发一个window操作系统

    开发一个window操作系统需要程序员写多少行代码呢? 微软的Windows系统是伴随我们已久的老朋友了,大多数人都是一代一代Windows的用上来,老用户几乎都形成一个共识,就是微软的系统有一代会很 ...

  2. Linux操作系统基础知识学习

    Q1.什么是GNU?Linux与GNU有什么关系? A: 1)GNU是GNU is Not Unix的递归缩写,是自由软件基金会(Free Software Foundation,FSF)的一个项目, ...

  3. Window操作系统注册表学习

    Window操作系统注册表学习 一.注册表的由来及概念           从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在W ...

  4. 简说window操作系统

    1985年11月20日,微软发布了Windows.最初的Windows仅仅是为MS-DOS系统提供图形界面,以方便用户理解.Windows最初被称为"界面管理器"(Interfac ...

  5. 计算机的基础操作知识试题,[计算机基本操作知识]计算机操作系统基础知识试题...

    计算机操作系统是电子计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,那么你对计算机操作系统了解多少呢?以下是由答 案 网 ZqNF.Com小编整理关于计算机操作系统基础知识试题的内容, ...

  6. 计算机和操作系统基础知识

    -----------------------siwuxie095 计算机和操作系统基础知识 1.操作系统(Operating System,简称 OS),是管理计算机硬件与 软件资源的计算机程序,同 ...

  7. 软件评测师:操作系统基础知识(一)

    软件评测师:操作系统基础知识(一) 文章目录 软件评测师:操作系统基础知识(一) 前言 一.操作系统概述 1.操作系统的位置 2.操作系统的作用 3.操作系统的分类 二.P.V.S机制 1.基础概念 ...

  8. 软考 程序员教程-第二章 操作系统基础知识

    软考 程序员教程-第二章 操作系统基础知识 第二章 操作系统基础知识 2.1.操作系统概述(第四版教程P44) 操作系统的4个特征:并发性.共享性.虚拟性.不确定性. 操作系统的5个功能:处理机管理. ...

  9. PHP环境搭建(Window操作系统,使用phpstudy)

    PHP环境搭建(Window操作系统) 1. 下载phpstudy软件 复制到浏览器打开http://public.xp.cn/upgrades/phpStudy_64.zip 2. 下载后,解压,安 ...

最新文章

  1. 开发日记-20190825 关键词 管道和FIFO
  2. Web前端-JavaScript基础教程上
  3. 利用Docker volume修改Nginx Docker镜像里index.html
  4. 最幸福的码农在用什么编程语言?
  5. 信号 09 | 信号概念
  6. 2018-2019-2 网络对抗技术 20165202 Exp9 Web安全基础
  7. 1-3-顺时针旋转矩阵
  8. android 应用基础知识(2)---应用资源
  9. L3_08——图中所有边都是相等的常数
  10. java项目 服务器部署Word转成PDF乱码
  11. 复盘-对过去的事情做思维演练
  12. html网上购物系统界面,网上购物系统界面设计要点有哪些?设计思路是什么?...
  13. 安卓原生系统_体验类原生安卓系统PixelExperience流畅得不像话
  14. c++实验总结_史上最全场景文字检测资源合集(70篇重要论文 + 15个开源代码 + 176个实验结果 + 1305个统计信息)...
  15. 【个人随笔】留下第一个脚印
  16. 利用百度地图服务发布自己制作图片的地图
  17. 实体机安装双系统多系统教程 及引导修复指南
  18. ArcGIS ArcMap “ Add Data” 打开后,一直卡死,无内容
  19. 3D点云 (Lidar)检测入门篇 - PointPillars PyTorch实现
  20. tar.gz00 xxx.tar.gz01 xxx.tar.gz02……解压

热门文章

  1. html怎么设置毛笔字体,原来毛笔字体是这么设计的!
  2. 木板切割问题——贪心
  3. Ubuntu16.04 查看硬盘序列号以及系统版本与安装时间
  4. PLB: Congestion Signals are Simple and Effective for Network Load Balancing读后思考
  5. 苹果手机怎么备份所有数据_手机数据丢失怎么办?三种备份神技,手机告别数据丢失...
  6. 字符画君君C语言,20行代码制作字符画版小黄鸭表情包 | 文末送书抽奖结果
  7. Poser v7.0 1DVD(3D 角色动画)
  8. 专访《王者荣耀》团队 附天美L1工作室照片
  9. TFN系列超声波探伤仪使用评价怎么样?好不好用?
  10. PYNQ实验二:音频播放