读一个操作系统的实现 部分目录

读一个操作系统的实现 部分目录的相关文章

一个操作系统的实现(11)-让操作系统进入保护模式

这节首先介绍了突破引导扇区只有512字节的原理,然后介绍了FAT12文件系统,最后通过实验加载loader并将控制权交给loader来实现突破512字节的束缚. 突破512字节的限制 前面所用的引导扇区只有512字节.然而实际上操作系统在启动过程需要做的事情是很多的.所以需要通过某种方法突破512字节的限制. 那么如何突破512字节的限制呢?一种方法是再建立一个文件,通过引导扇区把它加载到内存,然后把控制权教给它.这样,512字节的束缚就没有了. 这里被引导扇区加载进内存的并不是操作系统的内核.

《Orange'S:一个操作系统的实现》笔记(一)

感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下.最终想要自己动手编写一个简单的版本,上网查.网友对于于渊的<Orange'S:一个操作系统的实现>和<30天自制操作系统>评价挺高的,先选<orange>为学习手册.<30>为参考手册,开始自己的操作系统之旅. 首先是平台的搭建问题,首先因本人编程一般都是在自己

每天一个linux命令:Linux 目录结构

对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统至关只要,下面我们就开始了解一下linux目录结构的相关知识. 当在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc.usr.var.bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件.文件系统在Linux下看上去就象树形结构,所以我们

一个操作系统的实现——笔记4

在2^k*2^k个方格组成的棋盘中,有一个方格被占用,用下图的4种L型骨牌覆盖所有棋盘上的其余所有方格,不能重叠. 代码如下: def chess(tr,tc,pr,pc,size): global mark global table mark+=1 count=mark if size==1: return half=size//2 if pr<tr+half and pc<tc+half: chess(tr,tc,pr,pc,half) else: table[tr+half-1][tc+

一个操作系统的实现(1)-准备工作

今天开始看<Orange'S:一个操作系统的实现>一书.这里是ubuntu 16.04下开发环境的搭建以及实现一个最小的操作系统(准确地说应该是一个引导扇区). 工欲善其事,必先利其器.自制一个操作系统需要的工具如下: 汇编编译器NASM 虚拟机算计Bochs 软盘绝对扇区读写工具(这里直接使用强大的dd) 现在就来安装这些工具 安装NASM 通过源代码安装,官网下载最新版源代码,当前最新的是nasm-2.12.01版本,下面的内容以此来演示. 个人软件一般安装到/usr/local下,所以压

一个操作系统的实现(4)-认识LDT

看到这里,你应该已经很了解GDT了,如果还不了解GDT.请看这篇文章:一个操作系统的实现(2)-认识保护模式,认识保护模式那篇文章的最后详细介绍了由16位寻址升级到32位寻址而引入的GDT. LDT(Local Descriptor Table):从名字上面就可以看出来它与GDT(Gobal Descriptor Table)的区别.GDT是全局描述符表,LDT是局部描述符表(相对于GDT). 下面仍然是从代码的角度讲解什么是LDT.主要讲解在上一节的基础上增加的代码.在文章的最后会附上所有代码

读一个文件内容的4种方法

第一种 readline() 读一行执行完就把文件关闭 with open("data1.txt",mode="r",encoding="utf-8")as f1: content=f1.readline() print(content) 输出:你好苍老师 第二种 readlines() 拿到一个列表 with open("data1.txt",mode="r",encoding="utf-8&q

《ORANGE&#39;S一个操作系统的实现》第7章 TTY与键盘输入的关系。

背景:我感觉这块部分有一些逻辑上的复杂,于是我把它的关系结构画了一张图来表述,并且在图上解答了我自己想到的几个问题. 关系如图所示: <ORANGE'S一个操作系统的实现>第7章 TTY与键盘输入的关系. 原文地址:https://www.cnblogs.com/vizdl/p/12178667.html

一个操作系统的实现(7)-获取机器内存并进行合理分页

在前面的程序中,我们用了4MB的空间来存放页表,并用它映射了4GB的内存空间,而我们的物理内存不见得有这么大,这显然是太浪费了.如果我们的内存总数只有16MB的话,只是页表就占用了25%的内存空间.而实际上,如果仅仅是对等映射的话,16MB的内存只要4个页表就够了.所以,我们有必要知道内存有多大,然后根据内存大小确定多少页表是够用的.而且,一个操作系统也必须知道内存的容量,以便进行内存管理. 克勤克俭用内存 这里利用中断15h来获取计算机的内存. 在调用中断15h之前,我们需要填充下列寄存器: