ICode9

精准搜索请尝试: 精确搜索
  • Linux0.11源码学习(四)2022-08-23 00:02:00

    Linux0.11源码学习(四) linux0.11源码学习笔记 参考资料: https://github.com/sunym1993/flash-linux0.11-talk https://github.com/Akagi201/linux-0.11 http://xiehongfeng100.github.io/categories/操作系统/ 本文贴出的代码注释参考书籍《Linux内核完全注释》,作者赵炯。当然其中

  • Linux0.11源码学习(二)2022-08-02 19:35:16

    Linux0.11源码学习(二) linux0.11源码学习笔记 参考资料:https://github.com/sunym1993/flash-linux0.11-talk 源码查看:https://elixir.bootlin.com/linux/latest/source /boot/setup.s entry start start: ! ok, the read went well so we get current cursor position and save it

  • Linux0.11源码学习(一)2022-07-27 23:05:09

    Linux0.11源码学习(一) linux0.11源码学习笔记 参考资料:https://github.com/sunym1993/flash-linux0.11-talk 源码查看:https://elixir.bootlin.com/linux/latest/source 开始 电脑开机后,CPU初始化,固定的BIOS程序运行,将硬盘启动区的512字节的内容,复制到内存中的 0x7c00 的位置,并跳转

  • Linux0.11内核笔记(-)2021-12-03 22:04:13

    基础知识 C语言、汇编知识、嵌入式汇编、x86处理器和编程的相关知识和、UNIX操作系统设计 Linus在最初开发Linux操作系统时参考了MINIX操作系统:《操作系统:设计与实现》一种基于消息传递在内核各模块之间进行通信()信息交换 Linux的诞生和发展 重要的五个支柱:UNIX操作系统(分时操作系

  • 系统调用linux0.11源码详细剖析2021-07-26 12:02:29

    总流程: 实现系统调用 在 Linux 0.11 上添加两个系统调用 (1)iam() 第一个系统调用是 iam(),其原型为: int iam(const char * name); 完成的功能是将字符串参数 name 的内容拷贝到内核中保存下来。要求 name 的长度不能超过 23 个字符。返回值是拷贝的字符数。如果 name 的字符

  • fork.c(linux0.11)2021-07-02 02:00:33

    /* * linux/kernel/fork.c * * (C) 1991 Linus Torvalds */ /* 注意:signal.c和fork.c文件的编译选项内不能有vc变量优化选项/Og,因为这两个文件 内的函数参数内包含了函数返回地址等内容。如果加了/Og选项,编译器就会在认为 这些参数不再使用后占用该内存,导致函数返回时出错。 ma

  • bochs运行早期linux0.11和linux0.98内核2021-06-20 12:05:25

    近期在看赵炯博士的《linux内核完全注释》一书,决定搭个环境进行测试。 一、下面是需要的资源: 1.Bochs2.6.11(操作方法:第一步加载bochs配置文件,随后在bochs中选择软盘文件加载) 2.内核映像:http://www.oldlinux.org/Linux.old/ 3.根文件系统:http://www.oldlinux.org/Linux.old/ 4.Boch

  • linux0.11的0号进程详解2020-05-29 19:05:33

    在执行main函数之前,其实计算机从上电到main执行了一系列操作,不过由于个人原因,迫不及待先理解了0号进程,不过在说0号进程之前,先说说main函数启动到0号进程之间的事,也就是设备环境初始化的过程,这部分工作完成后系统进程怠速状态。 首先进程的定义是计算机中的程序关于某数据集合上的

  • Linux0.11内核源码——内核态进程切换的改进2019-12-14 12:58:00

    由于Linux0.11的内核态进程切换使用的方式是用ljmp来进行TSS的跳转,效率较低,因此考虑对其进行优化,改为后面版本使用的kernel stack栈的切换 需要做的任务   1.重写schedule,switch_to函数   2.将修改过的函数接在一起   3.修改fork函数 目前 Linux 0.11 中工作的 schedule()

  • ubuntu18.04安装bochs编译linux0.11内核2019-07-10 14:02:02

    资源包 踩坑 能mount无法make内核 参考 路径问题 实验楼解压的文件/oslab/bochsrc.bxrc里路径有$OSLAB_PATH,我们没这个环境变量,改成绝对路径 参考 我是下了 sudo apt install libx11-6:i386 sudo apt-get install libxpm4:i386

  • Linux0.11+x86 启动流程总结2019-03-11 10:50:07

    文章目录前言x86 硬件介绍CPU 寄存器段的由来内存保护内存管理寄存器权限保护控制寄存器x86 计算机框架软件流程上电复位+BIOS 阶段Linux0.11 阶段bootsect.ssetup.shead.smain.c 前言 学习总结,看网上现有资料不是特别好,自己就梳理下自己知道的吧 参考资料: Linux0.11 源码 《保

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有