<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>操作系统 on Dai Chao</title>
    <link>https://daichao1997.github.io/tags/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/</link>
    <description>Recent content in 操作系统 on Dai Chao</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 13 May 2020 00:00:00 +0800</lastBuildDate>
    <atom:link href="https://daichao1997.github.io/tags/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>跟着OSDev学习搭建操作系统（四）</title>
      <link>https://daichao1997.github.io/posts/tech/2020-05-13-meaty-skeleton-2/</link>
      <pubDate>Wed, 13 May 2020 00:00:00 +0800</pubDate>
      <guid>https://daichao1997.github.io/posts/tech/2020-05-13-meaty-skeleton-2/</guid>
      <description>&lt;p&gt;上次我们编译并成功运行了myOS，这次我们来仔细看看这个简单的操作系统有哪些构成要素，要以怎样的方法去安装它。&lt;/p&gt;
&lt;h3 id=&#34;编译环境的建立&#34;&gt;编译环境的建立&lt;/h3&gt;
&lt;p&gt;源代码的编译是靠shell脚本而不是Makefile总控的，不过这并不影响我们学习。大致来讲：&lt;/p&gt;</description>
    </item>
    <item>
      <title>跟着OSDev学习搭建操作系统（三）</title>
      <link>https://daichao1997.github.io/posts/tech/2020-05-09-meaty-skeleton-1/</link>
      <pubDate>Sat, 09 May 2020 00:00:00 +0800</pubDate>
      <guid>https://daichao1997.github.io/posts/tech/2020-05-09-meaty-skeleton-1/</guid>
      <description>&lt;p&gt;前几天跑通了一个空空如也的内核（教程里叫做Bare Bone），只能说是搭建好了环境，接下来要搭建的myOS会稍微正式一点。如同&lt;a href=&#34;https://wiki.osdev.org/Meaty_Skeleton&#34;&gt;教程&lt;/a&gt;标题“Meaty Skeleton”所说的那样，myOS虽然有一点“meat”，但依然只是一具“skeleton”，没有实际功能。我们既可以从中学到一个科学的OS源代码的结构，也可以直接以myOS为基础，向里面添加新的功能。&lt;/p&gt;</description>
    </item>
    <item>
      <title>跟着OSDev网站搭建个人操作系统（二）</title>
      <link>https://daichao1997.github.io/posts/tech/2020-05-05-osdev-barebone-2/</link>
      <pubDate>Tue, 05 May 2020 00:00:00 +0800</pubDate>
      <guid>https://daichao1997.github.io/posts/tech/2020-05-05-osdev-barebone-2/</guid>
      <description>&lt;p&gt;上回我们讲（翻译）了一些预备知识，并准备好了交叉编译器和其他工具链，现在开始动手写代码吧！我们的“空内核”需要三个源文件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;boot.S，作为内核的入口，用于初始化运行环境&lt;/li&gt;
&lt;li&gt;kernel.c，作为内核的主函数&lt;/li&gt;
&lt;li&gt;linker.ld，作为链接上面两个文件的脚本&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;booting-the-operating-system&#34;&gt;&lt;a href=&#34;https://wiki.osdev.org/Bare_Bones#Booting_the_Operating_System&#34;&gt;Booting the Operating System&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;当你编译好一个内核后，它是存储于磁盘上的，然而一个没有内核的机器该如何把磁盘上的内核读进内存，从而去运行里面的指令呢？这就要用到一个内核之外的东西，叫做&lt;strong&gt;bootloader&lt;/strong&gt;。原文提到了GNU有一个叫做&lt;a href=&#34;https://wiki.osdev.org/GRUB&#34;&gt;GRUB&lt;/a&gt;的现成工具可以直接用。&lt;/p&gt;</description>
    </item>
    <item>
      <title>跟着OSDev网站搭建个人操作系统（一）</title>
      <link>https://daichao1997.github.io/posts/tech/2020-05-05-osdev-barebone/</link>
      <pubDate>Tue, 05 May 2020 00:00:00 +0800</pubDate>
      <guid>https://daichao1997.github.io/posts/tech/2020-05-05-osdev-barebone/</guid>
      <description>&lt;p&gt;发现一个宝藏网站：osdev.org（我没火星吧），这是我见过的内容最丰富最全面的操作系统开发者社区，里面的wiki不仅教你从零开始搭建内核与操作系统，还传授了一些人生经验，给刚准备起航的newbie指路（或是劝退），可以说是OS新手开发者的福地了。我今天也没干什么，就按照它给的教程一步步走，在QEMU上跑通了一个空空如也的内核，然后准备把大致的步骤记录在这里。当然，我现在是个纯newbie，最多只能做个概括+翻译而已。如果你有兴趣，可以直接去读原文，我会把每篇文章的链接附上。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
