1. 如何開發系統
系統開發流程分為: 需求分析——概要設計——詳細設計——編碼——系統測試——系統交付——用戶驗收——維護
需求分析:相關系統分析員向用戶初步了解需求
概要設計:需要對軟體系統的設計進行考慮,包括系統的基本處理流程、系統的組織結構、模塊劃分、功能分配、介面設計、運行設計、數據結構設計和出錯處理設計等,為軟體的詳細設計提供基礎
詳細設計:在概要設計的基礎上,開發者需要進行軟體系統的詳細設計
編碼:開發者根據數據結構、演算法分析和模塊實現等方面的設計要求,開始具體的編寫程序工作,分別實現各模塊的功能,從而實現對目標系統的功能、性能、介面、界面等方面的要求
2. 開發電腦系統很難是嗎
其實開發電腦系統並不是太難的一件事情。
我們公司有一位高人,有一回WINDOWS系統壞了,他修了半天也沒有修好,就自己開發了一個電腦系統,比WIN系統還好用。
中國有句古話:世上無難事,只要肯登攀!只要你下定決心,一定可以自己開發出一個電腦系統來的!加油!
3. 怎麼自己製作一個電腦系統
如果製造一個操作系統那麼容易的話,微軟早就破產關門了,蓋茨直接回家掏大糞去了。
正如游戲的核心是引擎一樣,系統的骨架在於內核,你最需要的就是寫出一個系統程序內核來。
uinx內核造就了mac,也衍化出linux,linux的內核又延伸出無數版本…
你一開始不要急於自己寫系統,還是裝個linux研究研究吧,這個開放程序源代碼的系統對你很有幫助。祝你好運,早日寫出咱國人自己的操作系統,幹掉蓋茨和貝爾!
4. 開發操作系統需要具備哪些條件
1、進程管理,其工作主要是進程調度,在單用戶單任務的情況下,處理器僅為一個用戶的一個任務所獨占, 進程管理的工作十分簡單。但在多道程序或多用戶的情況 下,組織多個作業或任務時,就要解決處理器的調度、 分配和回收等問題 。
2、存儲管理分為幾種功能:存儲分配、存儲共享、存儲保護 、存儲擴張。
3、設備管理分有以下功能:設備分配、設備傳輸控制 、設備獨立性。
4、文件管理:文件存儲空間的管理、目錄管理 、文件操作管理、文件保護。
5、作業管理是負責處理用戶提交的任何要求。
(4)開發電腦系統擴展閱讀:
操作系統舉例:DOS-磁碟操作系統
完整的DOS由五部分組成:
1、引導程序( BOOT ):由格式化程序直接寫入磁碟初始扇區。
2、基本輸入/輸出管理程序(PC-DOS為IBMBIO. COM、MS-DOS為IO.SYS)。
3、文件管理和系統功能調用程序(PC-DOS為IBMDOS.COM、MS-DOS。為MSDOS.SYS)。
4、命令處理程序(COMMAND. COM)。
5、各種外部命令:完成各種輔助功能的可執行文件。
5. 怎麼編寫電腦系統
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還原始!但畢竟是自己的操作系統。
6. 電腦系統是如何製作的
開機放入光碟,按Del進BIOS,找到Advanced Bios Features(高級BIOS參數設置)按回車進Advanced Bios Features(高級BIOS參數設置)界面。找到First Boot Device ,用PgUp或PgDn鍵,將HDD-O(硬碟啟動)改為CDROM(光碟機啟動),按ESC,按F10,按Y,回車,保存退出。 這時要注意觀察,啟動時計算機會先檢測光碟機,屏幕下面出現一行字元,意思就是讓你按任意鍵進入光碟啟動。按一下,聽到光碟機開始瘋轉,裝系統的過程就正式開始了! 裝系統中: 看屏幕中的提示,因為都是中文的所以幾乎不需要介紹什麼。首先需要用戶選擇是安裝新的操作系統還是修復,選擇安裝新的操作系統,然後按F8同意那些協議,出現盤符選擇界面。 用鍵盤上下鍵移動游標至你要安裝的盤符上,按「D」鍵,系統會提示說刪除該盤將會刪除所有資料,不管它,接著按「L」鍵再確定刪除。完成後屏幕返回到剛才的界面。然後選擇「在當前盤安裝WindowsXP」(大概意思,原文不記的了)後按回車,系統提示要格式化該盤。選擇「快速NTFS方式」格式化,此時出現格式化界面,稍候等進度條到100%時計算機開始自動裝入光碟機中的安裝文件,大概時間8分鍾左右(視光碟機速度而定),完成後系統自動重啟。 注意,此時要將光碟機里的安裝盤取出,為的是避免重啟後又自動讀取。 重啟後再次進入安裝界面,此時將安裝盤再放入後安裝繼續,幾乎不需要你做任何設置,點「下一步」就可以。不過中間有一個輸入序列號的過程得動動手。 這個過程大概40分鍾左右,其間屏幕會顯示一些關於windowsXP的相關功能信息,可以留意一下。完成後系統提示將安裝盤取出。你拿出來後,重啟,順便進BIOS將開機啟動順序改回至硬碟啟動,基本上就完成安裝過程了! 裝系統後: 一般在進入系統後常用硬體的驅動都已經安裝好,但不是全部。這時就需要用戶自己來安裝。首先查看機器哪些驅動未安裝!右鍵點擊「我的電腦」,選「屬性」,在「硬體」標簽里點擊「設備管理器」,凡是在設備前面有一個問號圖標的均表示該設備有問題。雙擊,按上面的提示將驅動安裝好。直到前面的「問號」全部消失為止。 需要裝的驅動一般有顯卡、音效卡、網卡、貓,一些比較高級的機器還有紅外、藍牙等適配器的驅動。 下面就是對系統的一些優化設置,如果你的機器配置不高,建議按我說的做。 重啟, 1> 右鍵單擊屏幕,選擇「屬性」。點擊「外觀」標簽,在「外觀與按鈕」的下拉菜單中選擇「Windows經典樣式」,然後在「設置」標簽里,按個人喜好調整屏幕解析度大寫,一般為1024*768。如果你用的是普通CRT顯示器,需要再點「監視器」標簽,將「屏幕刷新頻率」調整至「85赫茲」,點確定!屏幕看起來是不是舒服多了? 2> 右鍵單擊任務欄,選擇「屬性」,在「任務欄」標簽項中將「顯示快速啟動」前的復選框選中。然後再點擊「「開始」菜單」標簽,將菜單類改成「經典「開始」菜單」,點「確定」,看看現在的樣子是不是要舒服點呢?( 3> 右鍵單擊我的電腦,選擇「高級」標簽。單擊性能項里的「設置」按鈕。在視覺效果項里先點擊「調整為最佳性能」,然後在下面的復選項里選中「在文件夾中使用常見任務」。
贊同11|評論(2)
7. 開發一個Windows級別的操作系統難度有多大
作為曾經的碼農來回答一下
開發一個類似win的成熟的桌面級操作系統,難度高過眾所周知的曼哈頓計劃和登月計劃,是不是覺得有些誇張?但事實可能就是這樣。
vista代碼行數5000萬行,列印出來是170萬頁A4紙,耗資超過200億美元,這還是有了微軟那麼多年積累,只開發vista的費用,win7 4000萬行,win10數據沒有公布,但行業預估在5000到7000萬行。
win7公開的開發工作人數是23個小組,每個小組約40人,分別負責windows中的每個模塊的開發,比如設備和媒體,文件系統,桌面圖形等等,這還是在vista基礎上的開發,並不是從頭開發。
windows的發展已經有了30年,中間的積累,走的彎路都不是外人可以輕易得知的。
我國的自助操作系統,實際都是開源系統的二次開發,遠不是從0開始的建設,而且軟體的開發並不是1+1=2那麼簡單。不是說你能蓋5層樓,我給你投兩倍人力物力你就能蓋出十層樓來。
說個有趣的小故事吧,微軟的excel現在已經成為了祖傳代碼,里邊存在很多無用代碼,但微軟自己都不敢把excel重新寫一遍。
8. 電腦計算機系統開發流程是怎樣的
計算機系統開發的流程如圖所示:
9. 計算機系統開發流程以及步驟!
計算機系統開發的流程如圖所示:
開發一種能提供期望服務的高可信計算機系統是一個復雜的工程化過程,通常包括需求、 設計、 實現、 集成四個階段為使系統達到期望的可信程度。
計算機系統可信性是描述系統所提交服務的性質的一種定性量度,用於表徵系統可提交用戶有足夠理由依賴的期望服務能力。
系統提交的服務是指所有由用戶察覺到的系統行為,可信性作為一種定性量度需根據不同應用來對其屬性具體化或定量化。
典型的可信性定性/定量量度包括:可靠度、可用度、安全度。可維修度、可測性、完整性等。