导航:首页 > 编程语言 > windows程序内部运行原理

windows程序内部运行原理

发布时间:2022-09-18 10:46:55

① Windows xp的操作原理是什么

首先C属于编译型语言,Windows核心用C语言编译
编译型就是编译的时候直接编译成机器语言,可以执行的程序
//========================================================
80386处理器有3种工作模式:
实模式、保护模式和虚拟86模式。
保护模式是80386处理器的主要工作模式,Windows操作系统就运行在此模式下。保护主要是指对存储器的保护。
//========================================================
CPU在保护模式下支持虚拟存储,即虚拟内存。它可以帮助操作系统将磁盘空间当作内存空间来使用。在磁盘上应用于这一机制的文件被称为页文件(paging file),它包含了对所有进程都有效的虚拟内存。
//========================================================
32位windows支持最大的4G内存。
Windows将此空间的一半(4GB的前半部分,Ox00000000~Ox7FFFFFFF)留给进程作为私有存储,
自己使用另一半(后半部分,Ox80000000~OxFFFFFFFF)来存储操作系统内部使用的数据
//========================================================
内核对象是系统提供的用户模式下代码与内核模式下代码进行交互的基本接口。(程序与windows内部通信用的)
//========================================================
程序、进程、线程的区别:
程序是一连串静态的指令,而进程是一个容器。
线程负责执行该进程地址空间的代码。

应用程序的启动过程就是进程的创建过程,操作系统是通过调用CreateProcess函数来创建新的进程的。当一个线程调用CreateProcess函数的时候,系统会创建一个进程内核对象。此进程内核对象不是进程本身,仅仅是一个系统用来管理这个进程的小的数据结构。系统然后会为新的进程创建一个虚拟地址空间,加载应用程序运行时所需要的代码和数据。
系统接着会为新进程创建一个主线程,这个主线程通过执行C/C++运行期启动代码开始运行,C/C++运行期启动代码又会调用main函数。如果系统能够成功创建新的进程和进程的主线程,CreateProcess函数会返回TRUE,否则返回FALSE 。
//=================================================
//这就是windows如何响应用户操作的全过程!!
//自己笔记里摘取的

② 软件运行原理是什么

有些软件安装完毕需要重启计算机是因为安装的软件需要修改计算机现有且正在运行的某些软件(或是系统自己)的组件,由于这些组件正在运行中,所以无法修改,只能等待重起的时候在它还没有运行起来的时候修改。

计算机就象管家,注册表就像帐单,运行的软件就像管家买的东西,管家为了良好的管理并使用这些东西,就需要一个帐单来记录这些东西的来源以及用途(在软件来说就是版本以及运行时的参数)。这也是WINDOWS比LINUX设计优秀的一大体现,因为有些操作系统是没有这个“帐单”的。

③ 计算机程序运行原理

计算机程序运行原理:计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。

依此进行下去。直至遇到停止指令。程序与数据一样存取,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理,这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理。

(3)windows程序内部运行原理扩展阅读:

计算机程序运行:为了一个程序运行,计算机加载程序代码,可能还要加载数据,从而初始化成一个开始状态,然后调用某种启动机制。在最低层上,这些是由一个引导序列开始的。

在大多数计算机中,操作系统例如Windows等,加载并且执行很多程序。在这种情况下,一个计算机程序是指一个单独的可执行的映射,而不是当前在这个计算机上运行的全部程序。

④ Windows Update 的工作原理是什么

是微软公司的升级和更新网站.
当然很重要。任何一个系统面世以后,不可能十全十美,况且病毒和木马也是不断更新,曾出不穷,update
和他们的关系就好比矛和盾,因此针对新病毒和木马就要时常进行更新以抵御他们的侵袭。安有杀毒软件和防火墙
是不够的。安微软公司要求有三:1,防火墙开启,2,不断更新的杀毒软件,3
开启自动更新,安该公司每月公布的更新和升级项,即使更新和升级你的系统,使之永远保持最新状态。可安下操作:
点击"工具=widows
update",系统即可自动扫描你的计算机为你选择适合你系统升级和更新的项目.一切全自动.如提示无法打开升级,你可先检查:开始-控制面版-管理工具-服务,找到:security
center,automayic
update“项,把他们的状态和启用类型设为:已启用和自动,返回”控制面版-安全中心,看里面的三项是否都处于“启用”状态?入未,点击使其启用。单击工具-点击widows
update-进入“update.microsoft"网页后,安提示操作即可。
如升级成功,建议你自动更新设为自动.开始-控制面板-安全中心-自动更新,设为"自动",到时会在任务栏右下方出现图标提醒你的.
下载时千万别下载序号为887742,他是微软验证的工具,一旦下载,再升级,就先验证,你的版本通不过,则无法生机了。如验证失败,你可:工具-管理加载项-把名为:windowa
genuine
advatage项禁用即可。

⑤ 介绍本关于 windows运行机制的书籍

推荐一本书: 程序员的自我修炼-链接,装载和运行

