Norlit OS —— 自制操作系统 第0章 热身运动

0  热身运动

0.1         前言

开发操作系统是很多程序员的终极梦想,但是很多人认为这是不可能的,其实,只要有爱,什么事都能办到(但超能力这种事情的话估计只有学园都市[1]了吧)。

操作系统的编写的确是不容易的,但是一步一个脚印,终究会换来成功。

什么操作系统是天方夜谭啊等等说法,其实是错误的。我们凭一己之力,虽然不一定做得出Windows这种动辄几GB的操作系统,也不一定能像Linux那样跨多平台,甚至不支持网络、音频设备,但是一定能有自己的用武之地,正如天生我才必有用

我们的操作系统只求精简易用,而不求庞大复杂,毕竟我编写操作系统也是为了学习。好了,废话不多说(其实你还在讲呢),现在动工吧!

 

0.2         什么是操作系统

既然是编写操作系统,那必然需要先知道什么是操作系统。

虽然大家每天接触操作系统,但是很少有人能够给出个恰当的定义。操作系统(Operating System),是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。

操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。目前流行的计算机作系统主要有LinuxMacOS XWindows等,除了Windows等少数操作系统,大部分操作系统都为类Unix[2]操作系统。

历史上,还有MS-DOS这种古老的操作系统。但这种操作系统不具备现代操作系统的很多优点。我们既然做了,何不做好呢,是吧。

 

0.3         开发操作系统的语言选择

         我们首先必须选择我们使用的语言。我的选择很简单,汇编和C语言搞定一切。为这么使用这两种语言是有原因的,首先,我们是要与机器打交道,操作系统与平台架构直接相关,汇编是必须的。其次,太高级的语言会封装非常多的东西,不仅增加文件大小而且还会影响性能。所以,本书要求读者有汇编和C语言基础。

         另外,需要注意的是,我们开发的系统基于X86/64[3],苹果电脑[4]的各位只能使用虚拟机来开发书中所讲的一切了,看,谁说苹果电脑好了(笑)。

 

0.4         开发环境

我们使用GCC[5]NASM[6]来编译我们的操作系统。因

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值