基础知识

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内核笔记(-)的更多相关文章

  1. Linux-0.11内核源代码分析系列:内存管理get_free_page()函数分析

    Linux-0.11内存管理模块是源码中比較难以理解的部分,如今把笔者个人的理解发表 先发Linux-0.11内核内存管理get_free_page()函数分析 有时间再写其它函数或者文件的:) /* ...

  2. linux0.11内核源码剖析:第一篇 内存管理、memory.c【转】

    转自:http://www.cnblogs.com/v-July-v/archive/2011/01/06/1983695.html linux0.11内核源码剖析第一篇:memory.c July  ...

  3. Linux0.11内核剖析--内核体系结构

    一个完整可用的操作系统主要由 4 部分组成:硬件.操作系统内核.操作系统服务和用户应用程序,如下图所示: 用户应用程序是指那些字处理程序. Internet 浏览器程序或用户自行编制的各种应用程序: ...

  4. linux0.11学习笔记(1)

    公布软件包包括内容: bootimage.Z - 具有美国键盘代码的压缩启动映像文件: rootimage.Z - 以1200kB 压缩的根文件系统映像文件: linux-0.11.tar.Z- 内核 ...

  5. Linux0.11内核源码——内核态线程(进程)切换的实现

    以fork()函数为例,分析内核态进程切换的实现 首先在用户态的某个进程中执行了fork()函数 fork引发中断,切入内核,内核栈绑定用户栈 首先分析五段论中的第一段: 中断入口:先把相关寄存器压栈 ...

  6. linux0.11内核源码——进程各状态切换的跟踪

    准备工作 1.进程的状态有五种:新建(N),就绪或等待(J),睡眠或阻塞(W),运行(R),退出(E),其实还有个僵尸进程,这里先忽略 2.编写一个样本程序process.c,里面实现了一个函数 /* ...

  7. Linux0.11内核--内存管理之1.初始化

    [版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5597705.html ] Linux内核因为使用了内存分页机制,所以相对来说好理解些.因为内存 ...

  8. linux0.11内核源码——boot和setup部分

    https://blog.csdn.net/KLKFL/article/details/80730131 https://www.cnblogs.com/joey-hua/p/5528228.html ...

  9. LINUX0.11 内核阅读笔记

    一.源码目录 图1 二.系统总体流程: 系统从boot开始动作,把内核从启动盘装到正确的位置,进行一些基本的初始化,如检测内存,保护模式相关,建立页目录和内存页表,GDT表,IDT表.然后进入main ...

  10. linux-0.11 内核源码学习笔记一(嵌入式汇编语法及使用)

    linux内核源码虽然是用C写的,不过其中有很多用嵌入式汇编直接操作底层硬件的“宏函数”,要想顺利的理解内核理论和具体实现逻辑,学会看嵌入式汇编是必修课,下面内容是学习过程中的笔记:当做回顾时的参考. ...

随机推荐

  1. ROS机器人校正

    vROS机器人IMU自动校正 连接小车 注意:必须在同一区域网 ssh clbrobort@clbrobort 激活树莓派主板 roslaunch clbrobot bringup.launch 自动 ...

  2. Java 新的生态型应用开发框架,Solon v2.2.13 发布

    Java 新的生态型应用开发框架,Solon :更快.更小.更简单.从零开始构建,有自己的标准规范与开放生态: 150多个生态插件,可以满足各种场景开发 大量的国产框架适配,可以为应用软件国产化提供更 ...

  3. sqlilabs第一关

    首先打开网页,进行注入点的测试 输入?id=1 and 1=1发现1=2的时候没有进行报错,有两种可能,一种是不能注入,第二种是字符型可以通过对字符型里面的''进行闭合,输入'and 1=1--+发现 ...

  4. dos命令、变量、字符编码、注释、用户输入

    一.dos命令 1.dos命令 c: 切换盘符 cd c:\pthon 切换路径 dir 查看目录下的文件 cd .. 返回到上一层目录 cd ../.. 返回到上一层的上一层目录 二.环境变量的配置 ...

  5. 2020-09-01:mysql里什么是检查点、保存点和中间点?

    福哥答案2020-09-01: 检查点checkpoint:批量刷盘.在一定程度上代表了刷到磁盘时日志所处的日志序列号(LSN)位置.标记重做日志中已经完成刷到磁盘的位置点,如果缓冲池中有很多重做日志 ...

  6. 2021-12-31:给定一个arr,里面的数字都是0~9, 你可以随意使用arr中的数字,哪怕打乱顺序也行, 请拼出一个能被3整除的,最大的数字,用str形式返回。 来自去哪儿网。

    2021-12-31:给定一个arr,里面的数字都是0~9, 你可以随意使用arr中的数字,哪怕打乱顺序也行, 请拼出一个能被3整除的,最大的数字,用str形式返回. 来自去哪儿网. 答案2021-1 ...

  7. 2021-08-10:给定一个正数数组arr,返回arr的子集不能累加出的最小正数。1)正常怎么做? 2)如果arr中肯定有1这个值,怎么做?

    2021-08-10:给定一个正数数组arr,返回arr的子集不能累加出的最小正数.1)正常怎么做? 2)如果arr中肯定有1这个值,怎么做? 福大大 答案2021-08-10: 先排序,然后扩充ra ...

  8. 都说DevOps落地难,到底难在哪里?也许你还没找到套路

    当你打开这篇文章的时候,也许你也在为DevOps的落地而苦恼,也许你的组织正在尝试DevOps转型,作为一线的实践者,说说我对这个"落地难"的看法,欢迎交流不同看法- DevOps ...

  9. LeetCode 双周赛 104(2023/05/13)流水的动态规划,铁打的结构化思考

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 往期回顾:LeetCode 单周赛第 344 场 · 手写递归函数的通用套路 T1. 老人的数目(Easy) ...

  10. 虚拟机linux系统密码忘记了该怎么办?

    当你的linux系统的密码忘记了该怎么办? 首先不要慌,重启电脑,开机的时候 出现这个页面的时候点击e然后出现这个页面 把里面的ro修改为 rw 修改为rw之后在这一行语句的最后面输入enforcin ...