Linux0.11内核笔记(-)
基础知识
C语言、汇编知识、嵌入式汇编、x86处理器和编程的相关知识和、UNIX操作系统设计
Linus在最初开发Linux操作系统时参考了MINIX操作系统:《操作系统:设计与实现》一种基于消息传递在内核各模块之间进行通信()信息交换
Linux的诞生和发展
重要的五个支柱:UNIX操作系统(分时操作系统)、MINIX操作系统、GNU计划 、POSIX标准和internet网络(有时间去了解)
内容概述
- bootimage.Z 压缩启动软盘映像文件
- rootimage.Z 根文件系统
- linux-0.11 内核源代码文件 94KB
- as86.tar.Z 二进制执行文件。是16为的汇编程序和装入程序(内核源代码)
- INSTALL-0.11 更新过的安装信息文件。 (简单安装地说明文档)
bootimage是引导启动Image文件 其中包括:磁盘引导扇区代码 操作系统加载程序和内核执行代码
rootimage就是用于向内核提供最基本支持的根文件系统,配置文件和命令执行程序
以上两个盘合起来就相当于一张可启动的Dos操作系统。 - http://oldlinux.org/Linux.old/images/ 内核映像文件bootimage和根文件系统映像文件rootimage
- http://oldlinux.org/Linux.old/kernels/ 内核源代码程序
- http://oldlinux.org/Linux.old/bochs/ 计算机仿真系统bochs下的Linux系统
liux文件目录


BIOS
BIOS(Basic Input/Output System)即基本输入输出系统,通常是固化在只读存储器(ROM)中,所以又称为ROM-BIOS
就PC而言,BIOS 包含了控制键盘、显示屏幕,磁盘驱动器,串行通讯设备和很多其它功能的代码
开机启动电脑是怎么打开的呢?
PC机启动时Bios中的程序会把默认驱动器上的引导扇区代码和数据读入内存(一块临时存放数据的地方,断电即失)
引导扇区代码则负责把操作系统加载程序和内核执行代码读入内存,然后把控制权交给操作系统加载程序去进一步准备内核的初始化。

