当前位置:首页 » 操作系统 » 30天自制操作系统源码

30天自制操作系统源码

发布时间: 2022-05-07 06:06:55

❶ 30天自制操作系统;软盘;u盘;文化格式;FAT12 OR FAT32;

软盘换U盘,比鸟枪换大炮还麻烦,牵涉到的问题很多,不光光是更改FAT那麽单纯。
把软盘换成硬盘,那麽可能会简单一些。
至于FAT12换成FAT32,相对来说,稍微单纯一些,只要你能找到FAT32的原代码换进去就行。网络上面,FAT32 的源代码不少,你可以搜寻关键字 ‘FAT32 源代码’。

❷ 谁有《30天自制操作系统》pdf电子书完整版

日文版《30天自制操作系统》光盘.iso

❸ 汇编语言 cpu 进入保护模式 虚拟机错误

我认为我能帮你捋一下思路(自己也遇到与描述类似的问题,还在解决)

(默认你已经会了基本指令)

我在进保护模式时,也遇到了CPU关闭的问题(如图)

有错的语句

其中的“OR EAX,0x00000001"就是设置保护模式的,CR0寄存器中的最后一位是保护模式标志位,这一个语句就是将其设为1(你应该知道CR0寄存器不能直接进行运算操作吧)


额……我能说的已经说完了,能帮多少帮多少吧

❹ 我买了30天自制操作系统,为什么光盘的内容汇编代码的注释全是乱码啊,我用了UE和notepad打开一样的乱码

反汇编之后就是这样,那些字符不被编译器支持,怎么换都没用,他并没有给出asm源代码文件,从实际上来说,这本书并不好,而且用的编译器为nask,一般我们弄这个都用GNU组织编写的gcc或者nasm,这几个编译器对汇编语言语法的支持用很大区别,傻子才会用机器语言去编程,他这样写只不过是增加趣味性而已,而且代码并不符合规范,建议你最好在linux下进行这方面的学习,windows不是为了解底层原理的人准备的

❺ 给我一个操作系统源代码的下载地址

我劝你要是制作操作系统的话不要依靠那些免费的资源,买几本书比什么都好。Linux源代码我下载过,根本没法看。你需要先明白操作系统的工作原理,熟练使用汇编+C语言才可能编写出一个很烂的操作系统。给你推荐一本《30天自制操作系统》,不是打广告,我看完也有很大收获。里面还有源代码光盘。

你实在想要的话,可以用这个

网页链接

这是Linux的内核代码,你可以免费看。不过我估计你看到后已经崩溃了。

顺便说一句,我其实早就看到过这个贴,而且我打赌你现在已经忘记这个了。

加油。

还有,在知道上提问,态度要好一点。

❻ 关于《30天自制操作系统》这本书的问题

你去下载 qemu
安装
然后在cmd输入qemu -fda obj -boot a obj就是你制作的系统文件名字
我以前就是这种方法 绝对可行
哈哈 给分吧

❼ 如何制作全新的操作系统(要使用全新的源代码,脱离微软和linux)

1.开发新的系统软件一般需要几年的时间(Windows是由团队共同完成,且都是程序员中的精英,一般需3~5年);
2.具体人数没有一定标准,微软的Windows是团队共同完成的,怎么的也有十几人到几十人;
3.需要特别熟练的掌握编程技术;
4.具体的不好估算,百万人民币以上;
5.如果只在我国市场销售的话,别指望能挣钱;
6.非常非常难,开发操作系统是软件开发中最难的;
7.只靠一个人的话,差不多要几十年;
8.需要学习编程,如果我国盗版严重的问题不能有效解决的话,我们自己的操作系统(自主知识产权)几乎不能问世。
随便说一下,对于系统软件,我国的技术、资金等根本不是问题,问题就是市场不好,盗版太严重了。研发操作系统需要巨大的投入,而盗版这么严重,别说盈利,连收回成本都有问题。企业是要以盈利为目的的,不是慈善机构,所以根本没有企业敢铤而走险(微软等国际企业根本不是通过我国市场盈利的)。你自己可以看一下,为什么现在的单机游戏基本全是国外公司开发的?而我国游戏企业几乎清一色在做网游?你自己应该可以看出原因吧?总之,解决的办法就是要严厉打击盗版,除了政府部门打击外,我们用户自己也要拒绝盗版,只有这样我国的软件业才会健康发展。

