linux0.11学习全记录

给实体机服务器重装Linux系统全记录 服务器型号是ibm x3650m3,原机子是window系统,重装为Linux,我装了CentOs7。 一、制作Linux启动盘: 刚开始用老毛桃装windows的启动优盘进去格式化了硬盘,发现不支持装Linux,Linux启动盘和windows的是不一样的。于是用老毛桃重做了ISO模式的,还是不行,但可能是别的步骤比方下面的二步骤没做导致的。时间问题没有试验,也没意义,最后是用UltraIS... 阅读详情
一个基本的linux系统有两部分构成:
内核映像文件,根文件系统。
内核映像文件是用linux的原代码编译成的,由三部分构成:bootsect,setup,system.

具体方法是对 boot/中的 bootsect.s、setup.s 使用 8086 汇编器
进行编译,分别生成各自的执行模块。再对源代码中的其它所有程序(head,main,kernel,mm,fs,lib)使用 GNU 的编译器 gcc/gas 进行编译,并连接成模块 system。然后使用 build 工具将这三块组合成一个内核映象文件 image.

其中 bootsect.s 代码是磁盘引导块程序,驻留在磁盘的第一个扇区中(引导扇区,0 磁道(柱面) ,0磁头,第 1 个扇区)

该内核映象文件 image被写入启动盘。

启动的时候,当 PC 的电源打开后,80x86 结构的
CPU 将自动进入实模式,并从地址 0xFFFF0 开始自动执行程序代码,这个地址通常是 ROM-BIOS 中的
地址。PC 机的 BIOS 将执行某些系统的检测,并在物理地址 0 处开始初始化中断向量。此后,它将可启
动设备的第一个扇区(磁盘引导扇区,512 字节)读入内存绝对地址 0x7C00 处,并跳转到这个地方。启
动设备通常是软驱或是硬盘。

即:BIOS 将bootsect读入内存绝对地址 0x7C00 处。



总结:
  在引导加载程序 bootsect.s 将 setup.s 代码和 system 模块加载到内存中,并且分别把自己和 setup.s 代
码移动到物理内存 0x90000 和 0x90200 处后,就把执行权交给了 setup 程序。其中 system 模块的首部包
含有 head.s 代码。
  setup 程序的主要作用是利用 ROM BIOS 的中断程序获取机器的一些基本参数,并保存在 0x90000
开始的内存块中,    供后面程序使用。     同时把 system 模块往下移动到物理地址 0x00000 开始处, 这样,
                                                               system
中的 head.s 代码就处在 0x00000 开始处了。然后加载描述符表基地址到描述符表寄存器中,为进行 32
位保护模式下的运行作好准备。         接下来对中断控制硬件进行重新设置,        最后通过设置机器控制寄存器 CR0
并跳转到 system 模块的 head.s 代码开始处,使 CPU 进入 32 位保护模式下运行。
  Head.s 代码的主要作用是初步初始化中断描述符表中的 256 项门描述符,           检查 A20 地址线是否已经
打开,测试系统是否含有数学协处理器。然后初始化内存页目录表,为内存的分页管理作好准备工作。
最后跳转到 system 模块中的初始化程序 init.c 中继续执行。

用Exsi虚拟机秒变多系统神器:Win11+Linux双系统安装全记录 本文详细记录了在VMware ESXi虚拟化平台上部署Windows 11和Ubuntu Linux双系统的完整实战指南。从硬件准备、ESXi安装,到两个虚拟机的创建、优化及协同工作,涵盖了网络配置、共享存储、资源管理以及快照、克隆等高级技巧,帮助用户高效构建稳定、灵活的多系统测试与开发环境。 阅读详情

相关推荐

告别虚拟机!在Win11上丝滑运行Kali图形化界面,保姆级配置全记录

本文详细介绍了如何在Win11上通过WSL2配置Kali Linux图形化界面,提供从系统安装到图形界面设置的保姆级教程。相比传统虚拟机,WSL2 Kali Linux具有启动快、资源占用低、系统集成度高等优势,特别适合安全测试和渗透学习。文章还深入比较了WSL2与虚拟机的性能差异,并分享了Win-KeX工具实现完美图形体验的配置方法。

