附录1· 初识Linux操作系统

时间:2021-09-11 18:07:54

编译 GCC
汇编器 NASM
链接 LD
调试 GDB
Bochs
Bochs模拟器
微内核  单内核
=====================Linux特点=====================
以下所有内容是基于Linux0.01的基础上描述的。
1.linux 内核的函数调用不使用消息传递机制,而是直接的函数调用。
2.多线程的文件系统。
3.中断是不隐藏的。
======================OS的存储管理MM=============================
下面讲讲存储管理:MM
存储管理是针对虚拟空间的管理。存储管理包含两种管理方式:分页管理paging和分段管理segmentation;
4G空间被分成一定数量的段。第一个段为核心内存段。其拥有完整的物理地址映射。
=====================Linux文件结构=========================
boot    
boot     核心引导代码
fs       文件系统
include  头文件
init     Init进程---Linux中执行的第一个进程。
kernel   系统调用(systemcall)
lib     
lib      库函数
mm       内存管理
tools    内核引导文件的制作工具。
==========================操作系统引导============================
DOS
DOS系统在磁盘中
磁盘的组成如下:第一扇区主引导程序(硬盘启动时首先执行的程序,由他装入活动分区引导程序)分区信息表(各个分区引导指示符)分区引导程序、文件分配表文件根目录区 文件数据区。
启动过程:
1.机器加电
2.BIOS自检,BIOS在内存的地址为OFFFF:0000,CPU从该地址开始执行(CPU、RAM、DISK等设备检测)
3.计算机将硬盘的0柱面0磁头1扇区(主引导区MBR)中的512B读入内存0000:07C00;并跳到此处执行。
4.检查0000:7DFE是否等于0xAA55.如果不等于则去尝试其他启动介质。还没有就显示‘XXXX’并死机。
5.跳转到0000:7c00处并执行。
6.MBR首先将自己复制到0000:0600处。然后继续执行。
7.MBR在主分区表中搜索标志为活动的分区,如果没有或者超过一个则停止。
8.检查0000:7DFE是否等于0xAA55。如果不是则显示‘XXX’然后停止。
9.跳转到0000:7c00处继续执行特定的系统的启动程序。
10.启动系统。
硬盘主引导扇区介绍:
MBR+DPT+BRI:主引导记录区、硬盘分区表、引导扇区。
硬盘主引导功能:
1.人为修改引导程序或者清除活动分区标志 都将使硬盘无法启动。
2.加密整个硬盘:主引导扇区末尾有效标志是AA55H,清除或者修改此位可以达到加密硬盘的目的。恢复AA55h即可以解密硬盘。
3.加密单个硬盘分区:可以通过修改分区表的某一分区类型,通过无法识别的方式来加密该分区。
4.加入硬盘启动口令识别:
5.多操作系统的选择
6.引导扇区的自我修复。

============boot.s启动===============
机器加电时,boot.s被BIOS的引导程序加载到地址0X7C00处执行,然后BOOT.S将自己移动到0X90000处然后执行。
执行boot.s时使用BIOS的中断功能,加载系统核心到0x1000处,接下来禁止所有中断,移动系统核心到0x0000处,切换处理器到保护模式,
调用系统的开始程序,系统核心开始运行后,将重新设置保护模式,然后打开中断。