編寫一程序,可以創(chuàng)建若干個虛擬進(jìn)程,并對若干個虛擬進(jìn)程進(jìn)行調(diào)度,調(diào)度策略為時間片輪轉(zhuǎn)。
虛擬程序的描述:
虛擬指令的格式: 操作命令 操作時間
其中,操作命令有以下幾種:
l C : 表示在CPU上計算
l I :表示輸入
l O:表示輸出
l W:表示等待
l H:表示進(jìn)程結(jié)束
操作時間代表該操作命令要執(zhí)行多長時間
假設(shè)I/O設(shè)備的數(shù)量沒有限制
著名的AT&T UNIX v6 源碼,雖然已不能在現(xiàn)在的機(jī)器中直接運(yùn)行(通過在Linux上安裝pdp11 simulator可以運(yùn)行),但從中首先可以學(xué)習(xí)到C程序設(shè)計的簡約與嚴(yán)謹(jǐn)(原作者是圖靈獎得主Brian W. Kernighan和Dennis M. Ritchie),其次還可以幫助深入理解操作系統(tǒng)概念,其設(shè)計思想仍然廣泛存在于多數(shù)操作系統(tǒng)中。
本系統(tǒng)的首次發(fā)布于1976年,現(xiàn)仍然做為MIT高年級學(xué)生、研究生的操作系統(tǒng)學(xué)習(xí)的分析材料。
從空格(ASCII碼32)到~(ASCII碼126)。表內(nèi)的第一行與表頭相同,下面的每一行都與上一行的內(nèi)容相同,只是字符相左移動了一個位置。這樣,下一行的最后一個字符與上一行的第一個字符相同。
為了進(jìn)行文本編碼,可以任意選擇一個字符串,稱之為編碼字符串,也就是常說的密鑰。為解釋編碼方法,我們假設(shè)密鑰是Walrus,待編碼的文本(即常說的明文)是:
Meet me in St. Louis
我們在待編碼的文本之上重復(fù)書寫上述密鑰,使得其長度與待編碼文本相同:
WalrusWalrusWalrusWa
Meet me in St. Louis
從上述兩行文本中按列對應(yīng)方式依次提取一個字符,可得到多個字符對:WM、ae、le等,這些字符對可用作上表的索引。這樣,依次以這些字符對作為索引可從上表查到一系列字符,這些字符就構(gòu)成了文本編碼,即常說的密文。例如,第W行第M列隊?wèi)?yīng)得字符是%,因此編碼的第一個字符就是%;第a行第e列對應(yīng)的字符是G;第l行第e列對應(yīng)的是R。依次進(jìn)行上述查找操作,可以得到完整的密文
%Grgua=aVauGLol?eiAU
進(jìn)行相反的操作就可對該文本解碼。
編寫編碼/解碼程序,可以對文本文件或鍵盤輸入的字符串進(jìn)行編碼/解碼,在選擇編碼解碼后,需要提示用戶輸入密鑰。