开发操作系统的方法也是各种各样的。

笔者认为,最好的方法就是从既存操作系统中找一个跟自己想做的操作系统最接近的,然后在此基础上加以改造。这个方法是最节省时间的。

但本书却故意舍近求远,一切从零开始,完完全全是自己从头做起,这是因为笔者想向各位读者介绍从头到尾开发操作系统的全过程。如果我们找一个现成的操作系统,然后在此基础上删删改改的话,那这本书就不能涉及操作系统全盘的知识了,这样肯定无法让读者朋友满意。不过由于是全部从零做起,所以篇幅长些,还请读者朋友们耐下心来慢慢看。

要开发操作系统,首先遇到的问题就是使用什么编程语言,这次我们想以C语言为主。“啊,C语言啊?”笔者仿佛已经听到大家抱怨的声音了(苦笑)。“这都什么年代了,用C语言多土啊”、“用C++多好呀”、“还是Java好”、“不,我就喜欢Delphi”、“我还是觉得Visual Basic最好”……大家个人喜好习惯各不相同。这种心情笔者都能理解,但为了讲解时能简单一些,笔者还是想用C语言,请大家见谅。C语言功能虽不多,但用起来方便,所以用来开发操作系统刚好合适。要是用其他语言的话,仅讲解语言本身就要花很长时间,大家恐怕就没兴趣看下去了。

在这里先向大家传授一个从零开始开发操作系统的诀窍,那就是不要一开始就一心想着要开发操作系统,先做一个有点操作系统样子的东西就行了。如果我们一上来就要开发一个完整的操作系统的话,要做的东西太多,想想脑袋都大了,到时恐怕连着手的勇气也没有了。笔者就是因为这个,几年间遇到了很多挫折。所以在这本书里,我们不去大张旗鼓地想着要开发一个操作系统,而是编写几个像操作系统的演示程序 就行了。其实在开发演示程序的过程中大家就会逐步发现,演示程序不再是简单的演示程序,而是越来越像一个操作系统了。

摘自《30天自制操作系统》

开发操作系统的各种方法相关推荐

  1. Linux操作系统Ubuntu 22.04配置Visual Studio Code与C++代码开发环境的方法

      本文介绍在Linux Ubuntu操作系统下,配置Visual Studio Code软件与C++ 代码开发环境的方法.   在文章虚拟机VMware Workstation Pro中配置Linu ...

  2. 《高效团队开发工具与方法》

    一直以来都在用所谓的敏捷开发,但是也只是简单的说,用什么用什么,从开始感觉不方便,到后来感觉习惯了,可没有考虑过到底能带来什么改变,所以最近在上下班的地铁上在看完了<高效团队开发工具与方法> ...

  3. iOS 高效开发-----实现description 方法 (续)

    在 "iOS 高效开发-----实现description 方法"这篇文章的最后,我留下了一个问题,就是,如果要给每个自定义的类覆写description方法和debugDescr ...

  4. Mybatis学习记录(二)----mybatis开发dao的方法

    1  SqlSession使用范围 1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory 将Sq ...

  5. mybatis由浅入深day01_5mybatis开发dao的方法(5.1SqlSession使用范围_5.2原始dao开发方法)...

    5 mybatis开发dao的方法 5.1 SqlSession使用范围 5.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂 ...

  6. 《敏捷软件开发-原则、方法与实践》-Robert C. Martin

    Review of Agile Software Development: Principles, Patterns, and Practices 本书主要包含4部分内容,这些内容对于今天的软件工程师 ...

  7. vs2015配置python环境_Windows10系统安装vs2015+cocos2d-x 3.9开发环境的方法

    现在,越来越多用户都安装了win10正式版,不过部分用户因为对新系统太过陌生,所以在操作时总会碰到一些问题.比如,一位朋友因为工作需求,想要在Win10下搭建vs2015+cocos2d-x 3.9开 ...

  8. 【vue开发问题-解决方法】(八)利用axios拦截器实现elementUI中加载动画,控制加载区域

    [vue开发问题-解决方法](八)利用axios拦截器实现elementUI中加载动画,控制加载区域 参考文章: (1)[vue开发问题-解决方法](八)利用axios拦截器实现elementUI中加 ...

  9. 华三刀片服务器如何安装系统,刀片服务器及其操作系统的安装方法及系统专利_专利查询 - 天眼查...

    一种刀片服务器操作系统的安装方法,其特征在于,包括:将刀片服务器设置为预启动执行环境PXE网卡启动:重启所述刀片服务器,所述PXE网卡获取并加载PXE控制内核:所述PXE控制内核加载操作系统启动内核以 ...

最新文章

  1. 2021年九月最新Java面试必背八股文,338道最新大厂架构面试题
  2. php -- 读取大文件
  3. boost源码剖析之:泛型编程精灵type_traits(rev#2)
  4. 大数据每周分享第 008 期
  5. map.addoverlay php,覆盖物 - 百度地图开发文档 - php中文网手册
  6. python源文件改写编写一个程序读取一个python源程序文件_学PYTHON第三节:编译和解释...
  7. 如何在几天时间内快速理解一个陌生行业?
  8. kotlin android获取按钮,Kotlin Android按钮
  9. 用JSON-server模拟REST API
  10. html中多一条黑线,Word页面中上下各有一条黑线怎样去掉?
  11. 微信公众号最佳实践 ( 10.2)回复QQ表情和Emoji表情
  12. 实现网站的高并发访问
  13. Mybatis初学一个问题困扰一下午 The error may exist in com/.........
  14. SDRAM学习(一)——初始化
  15. flink jdbc connector支持clickhouse
  16. 学生成绩管理系统总体设计
  17. 一个简单的使用支持向量机(SVM)进行回归预测的Python代码示例,包含了源数据和注释
  18. C++中方括号[]的作用总结
  19. 爬虫——豆瓣电影top250
  20. 从零开始搭建你的Web服务器

热门文章

  1. oracle监听显示未成功_理解 oracle 的 lsnrctl status
  2. html钟无序列表不换行,风格无序列表中奇怪的换行符?
  3. 实验五:任意输入10个int类型数据,排序输出,再找出素数
  4. 安装Visual C ++进行跨平台移动开发
  5. python精简笔记(五)——函数式编程
  6. SQL Server将数据导出SQL脚本的方法 转
  7. MVP遇到GMCT:不加入域更改密码有几种方法?
  8. [SimpleOJ229]隧道
  9. master线程的主循环,后台循环,刷新循环,暂停循环
  10. 坑系列 —— 缓存+哈希=高并发?