weixin_30952535的博客 541

Linux0.11内核学习

Linux0.11内核学习

Hi 1363

kkfileView 在 x86 Linux 下的离线部署与疑难排错全记录

本文详细记录了kkfileView在x86架构Linux系统下的离线部署过程,包括环境准备、LibreOffice安装、kkfileView配置及常见问题排错。特别针对离线环境中的依赖管理、中文乱码、Office组件启动失败等高频问题提供了实用解决方案,并分享了性能优化与维护技巧,帮助用户顺利完成部署并提升系统稳定性。

weixin_30321449的博客 409

Linux 0.11 - 整个操作系统就 20 几行代码-11

如果你前面看了,那一定还记得这个表,都是由 setup.s 这个汇编程序调用 BIOS 中断获取的各个设备的信息,并保存在约定好的内存地址 0x90000 处,现在这不就来取了么,我就不赘述了。在第一部分,用了总共十回的篇章,把进入 main 方法前的苦力工作都完成了,我们的程序终于跳到第一个由 c 语言写的,也是操作系统的全部代码骨架的地方,就是 main.c 文件里的 main 方法。如果你不这样觉得,那就得再回去重新梳理一边咯,如果有不会的,赶紧查资料搞懂它,因为之后要打一系列的硬仗了!

m0_53157173的博客 1945

Linux内核0.11深度剖析:中文注释完整版

本文还有配套的精品资源,点击获取 简介:Linux内核0.11是Linux早期的一个重要版本,为学习操作系统原理和Linux内核开发提供了宝贵资料。该版本内核已经涵盖了现代操作系统的核心功能,如进程管理、内存管理、中断处理和设备驱动等。通过完整的带有中文注释的Linux 0.11内核源代码,读者可以深入理解Linux内核的工作机制。本资料详细解释了从进程的表示、调度、通信到...

weixin_42393362的博客 1826

Linux 0.11源代码深度解析及中文注释版

Linux 0.11是Linux操作系统发展史上的一个里程碑版本,作为开源操作系统的一个典范,它的发布标志着自由软件运动中一个关键的转折点。从1991年发布至今,Linux 0.11不仅为后来的Linux内核版本奠定了基础,也为全球IT行业带来了深远的影响。该章节将从以下几个方面着手,为读者呈现Linux 0.11的历史意义以及它在操作系统发展史上的地位。

weixin_29009401的博客 1653

Linux 0.11内核的启动过程

Linux 0.11内核的启动过程一、Image文件的构成1.1 Makefile中的相关命令Linux 0.11的主Makefile文件中,有如下字段:tools/build: tools/build.c$(CC) $(CFLAGS) \-o tools/build tools/build.c这个是对tools/build.c程序的编译。 Image: boot/bootsect boot/se

ac_dao_di的专栏 4071

手把手教你用GEM-2多频电磁仪找地下管道(附真实数据图)

本文详细解析了使用GEM-2多频电磁仪精准定位地下管线的全流程,包括设备调试、频率选择、现场扫描技巧及数据解读。通过真实案例展示了如何应对复杂干扰环境,提升管线检测效率与准确性,特别适合市政工程和地下管线普查。

weixin_42565652的博客 398

告别乱码与权限烦恼:用MobaXterm在CentOS 7.9丝滑部署Oracle 11.2.0.4全记录

本文详细介绍了如何使用MobaXterm在CentOS 7.9上高效部署Oracle 11.2.0.4数据库,解决乱码、权限配置等常见问题。通过集成SFTP文件管理、X11图形转发等功能,实现从环境准备到图形化安装的一站式解决方案,大幅提升部署效率和运维体验。

chenkai5182的博客 434

Workbench中基于nCode的列车转向架随机振动疲劳寿命预测方法

本文详细介绍了在ANSYS Workbench中结合nCode进行列车转向架随机振动疲劳寿命预测的完整方法。通过几何清理、模态分析、PSD载荷定义及随机振动求解,并重点阐述了nCode中Dirlik等疲劳算法的选择与应用,为轨道交通关键部件的可靠性设计提供了系统的仿真分析流程与工程实践指导。

weixin_29234423的博客 473

