DIY操作系统(引文)】的更多相关文章

构想根据<30天自制操作系统>以及<ORANGE’S:一个操作系统的实现>初步实现一个操作系统. 先开个头,以后的棋一步一步下.…
先说几句题外话: 回想第一次看到<30天自制操作系统>这本书时,就被这快餐般的标题深深吸引了,我无法想象如此复杂有内涵的内容能在30天就弄出来,直到我花了一个多月看到这本书的第9天时,我放弃了. 然而这次. 对不起,我是认真的! 以下开始正文,都是个人浅见,如有错误,欢迎斧正. 操作系统如何自己运行起来? 首先,机器自动读取磁盘的第一个扇区(512字节),并载入到内存的0x7c00位置,然后执行第一个扇区的代码,这段代码会读取磁盘后续的扇区到内存,接着跳转到引导文件,由引导文件继续启动操作系统…
      许久之前就有写一个tiny的操作系统的打算,但时间和精力关系,想法一直没有成为最终的代码.操作系统的构建本身是个系统工程,门槛较高,需要多方面的知识,往往几行代码背后是厚厚的几本书才能说清的.之前为了写操作系统也是四处搜集资料,看了许多书,没有啥经验,花费了许多时间,到头来也没什么成果.因此,开个帖子,一是记录自己写这个os的过程,分享下经验:另外,也是抱着边写边学的态度,想着通过动手实践来跨过这个门槛.       下面是自己整理的一些资料,后面可能会用到.本文用到编译平台是64位…