本书主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。每个技术专题都配备了大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。本书最后还提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。
本书对装载、链接和库进行了深入浅出的剖析,并且辅以大量的例子和图表,可以作为计算机软件专业和其他相关专业大学本科高年级学生深入学习系统软件的参考书。同时,还可作为各行业从事软件开发的工程师、研究人员以及其他对系统软件实现机制和技术感兴趣者的自学教材。

目录

第1部分 简介
第1章 温故而知新
1.1 从HELLO WORLD 说起
1.2 万变不离其宗
1.3 站得高,望得远
1.4 操作系统做什么
1.5 内存不够怎么办
1.6 众人拾柴火焰高
1.7 本章小结
第2部分 静态链接
第2章 编译和链接
2.1 被隐藏了的过程
2.2 编译器做了什么
2.3 链接器年龄比编译器长
2.4 模块拼装——静态链接
2.5 本章小结
第3章 目标文件里有什么
3.1 目标文件的格式
3.2 目标文件是什么样的
3.3 挖掘SIMPLESECTION.O
3.4 ELF 文件结构描述
3.5 链接的接口——符号
3.6 调试信息
3.7 本章小结
第4章 静态链接
4.1 空间与地址分配
4.2 符号解析与重定位
4.3 COMMON 块
4.4 C++相关问题
4.5 静态库链接
4.6 链接过程控制
4.7 BFD 库
4.8 本章小结
第5章 WINDOWS PE/COFF
5.1 WINDOWS 的二进制文件格式PE/COFF 134
5.2 PE 的前身——COFF
5.3 链接指示信息
5.4 调试信息
5.5 大家都有符号表
5.6 WINDOWS 下的ELF——PE
5.7 本章小结
第3部分 装载与动态链接
第6章 可执行文件的装载与进程
6.1 进程虚拟地址空间
6.2 装载的方式
6.3 从操作系统角度看可执行文件的装载
6.4 进程虚存空间分布
6.5 LINUX 内核装载ELF 过程简介
6.6 WINDOWS PE 的装载
6.7 本章小结
第7章 动态链接
7.1 为什么要动态链接
7.2 简单的动态链接例子
7.3 地址无关代码
7.4 延迟绑定(PLT)
7.5 动态链接相关结构
7.6 动态链接的步骤和实现
7.7 显式运行时链接
7.8 本章小结
第8章 LINUX 共享库的组织
8.1 共享库版本
8.2 符号版本
8.3 共享库系统路径
8.4 共享库查找过程
8.5 环境变量
8.6 共享库的创建和安装
8.7 本章小结
第9章 WINDOWS 下的动态链接
9.1 DLL 简介
9.2 符号导出导入表
9.3 DLL 优化
9.4 C++与动态链接
9.5 DLL HELL
9.6 本章小结
第4部分 库与运行库
第10章 内存
10.1 程序的内存布局
10.2 栈与调用惯例
10.3 堆与内存管理
10.4 本章小结
第11章 运行库
11.1 入口函数和程序初始化
11.2 C/C++运行库
11.3 运行库与多线程
11.4 C++全局构造与析构
11.5 FREAD 实现
11.6 本章小结
第12章 系统调用与API
12.1 系统调用介绍
12.2 系统调用原理
12.3 WINDOWS API
12.4 本章小结
第13章 运行库实现
13.1 C 语言运行库
13.2 如何使用MINI CRT
13.3 C++运行库实现
13.4 如何使用MINI CRT++
13.5 本章小结
附录A
A.1 字节序(BYTE ORDER)
A.2 ELF 常见段
A.3 常用开发工具命令行参考

⑥ 各位哥哥 请问电脑开机时内部程序是怎样一步步执行的 比如先是什么程序引导

第一步:当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让 CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址 FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。

第二步:系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。

第三步:接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡 BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。

第四步: 查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。

第五步: 接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。

第六步: 内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。

第七步: 标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。

第八步: 到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。

第九步: 接下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到"Update ESCD... Success"这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows 9x不相同的数据格式,于是Windows 9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。

第十步: ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS 将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows 9x最基本的系统文件。Windows 9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。

如果系统之中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。

阅读全文

与windows程序内部运行原理相关的资料

热点内容
抓四人帮的电视剧叫什么 浏览:374
男主角找到世界的尽头是建模 浏览:724
蓝牙为什么能升级吗 浏览:31
js缺少分号 浏览:93
江羊电影公司作品 浏览:43
怎么样在网站下载红色警戒 浏览:775
免费看电影无vip 浏览:108
路由器手机怎么重置密码 浏览:990
小孩抗日 小说 浏览:655
国外小孩与小孩性 爱视频 浏览:965
cad导入ug无效文件 浏览:760
如何使用小图标查看文件 浏览:166
免费大全在线网站不卡 浏览:490
韩国电影健身房教练 浏览:942
金刚2免费完整版正片 浏览:477
女蛇妖的电影 浏览:640
苹果手机清除文件垃圾的方法 浏览:689
腾讯视频有哪些版本 浏览:405
用数据线微信文件怎么转电脑 浏览:262
黑人教室的英语作弊教师 浏览:651

友情链接