操作系统

自己动手从零写桌面操作系统GrapeOS系列教程——4.1 在VirtualBox中安装CentOS

学习操作系统原理最好的方法是自己写一个简单的操作系统。 之前讲解开发环境时并没有介绍具体的安装过程,有网友反应CentOS的安装配置有问题,尤其是共享文件夹。本讲我们就来补充介绍一下在VirtualBox中安装配置CentOS的具体过程,彻底解决GrapeOS开发环境问题。 一、新建虚拟机 1. »

0002 嵌入式开发带你从小白到大佬系列之——Linux文件系统、常用文件操作命令(一)及用户权限

1、熟悉Linux的文件系统结构 Linux的文件系统结构其实是一个树形的分层组织结构,如下图: Linux系统目录结构及目录路径: 1.1、文件系统层次结构标准 Linux是开源的操作系统,各个Linux发行机构都可以按照自己的需求对Linux系统的文件系统进行相应的裁剪,所以各个Linux发行版 »

自己动手从零写桌面操作系统GrapeOS系列教程——1.2 GrapeOS真机演示

学习操作系统原理最好的方法是自己写一个简单的操作系统。 GrapeOS操作系统之前一直运行在模拟器和虚拟机中,今天我们来演示一下GrapeOS在真机上运行的情况。 一、物理机真机 今天演示用的真机是一台ThinkPad笔记本电脑,照片如下: 二、开机桌面 按电脑的电源按钮开机,由于GrapeOS »

我和 chatGPT 对线操作系统!

大家都知道现在 chatGPT 已经在多个领域展现了及其强大的工地,比如文案策划,毕业论文方便,甚至很多程序员都直接让 chatGPT 帮忙写代码了,在一些模板化的代码方面,chatGPT 更展示了优秀的能力。 所以我突然迸发了一个想法,我让 chatGPT 教我学一下操作系统怎么样? 这里的我是一 »

cxuanBlog

自己动手从零写桌面操作系统GrapeOS系列教程——24.加载并运行loader

学习操作系统原理最好的方法是自己写一个简单的操作系统。 之前我们在电脑的启动过程中介绍过boot程序的主要任务就是加载并运行loader程序,本讲我们就来实现。 本讲代码文件共2个: boot.asm loader.asm 一、代码及讲解 本讲所用到的知识点都是之前已经用过的,只是在本讲中综 »

自己动手从零写桌面操作系统GrapeOS系列教程——24.加载并运行loader

学习操作系统原理最好的方法是自己写一个简单的操作系统。 之前我们在电脑的启动过程中介绍过boot程序的主要任务就是加载并运行loader程序,本讲我们就来实现。 本讲代码文件共2个: boot.asm loader.asm 一、代码及讲解 本讲所用到的知识点都是之前已经用过的,只是在本讲中综 »

自己动手从零写桌面操作系统GrapeOS系列教程——23.从硬盘读取文件

学习操作系统原理最好的方法是自己写一个简单的操作系统。 本讲代码文件为boot.asm,要读取的文件为data.txt。 一、在FAT16文件系统中读取文件的流程 在GrapeOS中用到的文件少且小,所有文件都放在了根目录下,数量不会超过16个,占用的簇不会超过254个。所以读取目录项只需要读取 »

自己动手从零写桌面操作系统GrapeOS系列教程——23.从硬盘读取文件

学习操作系统原理最好的方法是自己写一个简单的操作系统。 本讲代码文件为boot.asm,要读取的文件为data.txt。 一、在FAT16文件系统中读取文件的流程 在GrapeOS中用到的文件少且小,所有文件都放在了根目录下,数量不会超过16个,占用的簇不会超过254个。所以读取目录项只需要读取 »

自己动手从零写桌面操作系统GrapeOS系列教程——22.文件系统与FAT16

学习操作系统原理最好的方法是自己写一个简单的操作系统。 新买的硬盘和优盘在第一次使用时需要格式化,有时候还需要分区。这是为什么呢?分区和格式化到底是干啥呢?本讲将为大家解开这些疑惑。 一、文件系统 1.分区 首先说一下分区,我们平时看到的C盘、D盘等就是一个个分区。硬盘第一个扇区的一部分固定空间 »

自己动手从零写桌面操作系统GrapeOS系列教程——22.文件系统与FAT16

