导航:首页 > 电脑系统 > 电脑系统怎么写

电脑系统怎么写

发布时间:2022-08-16 23:41:27

‘壹’ 怎样自己写一个简单的操作系统

只要你学过汇编和C,只满足于写个“简单的操作系统",一两天就能搞定。

随便把你写过的小程序,用直接写硬盘软件(或者自己编一个,调用winapi的WriteFile函数就可以),写进硬盘/U盘引导区。记住,起始地址是7c00。

这就好了。注意,引导区只有440个字节给你用,程序不能太大,所以这部分基本要用汇编写。440字节后面是硬盘/U盘分区信息,不可以乱动。乱动以后bios可能没法识别硬盘/U盘。
引导区最后两个字节必须是55AA,不过一般你不用管,硬盘/U盘格式化的时候都已经给你写好了。

这样你的程序就在开机的时候直接运行了。

想调用大程序也没问题,你需要写个不超过440字节的程序,负责把第二个扇区的内容载入内存并执行,由第二个扇区的代码负责把所有代码载入内存。后面的部分用C写或者别的高级语言写都没什么问题了。

‘贰’ 如何从零开始写一个简单的操作系统

如何动手制作这样的引导扇区呢?这个过程十分简单,
(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 *_*
打印在屏幕上!

‘叁’ 怎么编写操作系统

WINDOWS,LINUX/UNIX系统都是用C语言编写的.
可以说90%以上的代码都是C语言写成,只有少量的核心代码是用汇编完成的.
这在计算机行业来说,已经是通用的知识.稍微懂一点系统的人都知道.
操作系统和驱动程序是用C语言编写的.
或者我有个"自己动手写操作系统完全版"的电子书,加我,我传给你~~在邪八下的。

‘肆’ 怎样编写像Windows这样的操作系统

  1. 90%的C语言+10%的汇编语言

  2. windows系统都主要是用C语言编写的

  3. 我们在用windows平台上编程的时候,要调用系统API(应用程序接口),这些接口封装在系统的.dll(动态链接库)里面,所有的API函数都是32位平台上的C函数,从windows3.0一直windows95,到现在的win2003,都是基于C函数库的程序集,所以用C函数编出的系统程序系统执行效率最高,当然在底层的一些调用,不排除有些是用汇编编的,但内核大多是用C做的。

  4. 另:MFC只是windows系统上API函数的封装,基于面向对象原理,服务于GUI程序设计,MFC从AFX发展而来,已有十多年的历史,最新的MFC6.0,那是设计基于windows系统程序的,而不是用来编写操作系统本身,但也不能完全这样说,系统上有些服务(可以说很多,比如时间)是用MFC做的。

‘伍’ 电脑系统的英语名字怎么写

Computer
System
Administrator
是Windows系统默认的管理员帐号

‘陆’ 怎样写一个计算机操作系统

兄弟。xp是用basic编写的吧~~老盖对这个语言很有感情哦
其实你要编写系统用什么语言都行。只要你有那个能力~~
xp这么漂亮强大的系统用basic都能写出来。呵呵。不过用了有2亿多条哦~~
microsoft那么多人花了几年时间才搞出来的/
楼主。还想编写吗?

‘柒’ 操作系统是如何编写的用什么语言编写的

操作系统使用C语言和汇编编写的,Windows,UNIX,Linux都是这样的。绝大部分是C,极少情况使用汇编。
操作系统的编写需要与硬件厂商紧密配合,两者相辅相成。操作系统的实现要对硬件作出假设,硬件的设计要对操作系统的使用做出假设。所以开发操作系统很大的难度就是要和众多硬件设备供应商保持紧密的合作。
编写操作系统,和开发应用程序很大的不同是,他没有平台的库函数使用,很多时候是直接面向硬件,而且不是像应用程序是靠事件来驱动,而是靠中端机制来促使操作系统运行

‘捌’ 怎么写操作系统

一般用C写吧,简单的写起来挺容易,但是一定不实用。
要写操作系统倒不如改linux好。

‘玖’ 电脑系统怎么做

在开始回答你的问题之前,先看看程序的发展历史,请留意有关储存器和数据的描述:

1834 年:Babbage 设想制造一台通用分析机,在只读存储器(穿孔卡片)中存储程序和数据 。Babbage在以后的时间里继续他的研究工作,并于1840 年将操作位数提高到了40 位,并基本实现了控制中心(CPU)和存储程序的设想,而且程序可以根据条件进行跳转,能在几秒内做出一般的加法,几分钟内做出乘、除法。
1890 年:美国人口普查部门希望能得到一台机器帮助提高普查效率。Herman Hollerith (后来他的公司发展成了IBM 公司)借鉴Babbage 的发明,用穿孔卡片存储数据,并设计了机器。结果仅用6 周就得出了准确的人口统计数据(如果用人工方法,大概要花10 年时间)。
1935 年:IBM 推出IBM 601 机。这是一台能在一秒钟内算出乘法的穿孔卡片计算机 。这台机器无论在自然科学还是在商业应用上都具有重要的地位,大约制造了1500 台。
1941 年夏季:Atanasoff 和学生Berry 完成了能解线性代数方程的计算机,取名叫"ABC "(Atanasoff-Berry Computer),用电容作存储器 ,用穿孔卡片作辅助存储器,那些孔实际上是"烧"上去的,时钟频率是60Hz,完成一次加法运算用时一秒。
1943 年1 月:Mark I 自动顺序控制计算机在美国研制成功。整个机器有51 英尺长 、5 吨重 、75万个零部件。该机使用了3304 个继电器,60 个开关作为机械只读存储器。程序存储在纸带上 ,数据可以来自纸带或卡片阅读器。Mark I 被用来为美国海军计算弹道火力表。
1943 年9 月:Williams 和Stibitz 完成了"Relay Interpolator ",后来命名为"Model Ⅱ Re-
lay Calculator "的计算机。这是一台可编程计算机,同样使用纸带输入程序和数据。它运行更可靠,每个数用7 个继电器表示,可进行浮点运算。
真空管时代的计算机尽管已经步入了现代计算机的范畴,但因其体积大、能耗高、故障多、价格贵,从而制约了它的普及和应用。直到晶体管被发明出来,电子计算机才找到了腾飞的起点。
1947 年:Bell 实验室的William B.Shockley 、 John Bardeen 和Walter H.Brattain 发明了晶体
管,开辟了电子时代新纪元。
1949 年:剑桥大学的Wilkes 和他的小组制成了一台可以存储程序的计算机,输入输出设备仍是纸带。
1949 年:EDVAC(Electronic Discrete Variable Automatic Computer--电子离散变量自动计算机)--第一台使用磁带的计算机。这是一个突破,可以多次在磁带上存储程序。这台机器是John von Neumann 提议建造的。
1950 年:日本东京帝国大学的Yoshiro Nakamats 发明了软磁盘 ,其销售权由IBM公司获得 。由此开创了存储时代的新纪元。
1951 年:Grace Murray Hopper 完成了高级语言编译器。
1951 年:UNIVAC-1 --第一台商用计算机系统诞生,设计者是J.Presper Eckert 和John Mauchly 。
被美国人口普查部门用于人口普查,标志着计算机进入了商业应用时代。
1953 年:磁芯存储器被开发出来。
1954 年:IBM 的John Backus 和他的研究小组开始开发FORTRAN(FORmula TRANslation) ,1957 年完成。这是一种适合科学研究使用的计算机高级语言。
1957 年:IBM 开发成功第一台点阵式打印机

好了现在开始吧:

操作系统是什么呢?说白了就是一套计算机的指令集合,而计算机的指令就是'1010101'之类的机器码,说到底,‘1001010’也是数据,就是可以储存在介质之中的东东,比如纸质卡片,磁盘,芯片上。对于问题“第一个操作系统如何编写的呢”,可以归结为:第一个计算机软件如何编写(在这里,请改变对操作系统的神秘感,操作系统也是一个软件,一个特殊的程序),即是计算机的指令如何记录下来,并且被计算机执行。那么答案已经出来了~~,请再次看一下上面的例子,你会有所启发

还有什么问题请问吧~~~

还有一个问题回答:“自带boot”虽然不知道你这是什么意思(boot程序??),但是可以肯定告诉你,在硬件生产时,“可以”直接把’boot”生产在芯片上,为什么?如上说,程序就是10100数据,生产商只要在芯片上设置电路的通断,就可以表示10101001000101 (注意了,这里只是一个例子)

好吧,现在假设我们有电脑,要开发操作系统,但是知道计算机指令

那么下面的一段程序(示例)我不得不把他写在纸质笔记本上:

mov ax,0

..

...

这段程序人工翻译成机器码,到现在还没有操作系统:

........

好了操作系统在我的纸上写好了,我就请求硬件开发商把我的程序刻录到软盘上,于是开发商就对照.....把数据刻录到软盘上

于是,操作系统开发完毕,只要想办法被CPU执行就可以了

阅读全文

与电脑系统怎么写相关的资料

热点内容
怎么删除笔记本电脑没用的文件 浏览:544
台式电脑如何连接光猫 浏览:999
电脑屏幕配置家用 浏览:948
电脑开机后机壳有感应 浏览:37
win10怎么找不到我的电脑图标 浏览:701
电脑怎么设置打版 浏览:43
电脑双硬盘拆机 浏览:283
13年dell戴尔微型台式电脑 浏览:750
电脑用什么作图软件 浏览:854
秒玩手游软件苹果 浏览:119
电脑检测不到已安装程序怎么办 浏览:447
怎么看电脑风扇转速 浏览:92
台式电脑ap 浏览:343
台式电脑没有光驱怎么办 浏览:403
电脑主机安装柜子 浏览:713
电脑重装系统网络连不上怎么解决 浏览:869
电脑系统w8wifi怎么连接 浏览:5
刚装的台式电脑没有声音 浏览:525
苹果电脑怎么翻看照片 浏览:58
wifi正常电脑突然没网了 浏览:934