芯片设计中的复位艺术——从异步复位同步释放到复位树构建

本文深入探讨了芯片设计中复位策略的核心技术与工程实践。重点解析了异步复位同步释放这一黄金方案的原理与优势,它通过复位同步器解决了异步复位释放时的时序风险。文章进一步阐述了如何构建稳健的复位树以应对大规模SoC设计,并分析了多时钟域与低功耗场景下的复位设计挑战,为提升芯片可靠性提供了系统性的方法论。

neovim7hacker的博客 486

linux oracle database配置失败_linux忘记安装图形化界面--静默安装oralce11g全记录

前段时间公司测试MES,于是克隆了几台linux服务出来,让部门小同学去部署oracle数据库。小同学一边吭哧吭哧在网上找教程,一边哀怨的问我为啥测试服务器都不装图形化界面......这问题其实挺难回答的,因为我都是从现成儿的系统模板克隆过来的,而我们的模板环境,是oracle linux 6.5,说实话,那个桌面环境,装了的意义不大,而且我们都是最小化安装,然后用光盘做个本地yum源(这样系统装...

weixin_39632379的博客 182

【部署】Ubuntu 24.04.4虚拟机下部署OpenClaw

OpenClaw是一款基于AI的智能助手工具,本文详细介绍了在Ubuntu 24.04.4系统上的三种安装方法。推荐使用一键安装脚本(curl -fsSL https://openclaw.ai/install.sh | bash),自动完成Node.js检测、CLI安装和引导配置。对于开发者,提供了从源码构建的详细步骤,包括环境准备、依赖安装和构建流程。文章还包含常见问题解决方案(如sharp构建错误处理)以及后续维护建议(更新、配置检查和日志查看)。安装完成后,用户可通过终端TUI或Web UI进行初始

海兰 1万+

oracle11gr2 linux6.3 rac asm asmlib安装过程全记录

oracle11gr2 linux6.3 rac asm安装过程全记录,实际测试可用。用的是asmlib的方式,实际使用时发现直接使用裸设备会更简单和高效,只做参考。这次测试都是一些较老的方式,没有用到yum,是一个一个的安装的软件包,顺序都是测试出来的。呵呵。之后的测试都会用到yum,方便了许多。dns使用的是windows的dns,在集群测试时,会报错,报延时的问题,联系oracle后也没有发...

demonson的专栏 2157

【嵌入式DIY实例-Arduino篇】-脉搏传感器监测脉搏率 (BPM)及可视化

在本文中,我们将使用 Arduino 和脉搏传感器来测量心率 (BPM)。 在文章中,我们将向展示如何使用脉搏传感器测量您的心率(每分钟心跳次数),并在电脑上位机通过Processing来实现心率数据可视化。同时使用LCD16×2 显示屏显示脉搏率 BPM。 该传感器易于使用和操作。 只需将手指放在传感器顶部,它就会测量心跳变化。

视觉与物联智能 834

风机叶片小规模振动监测数据集--读取测试

ETH风电叶片缺陷数据集–读取测试 数据简介 提示:这里可以添加本文要记录的大概内容: 结构健康监测是保障重要机电设备、建筑设施健康的重要技术手段。 一、lvm_read包安装 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务

cnjs1994的博客 2851

Windows 11 先装,Arch Linux 后装:UEFI 双系统启动菜单避坑全记录

本文详细记录了在UEFI模式下安装Windows 11与Arch Linux双系统的完整避坑指南。从安装顺序的重要性、分区方案设计到Grub配置的隐藏细节,全面解析如何避免常见的引导问题,确保双系统启动菜单正常显示。特别强调EFI分区的正确挂载方式,帮助用户顺利完成双系统安装。

weixin_42527160的博客 277

OWASP-ZAP扫描器的使用

目录 OWASP-ZAP 更新 代理 目录扫描 主动扫描(Active Scan) 扫描结果 生成报告 OWASP-ZAP OWASP Zed攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一,由数百名国际志愿者积极维护。它可以帮助你在开发和测试应用程序时自动查找Web应用程序中的安全漏洞。 也可以说ZAP是一个中间人代理。它能够获取你对Web应用程序发出的所有请求以...

谢公子的博客 2万+

linux centos更新java版本全记录

【代码】linux centos更新java版本全记录。

Let's drink together 899

[网络安全提高篇] 一二九.Powershell恶意代码检测 (5)混淆和反混淆 [上]

前文介绍了如何利用MS Defender实现恶意样本家族批量标注。这篇文章将继续讲解Powershell恶意代码检测,主要包括PowerShell混淆与反混淆内容,首先结合Invoke-Obfuscation工具详细介绍PowerShell代码混淆方法,再结合PowerDecode工具阐述解混淆方法。该研究将为后续的恶意软件家族分类或溯源提供帮助。未完待续,基础性文章,希望您喜欢,且看且珍惜。

杨秀璋的专栏 1541

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

PowerPaint-V1问题解决指南:Windows到Linux迁移全记录

本文介绍了如何在星图GPU平台上自动化部署🎨 PowerPaint-V1 Gradio镜像,实现AI图像编辑功能。用户可快速完成涂鸦擦除、背景替换等操作,典型应用于人像精修与内容二次创作,显著提升设计效率。

weixin_42593549的博客 362

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

从零开始安装linux双系统(ubuntu)深度学习环境配置踩坑全记录(pytorch,cuda,anaconda的安装、简单的linux讲解)

本文介绍了从0开始安装并配置ubuntu深度学习环境,解决了一系列可能出现的bug,并整合了大量资源链接。从选购硬盘、U盘开始,对硬盘分区进行管理、格式化,制作引导启动盘,设置bios,ubuntu初始配置,安装nvidia驱动,cuda,cudnn,anaconda配置pytorch深度学习环境与版本兼容问题,磁盘挂载与共享,制作镜像,介绍了基础的linux知识和磁盘管理知识。

weixin_73208047的博客 2211

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Linux (Ubuntun) 部署 nuls 全记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、学生领取 ESC二、JDK的安装及环境部署三、Maven的安装及环境部署四、nuls 部署 前言 最近上课,要求用Linux部署 nuls 节点,初始化了三次云盘。。。。。所以将部署过程记录一下 工具: 1、阿里云服务器 ESC。这个学生认证可以免费领一个2G 4核的 ESC(领取链接) 2、JDK。这个需要11.X版本的,否则模块集成的时候会报 JDK 不是 11 3、Maven。最好装较新的,本文用的是 3.6.

Eniac0的博客 592

64位Linux(Ubuntu)下搭建嵌入式Qt(4.8.6)、QtCreator、qvfb过程全记录

最新公司搞一个新项目,需要在Linux下进行UI界面设计。选来选去,最后选择采用Qt平台来做,于是要开始研究一下Qt。 Qt作为业内最著名的UI开发工具之一,是一套完整的跨平台C++图形用户界面应用程序开发框架,可以实现一套源码,多个平台编译运行。自从1991年被奇趣公司推出之后,在业内获得了广泛的应用,不仅仅被用来UNIX/LINUX平台下的桌面环境KDE,更有其他诸多极为著名的软件工具都是采...

u012329294的专栏 1105

CentOS7.9上Oracle 11.2.0.4安装避坑全记录:从依赖包到图形界面,我踩过的雷你别踩

本文详细记录了在CentOS7.9系统上安装Oracle 11.2.0.4的全过程,包括依赖包安装、系统参数配置、图形界面设置等关键步骤。通过分享实际部署中遇到的典型问题及解决方案,帮助用户避开安装过程中的常见'坑',顺利完成Oracle 11g数据库的部署。

chenkai5182的博客 395

ZED SDK与CUDA 11.8环境配置全记录:如何在Ubuntu 20.04上避免版本冲突

本文详细记录了在Ubuntu 20.04系统上配置ZED SDK与CUDA 11.8环境的完整流程,特别针对ZED 2/2i相机的版本冲突问题提供解决方案。从驱动版本选择、依赖项管理到SDK安装细节,涵盖硬件检查、权限设置和性能优化等关键步骤,帮助开发者高效搭建稳定的计算机视觉开发环境。

weixin_33734785的博客 349
上一篇: 两张软盘linux
下一篇: apt-get 命令
s_ware
博客等级 码龄21年 27粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值