编译 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处,切换处理器到保护模式,
调用系统的开始程序,系统核心开始运行后,将重新设置保护模式,然后打开中断。

附录1· 初识Linux操作系统的更多相关文章

  1. .Neter玩转Linux系列之一:初识Linux

    一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...

  2. Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念

    Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...

  3. linux学习:【第1篇】初识Linux及安装

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第1篇]初识Linux及安装 写在前面 学习之初看了一段文章,很有感触,所以也 ...

  4. Linux入门——初识Linux

    Linux入门——初识Linux 摘要:本文主要说明了Linux是什么,Linux发展历史,以及同Linux系统有关的一些基本知识. 简介 操作系统 Linux系统同Windows系统.Mac系统一样 ...

  5. Linux操作系统服务器学习笔记一

    初识Linux: Linux 是什么? Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议 ...

  6. 初识Linux shell

    目录 初识Linux shell Linux 深入探究Linux内核 系统内存管理 交换空间 页面 换出 软件程序管理 Linux中的进程 Linux系统的运行级 硬件设备管理 插入设备驱动代码的方法 ...

  7. 初识linux

    1.版本 稳定版本:偶数版如2.6.X 发展中的版本:奇数版如2.5.X linux distribution包含:linux kernel + free software + documentati ...

  8. Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份

    前面有两篇文章,<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>和<Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份& ...

  9. Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份

    http://www.tektea.com/archives/2163.html. 在<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>文章中,我们介绍了使 ...

随机推荐

  1. 解决windows下FileZilla server中文乱码问题

    最利用cuteftppro FTP做文件夹同步,发现中文的文件夹及文件名都出现了乱码问题, 一开始以为是cuteftppro的问题,谷哥度娘找了一堆的解决方案都没有解决乱码问题,真是头疼啊! 后来终于 ...

  2. sql服务器启动不了问题

    问题:the the service mysql56 failed the most recent status change request with the messagethe service  ...

  3. PostgreSQL Replication之第一章 理解复制概念(1)

    PostgreSQL Replication系列翻译自PostgreSQL Replication一书 在本章中,将会介绍不同的复制概念,您会了解哪些类型的复制对哪一种实用场景是最合适的. 在本章的最 ...

  4. poj 3254 Corn Fields

    http://poj.org/problem?id=3254 Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissio ...

  5. Art-template模板

    1.介绍 新一代 javascript 模板引擎. 2.性能(引) 1.性能卓越,执行速度通常是 Mustache 与 tmpl 的 20 多倍(性能测试) 2.支持运行时调试,可精确定位异常模板所在 ...

  6. zepto和jquery的区别,zepto的不同使用8条小结

    说到诡异事件发生的原因,自然是想到两者之间的差异性. 首先是效果: jquery中有fadeIn和fadeOut两个效果,用来实现渐隐渐显的效果,这个在PC端自然是常用的效果.然后我们前端组的组员Mr ...

  7. java.sql.SQLException: ORA-00942: 表或视图不存在

    1.检查JDBC数据源是否配置正确:2.检查表或视图名称是否写错:3.检查Java中数据源的数据库用户是否具有引用该表或视图的权限:

  8. hdu 1559 最大子矩阵

    最大子矩阵 Time Limit: 30000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  9. 夺命雷公狗-----React---26--小案例之react经典案例todos(统计部分的完成)

    这一个其实是比较容易的,只需要统计他的总数和已完成的即可, 效果如下所示: 代码如下所示: <!DOCTYPE html> <html lang="en"> ...

  10. 夺命雷公狗-----React---23--小案例之react经典案例todos(完成添加任务)

    我们这次来处理用户添加的数据,我们还是赵老规矩看看组建大致图... 子组件对父组建进行数据的传递其实是react内部的机智进行处理的了,, 代码如下所示: <!DOCTYPE html> ...