操作系统学习(一)

1.系统移植就是说,现在操作系统写代码分为两层,硬件的上层使用公用的高级语言,下层使用针对该操作系统的汇编语言,这样系统移植的时候只需要更改下层汇编就可以了。
2.在这里插入图片描述
上图是所用到的一些软件
inter80386是32位的处理器
简单介绍下段地址和页地址:
分段机制

1、什么是分段机制

分段机制就是把虚拟地址空间中的虚拟内存组织成一些长度可变的称为段的内存块单元。

2、什么是段

每个段由三个参数定义:段基地址、段限长和段属性。

段的基地址、段限长以及段的保护属性存储在一个称为段描述符的结构项中。

3、段的作用

段可以用来存放程序的代码、数据和堆栈,或者用来存放系统数据结构。

4、段的存储地址

系统中所有使用的段都包含在处理器线性地址空间中。
   在这里插入图片描述
如果没有开启分页,那么处理器直接把线性地址映射到物理地址,即线性地址被送到处理器地址总线上;如果对线性地址空间进行了分页处理,那么就会使用二级地址转换把线性地址转换成物理地址。

二 分页机制

1、什么是分页机制

分页机制在段机制之后进行的,它进一步将线性地址转换为物理地址。

2、分页机制的存储

分页机制支持虚拟存储技术,在使用虚拟存储的环境中,大容量的线性地址空间需要使用小块的物理内存(RAM或ROM)以及某些外部存储空间来模拟。当使用分页时,每个段被划分成页面(通常每页为4K大小),页面会被存储于物理内存中或硬盘中。操作系统通过维护一个页目录和一些页表来留意这些页面。当程序(或任务)试图访问线性地址空间中的一个地址位置时,处理器就会使用页目录和页表把线性地址转换成一个物理地址,然后在该内存位置上执行所要求的操作。

3、线性地址和物理地址之间的变换过程
  在这里插入图片描述
  在这里插入图片描述
  计算机开机时会执行第一条指令,第一条指令在内存中,内存有个特点,开关电源之后里面的内容就清零了。但是,它里面包含RAM随机访问存储,ROM只读存储。在ROM里面,断电开电之后里面还会有我们以前写入的内容。所以,我们系统的初始化代码就从这里开始执行。
  第一条指令的地址:把段寄存器的地址左移四位,加上当前指针的地址。
  此时只有20位地址总线可用,空间就是2的20次方,有1M的空间
(这里前后有点连接不上,连接上了,BIOS就在内存里)
BIOS固件作用:将加载程序从磁盘的引导扇区,加载到指定的地址0x7c00,这个地址就是第一条指令应该存放在内存中的地址
原来bootloader就是BIOS控制磁盘中的加载程序到内存,用这个加载程序加载磁盘后续的操作系统。这个加载程序Dev代码就叫BootLoader!!!
磁盘里面是有文件系统,磁盘里一开始还存放着加载程序,还有操作系统。加载程序被BIOS固件存放到内存中后,它有一个作用就是,可以引导磁盘(也就是硬盘)中的操作系统进入内存中运行。那为什么BIOS不直接设置让操作系统进入内存?因为磁盘里面的文件系统多种多样,对BIOS来说太费劲,所以让他们都直接认识第一块。也就是只用认识加载程序,后续不管什么文件系统,都靠加载程序就好了。

在这里插入图片描述
左边矩形就是内存,家在程序是靠BIOS固件刚加上去的,操作系统(也就是内核)是靠加载程序加载上去的。

整体流程上电后
1.第一步是计算在将要放到内存中BIOS的地址位置(也就是第一条指令执行的位置),这个地址实际上是BIOS的EPROM(可擦除只读寄存器)的地址。
在这里插入图片描述
第二步是装到内存的BIOS固态对硬件自检
在这里插入图片描述
第三步
因为上一幅图的最后一点是按照指定顺序启动硬盘,那么就需要硬盘启动代码。
这个启动代码的作用如下,这里的主引导记录就是选择从哪个分区作为活动分区启动
在这里插入图片描述
BIOS的发展,刚开始只有四个分区,用BIOS-MBR就够用了,后来4个分区不够用了,又出现BIOS-GPT,可以用来描述更多的分区。另外如果你想连接服务器,从网络上下载内核镜像进行启动,又出现了PXE,叫网络协议栈,需要添加到BIOS中使用。
第四步 接下来就涉及到硬盘里面的分区
分区里面也有它自己的启动代码,同时分区里面有文件系统,文件系统有很多类别,不同系统不一样。JMP是跳转指令,它跳到启动代码,启动代码又跳到加载程序。这个加载程序就是一开始说的硬盘里面的加载程序。原来加载程序是在磁盘的分区里面的启动代码跳转处。
在这里插入图片描述
第五步就是加载程序加载操作系统的内核了
原来bootloader就是BIOS控制磁盘中的加载程序到内存,用这个加载程序加载磁盘后续的操作系统。这个加载程序Dev代码就叫BootLoader!!!
在这里插入图片描述
在这里插入图片描述
这个UEFI的出现的作用就是:以前你向电脑塞进一个磁盘,BIOS无条件的从磁盘里面读取加载程序进行运行。有了UEFI之后它会先对磁盘进行审核分析,选择符合所需标准才会进行加载运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值