當前位置:首頁 » 編程軟體 » 編程一個系統

編程一個系統

發布時間: 2022-04-05 03:57:32

A. 我想學編程,誰給我一個系統的方案

嗯,不錯,有志氣。
現在語言很多,常見的有java,vb,c,c#,c++等等
我推薦三個:
1.java,這個跨平台能力強,可在windows/unix/linux等多種平台運行,但學習難度大,不易掌握
2.c#,這個是visual studio中的一種,學習難度一般
3.vb.net,這個較容易上手,但開發高級大型軟體較吃力。
這三種,根據你自己需要挑一個吧。
要說系統方案,我覺得你應該需要以下以樣東西
一本書,一個編程軟體,一台上網的電腦
A.一本書,我推薦你先看基本教程(千萬不要一上來就看*****高級編程教程),如vb2005初級入門教程。看書的過程你可以結合軟體操作同時進行。只需要看這一本書就夠了,其它的不要再看了,以後也不需要,不會的你就上網搜,或者看幫助文檔,如msdn2005
B.定期給自己下任務,如編個和WINDOWS計算器功能相似的計算器,在編程的過程中你的知識會逐漸擴展,也會不斷豐富。
當然,整個過程起步很難,中後期,你會覺得很舒服。
大致就是這樣。
希望你能滿意!

B. 怎樣用C編寫一個操作系統,詳細的方法

1. 建立開發環境
這一步非常的簡單。
將masm613和vc15的壓縮包分別解壓到e:masm615和e:msvc15目錄下。你也可以放到其他目錄下,根據自己的情況而定,但是下面用到的編譯命令需要作相應的修改。也不需要添加或修改任何的環境變數。
2. IBM PC的啟動及當時的內存使用情況
這一部分內容已經是老生常談了,但又不能不說。我們只說從硬碟引導的情況。
當BIOS經過POST(Power On Test Self)後,將硬碟MBR讀到內存0x0000:0x7C00的位置,然後從這里開始執行。一般的情況,MBR將選擇活動分區進行操作系統的啟動。在MBR開始執行時,內存使用的情況如下圖所示,地址數據用16進製表示:
這已經是老掉牙的內容了,但是,在20年前卻十分流行。如果想更詳細的了解這方面的內容,找本講解DOS的書看看吧。
我們自己的操作系統將被載入到0x1000:0x0100。這不是必需或者必然的,是人為選擇的,你也可以將其放在0x4321:1234等其他地方。但是,上圖中註明有其他用途的內存區域,應該保留,否則,你會後悔的。
3. 開發操作系統
我們自己的操作系統運行在實模式環境下(如果您不知道什麼是實模式,也請看看20年前出版的當時非常流行的書,或者直接請教當時的前輩高手)。即使你的電腦是P4的CPU,剛啟動時,也只相當於主頻較高的8086而已。但是,沒有關系。
首先,使用匯編語言寫一個框架,文件名是entry.asm:
;
; entry.asm
; Copyright (C) 2004, Tian XiangYuan
;
.MODEL TINY,C
.386p
option expr32
option casemap:none
cmain PROTO NEAR C
.CODE
ORG 0100h ;偏移地址
_start:
jmp begin
nop
DB 'TianXiangYuan',0 ;the magic of my os
begin:
cli
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov sp,0FFFFh
sti
call cmain ;調用c語言寫的主函數
mov ax,4c00h ;調用DOS的功能(為了調試),與我們自己的操作系統無關
int 21h
這段代碼非常簡單,應該沒有什麼問題。
已經說了,操作系統將從0x1000:0x0100載入,說是無心,實則有意。我們知道,TINY模式的程序,在DOS下運行時,其起始地址就是0x0100,前面的256Byte是參數部分。如果直接將操作系統在系統啟動時載入到0x1000:0x0100,調試時非常麻煩。我們將其起始地址設為0x0100,使其可以在DOS下運行(這也是在程序的最後包含int 21h指令的原因),確認正確無誤後,再進行下一步的開發。
下面再看C語言的代碼,文件名是main.c:
……
static void InitShell()
{
}
void cmain()
{
InitShell();
TermShell();
}
顧名思義,其中實現了一個簡單的shell。因為該程序本身是操作系統的一部分,所以,平時經常使用的一些C庫函數,在這里就不能使用了。總之,一切都要自己動手實現。幸好,在實模式下,幾乎所有的設備的驅動都包含在BIOS中了,我們可以直接使用。否則,連從鍵盤讀一個鍵值這樣的事都需要自己寫鍵盤的驅動程序,實在太難了。也是這個原因,我們自己的操作系統沒有將CPU轉到保護模式下,有心之人可以試試。
下面的事情幾乎都可以使用C語言實現了。
第一,初始化顯示模式。系統啟動時,顯卡已經被初始化成3模式了,就是80X25的彩色模式(除非你的顯示器是單色顯示器),我們不需要再做什麼了。當然,你也可以將顯卡設成VGA甚至SVGA模式,只要你的BIOS和顯卡支持。
第二,實現一個具有簡單交互功能的shell。代碼不全,請自己補齊,或參看附件。
/*
*從鍵盤讀一個字元,如果沒有輸入,則等待;返回值的低位元組為asii碼,高位元組為鍵盤掃描碼
*/
static int getch()
{
int chr=0;
__asm
{
mov ah,00h
int 16h
mov chr,ax
}
return chr;
}
/*
*使用TTY模式向屏幕輸出一個字元
*/
static void putch(unsigned char key)
{
__asm
{
mov bh,0
mov al,key
mov ah,0Eh
int 10h
}
}
#define KEY_BACKSPACE 0x08
#define KEY_ENTER 0x0D
#define KEY_NEWLINE 0x0A
#define KEY_ESCAPE 0x1B
static int printk(const char* str,...)
{
…… //給大家一點空間,自己實現吧
}
static void endline()
{
putch(KEY_NEWLINE); //Line Feed (LF)
putch(KEY_ENTER); //Enter (CR)
}
static char msg_prompt[]="CMD:";
static void deal_cmd(char* cmd_line,int cmd_len)
{
…… //也請大家自己實現吧,例如,可以實現help,dir,cls,halt等命令
…… //其實,就是字元串比較的過程
}
static void TermShell()
{
char cmd_line[80]={0,};
int cmd_len=0;
endline();
printk(msg_prompt,sizeof(msg_prompt));
for (;;)
{
cmd_line[cmd_len]=getch();
switch(cmd_line[cmd_len])
{
case KEY_ENTER:
if (cmd_len>1)
deal_cmd(cmd_line,cmd_len);
//break;
case KEY_ESCAPE:
cmd_len=0;
endline();
printk(msg_prompt,sizeof(msg_prompt));
break;
case KEY_BACKSPACE:
if (cmd_len>0)
{
putch(0x08);
putch(' ');
putch(0x08);
cmd_len--;
}
break;
default:
putch(cmd_line[cmd_len]);
cmd_len++;
}
}
}
更復雜、功能更強大的方法請參考BIOS的相關文檔。也請大家發揮想像力,不斷的擴展功能。說心裡話,這個「操作系統」比dos還原始!但畢竟是自己的操作系統。