❽ 写系统咋写

如何动手制作这样的引导扇区呢?这个过程十分简单,
(1)首先按照要求写一个合法的引导程序(通常用汇编,机器码也可以,呵呵);
(2)然后将其通过汇编程序,如NASM汇编成二进制文件;
(3)最后,将这个二进制文件写入到目标盘的第一个扇区。

第一步:写代码
; 文件名:boot.asm
; 代码如下,注意,汇编中通常用“;”来表示注释内容
; 此段代码参考《自己动手写操作系统》(于渊)
;
; 初始化函数
org 07c00h ; 告诉编译器将此段程序加载
; 到内存0x0000:07C00处
mov ax, cs
mov ds, ax
mov es, ax
call PrintStr ; 调用屏幕打印函数
jmp $ ; 无限循环

PrintStr: ; 屏幕打印函数
mov ax, HelloWorld ; 将字符串拷贝到ax
mov bp, ax ; es:bp = 串地址
mov cx, 24 ; cx = 串长度
mov ax, 01301h ; ah = 13, al = 01h
mov bx, 000ch ; 页号为0(bh = 0) 黑底红字(bl = 0ch,高亮)
mov dl, 0
int 10h ; 10h号中断
ret

HelloWorld: db "Welcome to Lee's OS *_*" ; 字符串负值
times 510-($-$$) db 0 ; 用0x0填充剩余的空间使生成
; 的二进制代码刚好为512字节

dw 0xaa55 ; 结束标志
; 整个程序结束!很短吧

第二步:汇编
假设你已经安装了NASM程序,那么进入命令行模式,然后输入以下命令:
C:[PATH]\ nasm boot.asm -o boot.bin
其中“C:[PATH]\”为boot.asm代码文件所在位置。
现在如果不出意外的话,你已经拥有了boot.bin二进制文件,这个就是引导程序!

第三步:制作引导盘
由于不能随便更改硬盘,否则系统无法进入原来的操作系统,所以我们用软盘来试验。
那么,我们准备一张软盘。
现在,我们要自己写一个程序将我们汇编得到的二进制文件写到软盘的第一个扇区。
C语言程序代码如下:

/***************START***************/
#include
#include

int main(void)
{
FILE *in;
unsigned char buffer[520];

if((in = fopen("boot.bin", "rb"))==NULL)
{
printf("Error loading file\n");
exit(0);
}

fread(&buffer, 512, 1, in);
while(biosdisk(3, 0, 0, 0, 1, 1, buffer));
fclose(in);

return 0;
}
/****************END****************/
注意,这个程序必须同boot.bin文件在同一目录下,然后将软盘放进软驱,运行此程序。

第四步:GOGOGO
好了,现在你拥有了一张从头到尾完全自制的引导盘,由于有了她,你想运行你的电脑再也不需要微软插手了,而且这很可能是你第一次能在裸机上运行一个自己的程序哦,哈哈!
重新启动你的机器,记得把软盘放进去,现在你看见什么了?
一行醒目的红字:
Welcome to Lee's OS *_*
打印在屏幕上!

❾ 写一个操作系统内核有多难大概的内容,步骤是什么

“一个好一点儿的计算机硕士毕业的学生。写一个操作系统的内核绝对是应该办到而且肯定可以办到的事儿。” ------这句话我们可以理解为”一个好的计算机硕士掌握的理论知识足够他搭建起一个简单的操作系统框架“。

我上操作系统课(大二)的第一天就问我的老师,学完了这门课可以自己实现一个操作系统了吗?老师说:”你可以基本掌握操作系统中要处理的主要问题,但是即使实现最简单的五脏俱全的操作系统还需要掌握很多很多东西,而且前提是你已经有很不错的代码能力。“

回到题目上来,我们要实现一个简单的操作系统,最先需要解决的是哪些问题?这个问题我相信翻开任何一本操作系统书都可以得到答案,一般都是操作系统书的前五,六章内容(第一章基本是操作系统概念及发展历史)。
包括:

进程管理
存储管理
文件系统
输入/输出
这些大部分是讨论理论类的书,比如我们上课用的书是西电汤子瀛老师的《计算机操作系统》,后来自己为了深入学习买了Andrew S. Tanenbaum的《Modern Operating Systems》。

如果想写个操作系统,除了理论知识外,动手之前最好先看看操作系统源代码,Linux的代码都是开源的,可以先学习学习。不过对于我们这种初学者千万不要看最新的Linux内核代码,因为那是很多人的杰作,可能一辈子都看不完。最好先看看国内同济大学赵炯基于0.11的《Linux完全注释》,即使只看懂30%也至会让自己懂很多之前不知道的东西。

理论类的书很少有提到Bootload问题的,就是加电之后从哪里开始执行的部分。仅仅是这个步骤也需要花不少时间去了解CPU知识,汇编语言知识等,相当不容易。不话说回来,这部分如果能处理好之后会发现组成原理,汇编语言,微机原理的知识被自己运用到了,成就感巨大。这部分内容,可以参看MIT的课程6.828 Operating System Engineering的课程,Google一下就能搜到不少大牛关于这门课的博客。如果英语不太好我记得华中科技大学有一个叫32位操作系统实践的课,资料都放到网上了,看起来很不错。

过了这一关,用《深入理解计算机系统》加上《现代操作系统》看一下虚拟存储器的内容,这两本书这部分说得都很棒。虚拟存储器的概念贯穿所有,如果能弄懂,对很多方面都有很大的帮助,不仅仅是操作系统这块。有了虚拟存储器概念之后对于链接,加载等知识理解就会深刻许多。 不过,这部分内容也需要对硬件部分有所了解,又是一坑。

之后回到进程上来之后,终于可以把工作重心从硬件部分转移过来了。但是我们又将面对进程创建,进程调度,进程通信三大问题,既然是简单实现,就先不考虑线程的事。算法书中会给很多,不过这些算法都是有一定的局限性,比如调度算法,对应的调度算法优劣差异很大,至于如何抉择就看个人需求。不过话说回来,操作系统里的”算法“和ACM里的算法在难度上差很多,还是比较容易实现的。

内容太多了,就不完全展开了,后面就看自己“耐力”了,写操作系统是需要坚持很长实践+大量知识积累的。有些问题还涉及到哲学的观点,这里推荐上海交大邹恒明教授的《操作系统之哲学原理》。除了理论方面的书,现在市面上也有直接教如何实现一个操作系统的,比如《Orange'S:一个操作系统的实现》和《30天自制操作系统》(仅有的几本“XX天XX”而不是烂书的书),起步阶段跟着这些书来还是很不错的。

总之,实现最最基本的功能也许可以做到。实现功能强大,鲁棒性强的操作系统极难。

❿ 操作系统-cpu调度算法设计

对等动态优先权算法,进程调度过程掌握情况;考查学生的写算法和编程能力等;考查学生的分析问题和解决问题的能力;实验报告的撰写能力等。 设计思路: (1)先对就绪队列,阻塞队列,cpu的进行初始化。 (2)进行进程调度的选择。 1)cpu,就绪...

热点内容
创建实例在linux 发布:2024-10-07 18:03:16 浏览:485
黑客学c语言 发布:2024-10-07 17:37:39 浏览:942
ftp比较文件 发布:2024-10-07 17:04:56 浏览:39
如何配置幼儿园园内的玩具 发布:2024-10-07 17:04:23 浏览:863
干支日算法 发布:2024-10-07 16:47:17 浏览:502
sqlin语句用法 发布:2024-10-07 16:45:05 浏览:640
直出服务器怎么样 发布:2024-10-07 15:41:36 浏览:478
比亚迪唐dmi哪个配置性价比 发布:2024-10-07 15:19:28 浏览:903
编译器按变量 发布:2024-10-07 15:07:03 浏览:775
怎么忘记电脑wifi密码怎么办 发布:2024-10-07 15:02:18 浏览:426