当前位置: 首页 > wzjs >正文

平台门户网站建设广州短视频代运营

平台门户网站建设,广州短视频代运营,长春今日疫情最新消息,fomo3d 网站怎么做这里写目录标题 计算机是怎么工作的问题提出计算机的产生图灵机通用图灵机计算机 操作系统启动电源键开启后,计算机干了什么引导扇区的代码(bootsect.s)移动boot代码将setup代码载入到内存(仅仅载入,不执行&#xff09…

这里写目录标题

  • 计算机是怎么工作的
    • 问题提出
    • 计算机的产生
      • 图灵机
      • 通用图灵机
      • 计算机
  • 操作系统启动
    • 电源键开启后,计算机干了什么
    • 引导扇区的代码(bootsect.s)
      • 移动boot代码
      • 将setup代码载入到内存(仅仅载入,不执行)
      • 载入setup后,打印字符并载入system模块
      • boot代码的最后,准备转入setup执行
    • setup模块代码
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录

计算机是怎么工作的

问题提出

在这里插入图片描述

计算机的产生

图灵机

在这里插入图片描述
图灵机就是模拟人脑的计算过程,缺点是他只有一套固定的逻辑

通用图灵机

在这里插入图片描述
而通用图灵机,他在图灵机的基础上进行了改进,他可以修改控制器的逻辑,向控制器中导入不同的逻辑,来实现不同的功能,这里的“设置控制器动作”就是控制不同的逻辑的,这一动作依赖于我们的编写的程序,我们的程序代码就是上图中的菜谱,程序代码用来设置控制器动作

计算机

在这里插入图片描述
将程序代码和数据存储到起来,这里的存储指的是计算机的内存,之后“运算器、控制器”会从内存中取代码指令,然后执行,这就是计算机的雏形,关键在于“取指执行”

程序代码会被翻译为汇编语言代码,每一行汇编代码,都规定了一个逻辑
计算机有一个指针,称为IP指针(也称PC指针),他会指向当前执行的程序代码,每次IP指针将程序代码传给控制器和运算器,控制器和运算器拿到逻辑和数据后,进行逻辑执行。总结下来就是 取指执行,计算机是如何工作的:取值执行

操作系统启动

电源键开启后,计算机干了什么

在这里插入图片描述
首先,CPU处于实模式,该模式下,该模式的寻址就是“段首址 左移四位 + 偏移地址”,而CS初始值是0xFFFF,IP初始值是0x0000.所以,CS会左移四位+IP,这里的CS和IP都是十六进制,<<4,转换成十六进制就是数字右边多个0,之后+IP,IP也是0,所以寻址之后就是0xFFFF0,而这就是BIOS程序在内存中的固定固化位置(故意这样设计,使得计算机在开机时百分百获取到IO功能,从而后续可以进行“代码载入到内存,以及从内存读代码到CPU”的工作),BIOS是基础IO系统,是一套最基本的输入输出系统,可以用来进行初始的取指令,从而交给“运算器和控制器”执行
之后检查外设,都没问题之后,

之后,BIOS(基本IO系统)将磁盘0磁道0扇区开始的一个扇区(512B大小)的代码读入到内存的0x7c00处开始。磁盘的0磁道0扇区称为引导扇区,这一块引导扇区的代码,就是操作系统的第一块代码
然后重置CS=0x07c0,IP=0x0000
所以,“控制器和运算器”就会去顺序执行CS:IP处的代码,每次都通过BIOS取指令

引导扇区的代码(bootsect.s)

移动boot代码

在这里插入图片描述
1、“.s”后缀是汇编文件的后缀,说明引导扇区的代码是汇编语言,与高级语言C语言的一个区别是,高级语言代码无法百分百的控制运行(如变量的地址是无法控制的),而汇编会百分百控制

2、代码段的代码解释:
刚开始的两行,是将两个宏的内容给到DS和ES,两个宏在图的右上角
而cx是计数寄存器,相当于循环变量
之后将SI和DI的寄存器内容置0
(其中,DS:SI配合寻址,ES:DI配合寻址)

rep movw,会与cx配合,这里是指重复移动256个字的内容,256字就是512B,相当于将整个引导扇区的汇编代码从0x7C00:0x0000处,移动到0x9000:0x0000
(低地址处留出了位置,具体用处后面会讲)

之后jumpi的作用是,将go这个标号所在位置的指令的地址相对于当前CS段地址的偏移量,赋值给IP指针,将INITSEG这个宏的内容赋值给CS代码段段首址寄存器
(因为当前的代码已经被整体挪到了0x9000:0x0000的位置,所以这个jumpi的作用是跳转到0x9000:0x偏移量,而go标号就在下一行,所以实际上相对而言还是顺序执行,但是又必不可少要在rep移动后执行该动作,因为程序已经挪动过了)

将setup代码载入到内存(仅仅载入,不执行)

在这里插入图片描述
后续代码简略说明:
1、中断,0x13是读磁盘扇区的中断,我们接下来要继续读磁盘了

2、cl规定了读磁盘时的开始扇区,al规定了读几个扇区
这里cl为02,即读第二个扇区,开始读4个,如上图下面所示,这4个扇区就是setup的扇区

3、从磁盘读到内存的哪个地址开始?,读到es:bx,即逻辑地址0x90200处,这个地址与0x90000正好差了512B
(需要注意的是,这里是向高地址顺位读,并没有占用我们之前移动bootsect所留下的地址空间(低地址处))

载入setup后,打印字符并载入system模块

在这里插入图片描述
最后,boot还要做两个工作:
1、0x10号中断,表示显示字符,而我们打印的字符就是下面双引号中的内容,上图的2处,表示字符的个数,当前是24个字符
(这个打印,与我们自己的电脑开始时的那个Windows图标是一样的,只不过win的那个很精致,我们这里很粗糙,只是打印了一行字)

2、然后会调用一个函数(即call的作用)

将下一个模块,就是system的模块,载入到内存(仅仅载入,并不执行)

boot代码的最后,准备转入setup执行

在这里插入图片描述
1、简要解释了一下system模块为什么要用call

2、转入setup执行,因为boot已经将setup模块和system模块的代码载入到了内存(即从磁盘读出,放入内存了)

之后,修改CS:IP的值,CS=0x9020,IP=0x0000,所有,会转入setup模块在内存中的首地址0x90200处开始执行

setup模块代码

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

http://www.dtcms.com/wzjs/15836.html

相关文章:

  • 哪个网站可以查蛋白互做百度一下官网首页百度
  • 外贸建站主机中文域名注册官网
  • 如何建设自己网站谷歌搜索引擎免费入口
  • 响应式网站开发设计最近新闻热点大事件
  • 营销型网站设计建设公司建设网站流程
  • 深圳市手机网站建设品牌宁波网站建设团队
  • 电脑网站拦截怎么解除深圳搜索引擎优化推广便宜
  • 家谱网站的首页怎么做seo搜索引擎优化试题
  • 高端网站建设需要多少钱百度导航下载2021最新版
  • 建设部网站官网挂证通报优化seo设置
  • asp网站连接access数据库陕西网站制作
  • 新钥匙石家庄网站建设西安关键词排名优化
  • jeecms可以做网站卖吗网页设计与制作代码
  • 网站建设人员工作要求网站营销外包哪家专业
  • 电子商务网站建设的基本步骤整站优化要多少钱
  • 网站专题策划案例优化大师
  • 什么网站可以接装修活此网站三天换一次域名
  • 免费一键自助建站官网产品推广ppt
  • wordpress出现500错误免费智能seo收录工具
  • 给一个公司做网站需要多久市场调研报告怎么写的
  • wordpress多站点分别部署公司网络推广服务
  • 自己怎么做直播网站外贸网站制作公司哪家好
  • 营销型网站维护多少钱百度seo收录
  • 怎样给网站做图标磁力猫引擎入口
  • 慈溪市网站制作白城seo
  • 哪些网站可以做设计方案网站seo课设
  • 湛江门户网站谷歌网页版登录入口
  • 域名申请到网站建设教程网络黄页推广软件哪个好用
  • 网络科技公司名字大全集合肥seo推广外包
  • 动态网站建站宣传广告