C. 用c語言編寫一個系統

可以試試使用Boland C++ Builder來編寫,它的資料庫編寫畢業設計還算富裕,也挺簡單的。

D. 一個人編寫一個操作系統是什麼概念

一個人寫一個簡單的操作系統內核是一件非常帥氣並且可行的事情。

如果缺乏能力/計劃,推薦《30 天自製操作系統》,或者相關鏈接

https://www.hu.com/question/25628124

E. 初學者學C語言要多久才能編寫一個系統的程序

那個要看你的是個什麼系統。復雜不,C語言編程
那個程序可以是很簡單的幾句話,也可能是有幾百行的大程序
系統的復雜程度決定你的工作量
這個問題不能一概而論。

F. 一般一個編程系統有多大容量

關於一個編程軟體的規模最小到底有多大,這個並沒有一定之規。這個編程軟體的規模大小是根據具體的用戶軟體需求,然後由相關的軟體開發人員編程實現的。而且了,即使是同一個用戶軟體需求,但是由不同的軟體開發人員來進行軟體源代碼的編寫,由於每個人的編程思路、以及編程風格肯定是不一樣的,所以其編程軟體的規模大小肯定是不一樣的。

所以說在進行編寫軟體源代碼上面,不必太刻意注意編程軟體的容量到底有多大。只要在用戶軟體開發之前注意做好:用戶需求分析、系統的總體設計、詳細設計、編寫詳細代碼、軟體測試以及調試程序、直到程序能夠正確運行出結果即可。

G. 編程用哪個系統

用一個翻譯過來叫「水井」的軟體,可以在linux運行windows程序。linux的JAVA開發教程好像是命令行操作的,好麻煩。QT好像是圖形界面的開發環境。

H. C語言編程一個管理系統

C語言寫這么一個很難,建議用java,c#或是c++之類的,會比較容易

I. 編寫一個操作系統要多少代碼

這個就說不定了,微軟那麼多人搞了幾年才搞出一個操作系統,那是有界面的. 帶有圖形界面的操作系統代碼量是非常巨大的,而linux就很小,因為純凈的linux是沒有圖形用戶界面的, linux最小可以精簡到4M大小就可以正常運行. 當然, linux加了圖形用戶界面後也很巨大, 相當於一個xp的安裝大小吧.
一個人要想寫出一個完整的操作系統,幾乎是不可能的.

J. 編程是一個怎樣的系統,將來可以做什麼

編程:就是編寫程序。運用計算機語言寫代碼,讓計算機去執行。使之成為可見的網頁或flash等可見事情。

編程需要用vb, c , c++ , java , .net之類的計算機語言來寫一些程序,讓計算機依照這種語言來執行任務。

學編程的話一般是從事計算機IT方面的工作了。當程序員,,美工,技工,軟體工程師之類的。編程,作網頁設計,當網路管理員之類的。

熱點內容
webrtc伺服器搭建哪家價格低 發布:2024-04-27 01:30:08 瀏覽:139
oracle資料庫無法啟動 發布:2024-04-27 01:29:20 瀏覽:612
倪萍超級訪問 發布:2024-04-27 01:23:29 瀏覽:704
java集合循環 發布:2024-04-27 01:17:18 瀏覽:593
解壓喪屍片 發布:2024-04-27 01:02:28 瀏覽:370
編程師加班 發布:2024-04-27 00:49:24 瀏覽:910
lol四川伺服器雲空間 發布:2024-04-27 00:42:08 瀏覽:934
卡宴怎麼看配置 發布:2024-04-27 00:41:08 瀏覽:942
央視影音緩存視頻怎麼下載視頻 發布:2024-04-27 00:25:55 瀏覽:584
手機緩存的視頻怎麼看 發布:2024-04-27 00:11:05 瀏覽:58