ld -m elf_i386 as --32 gcc -m 16 o…
在gcc命令行参数中可以使用-fno-omit-frame-pointer来开启栈帧的使用,或者使用-fomit-frame-pointer选项来关闭. 然而,也可以针对某一个函数进行配置方法如下,这里add函数关闭了栈帧,p函数默认开启了栈帧. 这里是通过objdump -d 来反汇编的结果,可以看出两个函数汇编代码的区别…
来源:<Debian标准教程>王旭 著 Slackware.Debian.RedHat.SuSE 这4种发布版是当今大部分发布版的前去,虽然SuSE衍生自Slackware,但由于其技术变革非常大,通常被视为完全独立的发布版 Slackware 介绍:最古老的Linux发布版,由Patrick Volkerding创立于1993年,目标:稳定.简单.尽量与UNIX兼容缺点:图形界面美观性其他:软件包以传统的tgz格式打包,通过pkgtool管理软件包的安装.升级与卸载 Debian 独特:没有…
R++是专为懒人设计的国产编程语言.支持无操作系统裸奔.编译成机器码.android.cocos2dx绑定.中文编程.闭包.惰性求值.JSON.Lisp的S表达式.内联汇编.伪代码.模板.宏.多重继承.元编程.反射.自省.指针.引用. 为什么须要它? 1.眼下DIY操作系统一般使用gcc+nasm,R++是编译型语言,抽象能力强过C,可直接内联汇编.不须要面对讨厌的AT&T汇编,绝对是您DIY操作系统的利器(支持GRUB从U盘或硬盘引导).  2.R++没有GC,所以理论执行速度和C++一样.能…
这个连载是根据<30天自制操作系统>这本书所写 只是类似于补充之类的东西,要详细的讲解,还请参照书上的内容 所以,首先我们要感谢作者川合秀实先生!(鞠躬) 为什么我想写这么一个补充的? 因为这本书的所使用的软件,对于2014年来说,确实是有点旧了. 但是如果不用川合先生的那些方便的工具,开发会变得很麻烦. 所以,在开始之前就有一个大难题——用什么工具开发? 所以就有了这篇补充 这篇补充的目的是: 使用能在网上容易找到的软件来开发出操作系统. 我们不求完美,但只求最后能在U盘上插在现实的电脑上启…
这个博客开了这么久都没写过什么东西.可能是因为我想写的东西在网上都能找得到,所以自己也懒得去写了. 但是这次当我在看<30天自制操作系统>这本书的时候发现,如果不用作者原版的光盘软件,要自己摸索着写完整个操作系统的难度还挺大. 最关键的是这次很多东西在网上没有现成的答案. 所以这次就决定开始写连载. 记录一下学习过程的同时,也为将来想看这本书的读者提供一些有用的信息. (由于最近也很多东西忙,所以只能争取每周一更,希望大家谅解(+﹏+)~)…
书上已经为我们提供了最简单的“hello world”程序了 相信大家玩的也挺欢乐的,不过这只是引导扇区的雏形 而且如果找不到完整的光盘上的源代码,新手估计很难学的下去 所以之后文中也会尽量贴出代码 不过在继续开始之前,我们有另外意见很重要的事情要做: 让所有东西都在掌控之中! 如果你觉得觉得有几个特殊寄存器的值不知道怎么给,那么 接下来我们要看看怎么样随心所欲地给所有寄存器赋值 Intel x86系列寄存器与赋值方式 (存放到内存顺序:低地址对低地址) 32bit名称 16bit名称 注释 赋…
2016/7/15 电子爱好者DIY篇 一年和之前就想到了一些感悟,现在有些模糊的清晰起来了,但还是不够清晰,故写下来做个日志. 结论 首先把结论放在前面.目前随着电子集成电路的发展,电子DIY越来越成为一种兴趣爱好,消磨时间的一种手段,而创造不出来实际的价值. 现在是一个软件的世界.如果脱离了软件(微控制器),电子世界就会失去很多光彩. 个人DIY爱好者的理想与现实 做产品我们需要承担责任,但是做DIY我们不需要承担责任. 首先,我们意识到,单纯的电子爱好者的DIY几乎创造不出来价值.必须将技…
2007.05.13    二十一世纪到了,每个人都强调自己的个性,于是一种叫做DIY的东西悄然兴起. 操作系统作为全人类智慧的结晶,自然DIY起来难度极大,因而DIY出一个操作系统成就感绝对比买宜家的东西的成就感大. 为了不至于从头开始编写一个操作系统,我们当然把采用现成的操作系统作为一个底线. 当然,我们可以通过LFS让我们爽到底,但是,能够做到LFS的人可真的是凤毛麟角.而且更重要的是LFS简直在挑战我的忍耐程度. 我的这篇文章,教大家如何DIY一个自己的ubuntu发行版.在非常节省时间…
1打造iMAC:DIY常规兼容机安装MAC OS回顶部 [PConline 评测]最近消息透露苹果下个月即将发布新系统MAC OS X 10.9,这是什么东西?对于苹果,留给我们印象最为深刻的是iPhone.iPad这些移动设备,Macbook.MAC这类苹果PC并不常接触,更何况使用呢. Mac系统是苹果机专用系统,是基于Unix内核的图形化操作系统:一般情况下在普通pc上无法安装的操作系统,由苹果公司自行开发.这就是为啥那么少用,苹果的PC并不便宜,而系统又难以装在其他电脑上.但自从苹果使用…
大家一起来diy 超低价四核的exynos4412或者Cortex A8S5pv210开源开发板 商业版Sate210已经完成了好久了.Sate4412 也已经出来.但是这两个接口非常全,主要是针对企业的,尤其是Sate4412 GPS,wifi,LVDS,VGA,HDMI,USB接口等全部引出扩展相当的多,所以不适合个人玩,成本太高.现在突然有一种想做一个扩展性很强的,但是底板只提供接口的板子,这样可以做的很低成本,技术对我们来说已经不是问题,关键是做成什么样子,才会最便宜,最有扩展性?!也适…
[编者按]作者 Emil Soman,Rubyist,除此之外竟然同时也是艺术家,吉他手,Garden City RubyConf 组织者.本文是 DIY Ruby CPU Profiling 的第二部分.本文系 OneAPM 工程师编译整理. 在第一部分中我们学习了 CPU 分析的含义和进行 CPU 分析的两种方法,点此处回顾第一篇精彩内容.在这一部分我们将研究 CPU time 和 Wall time,这些部分总被用来测量执行开销.我们也会写一些实现这些测量方法的代码作为建立 CPU 分析的…
突然有一种冲动,想要写一个编译器. 因此,检查在网上搜索相关信息,思想direct3D 有本书叫龙,也有个龙书 Compilers Principles,Techniques, & Tool 和虎书 Modern Compiler Implementation in C  . 在开源项目上找到了编译器的开源项目,当中有一个是UCC 模仿的LCC 写出来的.只是据说这个UCC 是清华大学大三学生做的,本人也是大三,也想去尝试下,相信自己一定能够的!大学学了3年的理论.操作系统,计算机组成原理,汇编…
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的,先学一些Linux命令行相关的知识,对后续ROS教程的快速上手会大有帮助.由于后续ROS的开发都是在Linux发行版ubuntu系统上进行,所以本章节就以ubuntu系统为例,对Linux命令行相关的知识进行展开讲解,本章节主要内容: 1.Linux简介 2.安装Linux发行版ubuntu系统 3…
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的,先学一些Linux命令行相关的知识,对后续ROS教程的快速上手会大有帮助.由于后续ROS的开发都是在Linux发行版ubuntu系统上进行,所以本章节就以ubuntu系统为例,对Linux命令行相关的知识进行展开讲解,本章节主要内容: 1.Linux简介 2.安装Linux发行版ubuntu系统 3…
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的,先学一些Linux命令行相关的知识,对后续ROS教程的快速上手会大有帮助.由于后续ROS的开发都是在Linux发行版ubuntu系统上进行,所以本章节就以ubuntu系统为例,对Linux命令行相关的知识进行展开讲解,本章节主要内容: 1.Linux简介 2.安装Linux发行版ubuntu系统 3…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的servic…
摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过机器人大脑处理并输出反馈和执行动作.本章节涉及到的传感器有激光雷达.IMU.轮式里程计.麦克风.音响.摄像头,和用于处理信息的嵌入式主板.关于传感器的ROS驱动程序开发和在机器人上的使用在后面的章节会展开,本章节重点对机器人传感器和嵌入式主板进行讲解,主要内容: 1.ydlidar-x4激光雷达 2…