编译 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. Javascript ES6

    ES6: EMACScript 6 http://javascript.ruanyifeng.com/advanced/ecmascript6.html http://es6.ruanyifeng.c ...

  2. 灵活运用SQL Server SSIS变量

    在SSIS开发ETL(Extract-Transform-Load),数据抽取.转换.装载的过程.我们需要自己定义变量 一.SSIS变量简介 SSIS(SQL Server Integration S ...

  3. win8.1 Framework3.5安装不上的问题

    问题症状:安装的WIN8系统无法安装Framework,SQL等都有问题 解决误区:直接安装或者更新后在线安装(结果一样各种错误) 解决方法: 1.先gpedit.msc进入本地组策略管理,目录:计算 ...

  4. BufferedReader与Scanner的区别

    在Java中,我们都知道Java的标准输入串是System.in.但是我们却很少在Java中看到谁使用它,这是因为我们平时输入的都是一个字符串或者是一个数字等等.而System.in提供的read方法 ...

  5. iOS 开发:CoCoapods的使用和安装

    CocoaPods的使用和安装 一.什么是CocoaPods? 前言: 思考如何引入一个第三方框架. 例如: 百度地图SDK.友盟.ShareSDK. 信鸽推送等. 从github或某处下载第三方SD ...

  6. 老贼博客php教程从零学习PHP开始写作,顺祝新同事快乐!

    随笔是不是这样写的,好似是吧! 老贼博客php教程从零学习PHP开始写作,顺祝新同事快乐! 谢谢支持,点赞!

  7. IP釋放、清除、以及刷新DNS

    Windows 10 於桌面按住 Windows  + X 按鍵. 選擇 Command Prompt (以管理員執行). 在彈跳視窗中輸入 ipconfig /release. 等待數秒回報此 IP ...

  8. CSS之float样式总结

    从四大开始开始慢慢接触前端,大概半年多过去了,虽然做了一些东西,但感觉有些点始终不是很清晰.有时候为了赶进度,没有太多时间对某个点进行全面深入思考分析,只能从网上搜一搜,试一试,只要效果出来了,任务就 ...

  9. 修改远程桌面连接端口3389,RDP-Tcp的portnumber要用十六进制修改

    1. 运行regedit 2. 展开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds ...

  10. linux复制指定目录下的全部文件到另一个目录中

    linux复制指定目录下的全部文件到另一个目录中复制指定目录下的全部文件到另一个目录中文件及目录的复制是经常要用到的.linux下进行复制的命令为cp.假设复制源目录 为 dir1 ,目标目录为dir ...