学习操作系统原理最好的方法是自己写一个简单的操作系统。 新买的硬盘和优盘在第一次使用时需要格式化,有时候还需要分区。这是为什么呢?分区和格式化到底是干啥呢?本讲将为大家解开这些疑惑。 一、文件系统 1.分区 首先说一下分区,我们平时看到的C盘、D盘等就是一个个分区。硬盘第一个扇区的一部分固定空间 »

Linux操作文件的底层系统怎么调用

这篇文章主要介绍了Linux操作文件的底层系统怎么调用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux操作文件的底层系统怎么调用文章都会有所收获,下面我们一起来看看吧。 linux操作系统奉行一切皆文件的理念,所有文件设备几乎都可以用一套系统调用即open()/ »

Linux操作文件的底层系统调用,探究父子进程是否可以共享文件问题

目录 open()——打开或者创建一个文件 write() read() close() lseek函数 应用:利用读写对文件进行复制 打开文件后,fork的子进程能否共享和父进程共享访问同一个文件? 总结 linux操作系统奉行一切皆文件的理念,所有文件设备几乎都可以用一套系统调用即open »

自己动手从零写桌面操作系统GrapeOS系列教程——21.汇编语言写硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们学习了用汇编语言读硬盘,本讲我们来学习用汇编语言写硬盘。同样也是设计一个简单的实验,实验内容为: 在内存中准备一段有特征的512字节数据,地址为0x7e00~0x7fff,其特征是前3个字节依次为4、5、6,最后3个字节依次为 »

自己动手从零写桌面操作系统GrapeOS系列教程——21.汇编语言写硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们学习了用汇编语言读硬盘,本讲我们来学习用汇编语言写硬盘。同样也是设计一个简单的实验,实验内容为: 在内存中准备一段有特征的512字节数据,地址为0x7e00~0x7fff,其特征是前3个字节依次为4、5、6,最后3个字节依次为 »

自己动手从零写桌面操作系统GrapeOS系列教程——20.汇编语言读硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。 本讲我们设计一个简单的读硬盘实验。通过一定的方法使硬盘第二个扇区的前3个字节依次为1、2、3,最后3个字节依次为3、2、1,中间的506个字节全为0。然后通过读硬盘程序将硬盘第二个扇区的数据读取到内存0x7e00-0x7fff的地方,也就是 »

《操作系统导论》读书笔记1——CPU虚拟化,进程

系列文章目录和关于我 一丶CPU的虚拟化 一个桃子,我们称之为物理(physical)桃子。但有很多想吃这个桃子的 人,我们希望向每个想吃的人提供一个属于他的桃子,这样才能皆大欢喜。我们把给每个 人的桃子称为虚拟(virtual)桃子。我们通过某种方式,从这个物理桃子创造出许多虚拟桃子。重要的是,在 »

《操作系统导论》读书笔记1——CPU虚拟化,进程

系列文章目录和关于我 一丶CPU的虚拟化 一个桃子,我们称之为物理(physical)桃子。但有很多想吃这个桃子的 人,我们希望向每个想吃的人提供一个属于他的桃子,这样才能皆大欢喜。我们把给每个 人的桃子称为虚拟(virtual)桃子。我们通过某种方式,从这个物理桃子创造出许多虚拟桃子。重要的是,在 »

自己动手从零写桌面操作系统GrapeOS系列教程——19.硬盘读写理论知识

学习操作系统原理最好的方法是自己写一个简单的操作系统。 一、硬盘控制器 我们前面已经讲过硬盘控制器是一种I/O接口,CPU通过它就能间接的读写硬盘。硬盘控制器主要有IDE和SATA两种,我们这里只考虑IDE控制器。 电脑里硬盘控制器有2个,一个叫主控制器,另一个叫从控制器。而每个硬盘控制器能连接 »

自己动手从零写桌面操作系统GrapeOS系列教程——19.硬盘读写理论知识

学习操作系统原理最好的方法是自己写一个简单的操作系统。 一、硬盘控制器 我们前面已经讲过硬盘控制器是一种I/O接口,CPU通过它就能间接的读写硬盘。硬盘控制器主要有IDE和SATA两种,我们这里只考虑IDE控制器。 电脑里硬盘控制器有2个,一个叫主控制器,另一个叫从控制器。而每个硬盘控制器能连接 »