1.2内核的版本
Linux内核的版本都是X.Y.Z这三个数字的形式设定的, 偶数Y代表稳定, 奇数代表不稳定的开发版(奇变偶不变)
所谓的稳定版本是指内核的特性已经固定,代码运行稳定,可靠,不再增加新的特性,要改进也只是修改代码中的错误
Z的递增表示个别的修正版发布。
- 2.6.x内核
这些版本都是Linus发布的基础版 - -rc内核
这些事候选的发布内核,是当Linus认为目前的git(Linux为了帮助管理Linux内核而开发的一个开源源码的版本控制软件)内核树处于一个健全的稳定状态,足以用于测试的时候而发布的内核。 - git内核
这些内核是Linus的内核树快照(在一个git仓库中管理着,因此而得名)。-git内核通常每天都在发布,且代表了Linux的内核树的当前状态。
Linux0.11内核笔记(-)的更多相关文章
- Linux-0.11内核源代码分析系列:内存管理get_free_page()函数分析
Linux-0.11内存管理模块是源码中比較难以理解的部分,如今把笔者个人的理解发表 先发Linux-0.11内核内存管理get_free_page()函数分析 有时间再写其它函数或者文件的:) /* ...
- linux0.11内核源码剖析:第一篇 内存管理、memory.c【转】
转自:http://www.cnblogs.com/v-July-v/archive/2011/01/06/1983695.html linux0.11内核源码剖析第一篇:memory.c July ...
- Linux0.11内核剖析--内核体系结构
一个完整可用的操作系统主要由 4 部分组成:硬件.操作系统内核.操作系统服务和用户应用程序,如下图所示: 用户应用程序是指那些字处理程序. Internet 浏览器程序或用户自行编制的各种应用程序: ...
- linux0.11学习笔记(1)
公布软件包包括内容: bootimage.Z - 具有美国键盘代码的压缩启动映像文件: rootimage.Z - 以1200kB 压缩的根文件系统映像文件: linux-0.11.tar.Z- 内核 ...
- Linux0.11内核源码——内核态线程(进程)切换的实现
以fork()函数为例,分析内核态进程切换的实现 首先在用户态的某个进程中执行了fork()函数 fork引发中断,切入内核,内核栈绑定用户栈 首先分析五段论中的第一段: 中断入口:先把相关寄存器压栈 ...
- linux0.11内核源码——进程各状态切换的跟踪
准备工作 1.进程的状态有五种:新建(N),就绪或等待(J),睡眠或阻塞(W),运行(R),退出(E),其实还有个僵尸进程,这里先忽略 2.编写一个样本程序process.c,里面实现了一个函数 /* ...
- Linux0.11内核--内存管理之1.初始化
[版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5597705.html ] Linux内核因为使用了内存分页机制,所以相对来说好理解些.因为内存 ...
- linux0.11内核源码——boot和setup部分
https://blog.csdn.net/KLKFL/article/details/80730131 https://www.cnblogs.com/joey-hua/p/5528228.html ...
- LINUX0.11 内核阅读笔记
一.源码目录 图1 二.系统总体流程: 系统从boot开始动作,把内核从启动盘装到正确的位置,进行一些基本的初始化,如检测内存,保护模式相关,建立页目录和内存页表,GDT表,IDT表.然后进入main ...
- linux-0.11 内核源码学习笔记一(嵌入式汇编语法及使用)
linux内核源码虽然是用C写的,不过其中有很多用嵌入式汇编直接操作底层硬件的“宏函数”,要想顺利的理解内核理论和具体实现逻辑,学会看嵌入式汇编是必修课,下面内容是学习过程中的笔记:当做回顾时的参考. ...
随机推荐
- Python-BeautifulReport的简单使用
一.简介 BeautifulReport.report report ( filename -> 测试报告名称, 如果不指定默认文件名为report.html description -> ...
- Selenium 打包为.exe执行
前言:不依赖环境执行,拓展UI自动化使用的场景 一.项目结构介绍 case:测试用例次存放目录 config:主要存放yaml文件配置 ele:元素的定位以及执行动作 tools:HTMLTestRu ...
- Eclipse 没有创建 Maven 项目入口的原因
试错过程 软件下载错了 我首先参考了 Eclipse历史版本下载和选择对应的java版本 这篇文章,发现 Eclipse 2020-06 的版本以后就不支持 JDK 8 了. 我想要下载 Oxygen ...
- 分布式搜索引擎Elasticsearch基础入门学习
一.Elasticsearch介绍 Elasticsearch介绍 Elasticsearh 是 elastic.co 公司开发的分布式搜索引擎. Elasticsearch(简称ES)是一个开源的分 ...
- vue全家桶进阶之路10:修饰符
Vue2 中的修饰符是指在指令后面添加点号(.)和修饰符名称的方式,用于控制指令的行为.修饰符可以分为事件修饰符和属性修饰符两种类型,下面分别介绍它们的作用和使用方法. 事件修饰符 事件修饰符用于控制 ...
- linux PXE和无人值守
目录 一.pxe概念 二.pxe相关服务 三.pxe装机流程 四.pxe四大文件 五.无人值守 六.实验 自动装机 一.pxe概念 概念:PXE(预启动执行环境)是由Intel公司开发的网络引导技术, ...
- 设置nginx允许服务端跨域
目前项目大多使用前后端分离的模式进行开发,跨域请求当然就是必不可少了,很多时候我们会使用在客户端的ajax 请求中设置跨域请求,也有的在服务端设置跨域.但是有时候会遇到不使用ajax也没有使用后端服务 ...
- 如何基于G6进行双树流转绘制?
1. 背景 业务背景:CRM系统随着各业务条线对线索精细化分配的诉求逐渐增加,各个条线的流向规则会越来越复杂,各个条线甚至整个CRM的线索流转规则急需一种树形的可视化的图来表达. 技术背景:在开发之前 ...
- 如何不使用图形来创建ACFS文件系统
客户需求,提供在19c环境下,ACFS的命令行操作的具体步骤,便于在图形界面不可用场景使用. 当然,如果有图形可操作,还是推荐首选图形,避免复杂度以及不必要的错误. 其实之前有测试过11g环境下的AC ...
- 3. docker的实践玩法
1. docker的进程架构 docker服务进程:就是针对docker服务的命令,启动,重启 接口:通过参数指定容器的IP和端口,实现对容器的远程操作 客户端命令行:对docker的操作命令 最后学 ...