操作系统真象还原---系列笔记总结

2024-02-03 15:44

本文主要是介绍操作系统真象还原---系列笔记总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

闲话

最开始知道这本书是在校内论坛上,有同学通过这本书里的项目拿到大厂的ssp offer,于是就从网上订购了这本较为大部头的书,想要在简历上添加一个足够底层并且有意思的项目经历,从而帮助自己在秋招时赢得一个好的offer。
第一遍阅读时,我兢兢业业地照着书中的代码一行一行地进行抄写,时常因为一行代码抄错而debug好几天甚至通宵debug(相信有人有和我一样的困扰),但到后面的章节实在不堪其扰,一是因为书中只列出了大部分关键代码而其他代码需要自己补全,而另外debug有时候虽然可以从中收获到不少但在一些小的细节上出错反复查找反而有些得不偿失,最后还是没有抄到最后。尽管如此,读者如果本着写个项目进简历的想法,建议还是先看懂书本的代码,然后直接用作者提供的源码来运行即可。根据我的体验来说,抄写的过程基本是纯体力劳动,基本上没有任何思考,如果要提高,多复习一遍书或者改几处代码远比抄来的有效。这里留下本书前言里面作者留下的读者交流qq群:148177180,各个章节对应的代码和工具群文件里面都有。

笔记

本系列笔记的一开始是方便自己复习用,在看完本书后,由于缺乏系统的梳理和复习,在面试被问及的时候会感到很多东西很熟悉却又忘记了,于是经历过几次后我就重看了好几遍这本书,把其中的精华和面试中可以吹牛以及可能容易被问到的地方整理出来了:

  • 第0章 一些你可能正感到迷惑的问题
  • 第1章 部署工作环境
  • 第2章 编写MBR主引导记录,让我们开始掌权
  • 第3章 完善MBR
  • 第4章 保护模式入门
  • 第5章 保护模式进阶,向内核迈进
  • 第6章 完善内核
  • 第7章 中断
  • 第8章 内存管理系统
  • 第9章 线程
  • 第10章 输入输出系统
  • 第11章 用户进程
  • 第12章 进一步完善内核
  • 第13章 编写硬盘驱动程序
  • 第14章 文件系统
  • 第15章 系统交互

有的章节写的很粗糙,如果要认真看还是建议阅读原书吧。

项目介绍

另外,还有在项目介绍方面,以下是个人秋招时写进简历的版本,供大家参考:

MyTinyOS—微型操作系统                             独立开发
应用技术:汇编语言、C语言、gdb、Makefile
主要工作:
1. 搭建VirtualBox + CentOS + bochs模拟仿真环境,并在实模式下实现MBR、bootloader;
2. 构建GDT,开启A20总线,进入保护模式,启用内存分页机制,实现特权级并载入内核;
3. 实现中断处理机制,完善内存管理系统,逐步实现内核线程、用户进程,锁、输入输出等机制;
4. 进一步完善内核,实现系统调用,创建文件系统、简单的系统交互等;
项目成果:从零开始一步步实现操作系统,最终实现了一个小型的类Linux操作系统。

这篇关于操作系统真象还原---系列笔记总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/674630

相关文章

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree