附录1· 初识Linux操作系统
汇编器 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操作系统的更多相关文章
- .Neter玩转Linux系列之一:初识Linux
一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...
- Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念
Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...
- linux学习:【第1篇】初识Linux及安装
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第1篇]初识Linux及安装 写在前面 学习之初看了一段文章,很有感触,所以也 ...
- Linux入门——初识Linux
Linux入门——初识Linux 摘要:本文主要说明了Linux是什么,Linux发展历史,以及同Linux系统有关的一些基本知识. 简介 操作系统 Linux系统同Windows系统.Mac系统一样 ...
- Linux操作系统服务器学习笔记一
初识Linux: Linux 是什么? Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议 ...
- 初识Linux shell
目录 初识Linux shell Linux 深入探究Linux内核 系统内存管理 交换空间 页面 换出 软件程序管理 Linux中的进程 Linux系统的运行级 硬件设备管理 插入设备驱动代码的方法 ...
- 初识linux
1.版本 稳定版本:偶数版如2.6.X 发展中的版本:奇数版如2.5.X linux distribution包含:linux kernel + free software + documentati ...
- Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份
前面有两篇文章,<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>和<Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份& ...
- Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份
http://www.tektea.com/archives/2163.html. 在<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>文章中,我们介绍了使 ...
随机推荐
- a biped was detected but cannot be configured properly (Bipe导入Unity 无法正确识别)
OP stated "I export the biped with 'animation' and 'bake animation' ticked and the correct fram ...
- CSS中position小解
我们先来看看CSS3 Api中对position属性的相关定义: static:无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用. relative:对象遵循 ...
- 浅析JS中的模块规范(CommonJS,AMD,CMD)////////////////////////zzzzzz
浅析JS中的模块规范(CommonJS,AMD,CMD) 如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. ...
- Windows Phone 三、样式和资源
定义样式和引用资源 <Page.Resources> <!-- 向资源字典中添加一个键为ButtonBackground值为SolidColorBrush对象 --> < ...
- iptables 设置肯限制流量
1.查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source ...
- aspcms,2.x以上版本,保护栏目不可删除处理方法
aspcms,2.x以上版本,保护栏目不可删除处理方法.首先找到\admin\_content\_Sort\AspCms_SortFun.asp这个文件.然后将if isnul(id) then a ...
- 我的第一个FluentNHibernate例子
刚刚接触NHibernate和FluentNHibernate,所以最好的方法是从一个简单的例子入手. 开发环境考虑到是实际情况还有好多朋友没有用VS2015,就用VS2013withUpdate5吧 ...
- CEGUI环境配置
由于最近项目需要CEGUI做界面,于是我去下载了CEGUI源码,但是却不知道怎么搭建.网上的教程都不是很详细,不能让我们这种新手理解,经过几天折腾,终于弄好了,特此记录下来. 1.下载官网CEGUI源 ...
- 【转载】调试利器 autoexp.dat
转载:http://www.cppblog.com/flyinghare/archive/2010/09/27/127836.html autoexp.dat入门(调试时自定义变量显示) VC在调试状 ...
- 搭建基于Jenkins salt-api的运维工具
1. 安装salt-master和salt-minion 安装过程不再赘述,请参考http://docs.saltstack.com/en/latest/topics/installation/ind ...