1.Linux中優(yōu)先級和優(yōu)先數(shù)有什么關系,如何判斷一個進程的優(yōu)先級和優(yōu)先數(shù),; 2.什么是僵尸進程和孤兒進程,,它們是否消耗系統(tǒng)資源; 僵尸進程:一個子進程在其父進程還沒有調用wait()或waitpid()的情況下退出,。這個子進程就是僵尸進程,。 孤兒進程:一個父進程退出,而它的一個或多個子進程還在運行,,那么那些子進程將成為孤兒進程,。孤兒進程將被init進程(進程號為1)所收養(yǎng),并由init進程對它們完成狀態(tài)收集工作,。 注: 僵尸進程將會導致資源浪費,,而孤兒則不會。 3.一個實時的,、批處理的操作系統(tǒng)應該如何進行作業(yè)調度; 4.數(shù)據庫表中索引的作用是什么,,談談你對索引的認識,。 可以利用索引快速訪問數(shù)據庫表中的特定信息。索引是對數(shù)據庫表中一個或多個列(例如,,employee 表的姓氏 (lname) 列)的值進行排序的結構,。如果想按特定職員的姓來查找他或她,則與在表中搜索所有的行相比,,索引有助于更快地獲取信息,。 索引提供指針以指向存儲在表中指定列的數(shù)據值,然后根據指定的排序次序排列這些指針,。數(shù)據庫使用索引的方式與使用書的目錄很相似:通過搜索索引找到特定的值,,然后跟隨指針到達包含該值的行。 在數(shù)據庫關系圖中,,可以為選定的表創(chuàng)建,、編輯或刪除索引/鍵屬性頁中的每個索引類型,。當保存附加在此索引上的表或包含此表的數(shù)據庫關系圖時,索引同時被保存,。有關詳細信息,,請參見創(chuàng)建索引。 通常情況下,,只有當經常查詢索引列中的數(shù)據時,,才需要在表上創(chuàng)建索引。索引將占用磁盤空間,,并且降低添加,、刪除和更新行的速度。不過在多數(shù)情況下,,索引所帶來的數(shù)據檢索速度的優(yōu)勢大大超過它的不足之處,。然而,如果應用程序非常頻繁地更新數(shù)據,,或磁盤空間有限,,那么最好限制索引的數(shù)量。 在創(chuàng)建索引前,,必須確定要使用的列和要創(chuàng)建的索引類型,。 3.簡述LRU算法。 LRU是Least Recently Used 近期最少使用算法,。 內存管理的一種頁面置換算法,,對于在內存中但又不用的數(shù)據塊(內存塊)叫做LRU,Oracle會根據哪些數(shù)據屬于LRU而將其移出內存而騰出空間來加載另外的數(shù)據,。 4.操作系統(tǒng)中同一父進程中的子進程之間如何交互,,不同父進程中的子進程之間如何交互,父進程與子進程之間如何交互,。 5.選擇一個你熟悉的磁盤調度算法進行簡單描述,。 1.先來先服務算法(First Come First Served,F(xiàn)CFS) 先來先服務(FCFS)調度:按先來后到次序服務,,未作優(yōu)化,。 最簡單的移臂調度算法是“先來先服務”調度算法,這個算法實際上不考慮訪問者要求訪問的物理位置,,而只是考慮訪問者提出訪問請求的先后次序,。例如,如果現(xiàn)在讀寫磁頭正在50號柱面上執(zhí)行輸出操作,,而等待訪問者依次要訪問的柱面為130,、199、32,、159,、15,、148、61,、99,,那么,當50號柱面上的操作結束后,,移動臂將按請求的先后次序先移到130號柱面,,最后到達99號柱面。 采用先來先服務算法決定等待訪問者執(zhí)行輸入輸出操作的次序時,,移動臂來回地移動,。先來先服務算法花費的尋找時間較長,所以執(zhí)行輸入輸出操作的總時間也很長,。 2.最短尋道時間優(yōu)先算法(Shortest Seek Time First,,SSTF) 最短尋找時間優(yōu)先調度算法總是從等待訪問者中挑選尋找時間最短的那個請求先執(zhí)行的,而不管訪問者到來的先后次序?,F(xiàn)在仍利用同一個例子來討論,,現(xiàn)在當50 號柱面的操作結束后,應該先處理61號柱面的請求,,然后到達32號柱面執(zhí)行操作,,隨后處理15號柱面請求,后繼操作的次序應該是99,、130,、148、 159,、199,。 采用最短尋找時間優(yōu)先算法決定等待訪問者執(zhí)行操作的次序時,讀寫磁頭總共移動了200多個柱面的距離,,與先來先服務,、算法比較,大幅度地減少了尋找時間,,因而縮短了為各訪問者請求服務的平均時間,也就提高了系統(tǒng)效率,。 但最短查找時間優(yōu)先(SSTF)調度,,F(xiàn)CFS會引起讀寫頭在盤面上的大范圍移動,SSTF查找距離磁頭最短(也就是查找時間最短)的請求作為下一次服務的對象,。SSTF查找模式有高度局部化的傾向,,會推遲一些請求的服務,甚至引起無限拖延(又稱饑餓),。 3.掃描算法(SCAN) SCAN 算法又稱電梯調度算法,。SCAN算法是磁頭前進方向上的最短查找時間優(yōu)先算法,,它排除了磁頭在盤面局部位置上的往復移動,SCAN算法在很大程度上消除了SSTF算法的不公平性,,但仍有利于對中間磁道的請求,。 “電梯調度”算法是從移動臂當前位置開始沿著臂的移動方向去選擇離當前移動臂最近的那個柱訪問者,如果沿臂的移動方向無請求訪問時,,就改變臂的移動方向再選擇,。這好比乘電梯,如果電梯已向上運動到4層時,,依次有3位乘客陳生,、伍生、張生在等候乘電梯,。他們的要求是:陳生在2層等待去10層,;伍生在5層等待去底層;張生在8層等待15層,。由于電梯目前運動方向是向上,,所以電梯的形成是先把乘客張生從8層帶到15層,然后電梯換成下行方向,,把乘客伍生從5層帶到底層,,電梯最后再調換方向,把乘客陳生從2層送到10層,。 我們仍用前述的同一例子來討論采用“電梯調度”算法的情況,。由于磁盤移動臂的初始方向有兩個,而該算法是與移動臂方向有關,,所以分成兩種情況來討論,。 〈1〉.移動臂由里向外移動 開始時在50號柱面執(zhí)行操作的讀寫磁頭的移動臂方向是由里向外,趨向32號柱面的位置,,因此,,當訪問50號柱面的操作結束后,沿臂移動方向最近的柱面是 32號柱面,。所以應先為32號柱面的訪問者服務,,然后是為15號柱面的訪問者服務。之后,,由于在向外移方向已無訪問等待者,,故改變移動臂的方向,由外向里依次為各訪問者服務,。在這種情況下為等待訪問者服務的次序是61,、99、130,、148,、159,、199。 〈2〉.移動臂由外向里移動 開始時,,正在50號柱面執(zhí)行操作的讀寫磁頭的移動臂是由外向里(即向柱面號增大的內圈方向)趨向61號柱面的位置,,因此,當訪問50號柱面的操作結束后,,沿臂移動方向最近的柱面是61號柱面,。所以,應先為61號柱面服務,,然后按移動臂由外向里移動的方向,,依次為99、130,、148,、159、199柱面的訪問者服務,。當201號柱面的操作結束后,,向里移動的方向已經無訪問等待者,所以改變移動臂的前進方向,,由里向外依次為32,、15柱面的訪問者服務。 “電梯調度”與“最短尋找時間優(yōu)先”都是要盡量減少移動臂時所花的時間,。所不同的是:“最短尋找時間優(yōu)先”不考慮臂的移動方向,,總是選擇離當前讀寫磁頭最近的那個柱面,這種選擇可能導致移動臂來回改變移動方向,;“電梯調度”是沿著臂的移動方向去選擇離當前讀寫詞頭最近的哪個柱面的訪問者,,僅當沿移動臂的前進移動方向無訪問等待者時,才改變移動臂的前進方向,。由于移動臂改變方向是機械動作,,速度相對較慢,所以,,電梯調度算法是一種簡單,、使用且高效的調度算法。 但是,,“電梯調度”算法在實現(xiàn)時,,不僅要記住讀寫磁頭的當前位置,還必須記住移動臂的當前前進方向,。 4.循環(huán)掃描算法(CSCAN) 單項掃描調度算法的基本思想是,不考慮訪問者等待的先后次序,,總是從0號柱面開始向里道掃描,,按照各自所要訪問的柱面位置的次序去選擇訪問者,。在移動臂到達最后一個柱面后,立即快速返回到0號柱面,,返回時不為任何的訪問者等待服務,。在返回到0號柱面后,再次進行掃描,。 由于該例中已假定讀寫的當前位置在50號柱面,,所以,指示了從50號柱面繼續(xù)向里掃描,,依次為61,、99、130,、148,、159、199各柱面的訪問者服務,,此時移動臂已經是最內的柱面,,于是立即返回到0號柱面,重新掃描,,依次為15,、32號柱面的訪問者服務。 除了“先來先服務”調度算法外,,其余三種調度算法都是根據欲訪問的柱面位置來繼續(xù)調度的,。在調度過程中可能有新的請求訪問者加入。在這些新的請求訪問者加入時,,如果讀寫已經超過了它們所要訪問的柱面位置,,則只能在以后的調度中被選擇執(zhí)行。 在多道程序設計系統(tǒng)中,,在等待訪問磁盤的若干訪問者請求中,,可能要求訪問的柱面號相同,但在同一柱面上的不同磁道,,或訪問同一柱面中同一磁道上的不同扇區(qū),。所以,在進行移動調度時,,在按照某種短法把移動臂定位到某個柱面后,,應該在等待訪問這個柱面的各個訪問者的輸入輸出操作都完成之后,再改變移動臂的位置,。 6.路由器工作于網絡的哪一層,,簡述它的工作原理,它維護路由表的協(xié)議是什么。 傳統(tǒng)地,,路由器工作于OSI七層協(xié)議中的第三層,,其主要任務是接收來自一個網絡接口的數(shù)據包,根據其中所含的目的地址,,決定轉發(fā)到下一個目的地址,。因此,路由器首先得在轉發(fā)路由表中查找它的目的地址,,若找到了目的地址,,就在數(shù)據包的幀格前添加下一個MAC地址,同時IP數(shù)據包頭的TTL(Time To Live)域也開始減數(shù),,并重新計算校驗和,。當數(shù)據包被送到輸出端口時,它需要按順序等待,,以便被傳送到輸出鏈路上,。 路由器在工作時能夠按照某種路由通信協(xié)議查找設備中的路由表。如果到某一特定節(jié)點有一條以上的路徑,,則基本預先確定的路由準則是選擇最優(yōu)(或最經濟)的傳輸路徑,。由于各種網絡段和其相互連接情況可能會因環(huán)境變化而變化,因此路由情況的信息一般也按所使用的路由信息協(xié)議的規(guī)定而定時更新,。 網絡中,,每個路由器的基本功能都是按照一定的規(guī)則來動態(tài)地更新它所保持的路由表,以便保持路由信息的有效性,。為了便于在網絡間傳送報文,,路由器總是先按照預定的規(guī)則把較大的數(shù)據分解成適當大小的數(shù)據包,再將這些數(shù)據包分別通過相同或不同路徑發(fā)送出去,。當這些數(shù)據包按先后秩序到達目的地后,,再把分解的數(shù)據包按照一定順序包裝成原有的報文形式。路由器的分層尋址功能是路由器的重要功能之一,,該功能可以幫助具有很多節(jié)點站的網絡來存儲尋址信息,,同時還能在網絡間截獲發(fā)送到遠地網段的報文,起轉發(fā)作用,;選擇最合理的路由,,引導通信也是路由器基本功能;多協(xié)議路由器還可以連接使用不同通信協(xié)議的網絡段,,成為不同通信協(xié)議網絡段之間的通信平臺,。 7.路由器與交換機的區(qū)別是什么。 ?。?)工作層次不同 最初的的交換機是工作在OSI/RM開放體系結構的數(shù)據鏈路層,,也就是第二層,,而路由器一開始就設計工作在OSI模型的網絡層。由于交換機工作在OSI的第二層(數(shù)據鏈路層),,所以它的工作原理比較簡單,,而路由器工作在OSI的第三層(網絡層),可以得到更多的協(xié)議信息,,路由器可以做出更加智能的轉發(fā)決策。 ?。?)數(shù)據轉發(fā)所依據的對象不同 交換機是利用物理地址或者說MAC地址來確定轉發(fā)數(shù)據的目的地址,。而路由器則是利用不同網絡的ID號(即IP地址)來確定數(shù)據轉發(fā)的地址。IP地址是在軟件中實現(xiàn)的,,描述的是設備所在的網絡,,有時這些第三層的地址也稱為協(xié)議地址或者網絡地址。MAC地址通常是硬件自帶的,,由網卡生產商來分配的,,而且已經固化到了網卡中去,一般來說是不可更改的,。而IP地址則通常由網絡管理員或系統(tǒng)自動分配,。 (3)傳統(tǒng)的交換機只能分割沖突域,,不能分割廣播域,;而路由器可以分割廣播域 由交換機連接的網段仍屬于同一個廣播域,廣播數(shù)據包會在交換機連接的所有網段上傳播,,在某些情況下會導致通信擁擠和安全漏洞,。連接到路由器上的網段會被分配成不同的廣播域,廣播數(shù)據不會穿過路由器,。雖然第三層以上交換機具有VLAN功能,,也可以分割廣播域,但是各子廣播域之間是不能通信交流的,,它們之間的交流仍然需要路由器,。 (4)路由器提供了防火墻的服務 路由器僅僅轉發(fā)特定地址的數(shù)據包,,不傳送不支持路由協(xié)議的數(shù)據包傳送和未知目標網絡數(shù)據包的傳送,,從而可以防止廣播風暴。 交換機一般用于LAN-WAN的連接,,交換機歸于網橋,,是數(shù)據鏈路層的設備,有些交換機也可實現(xiàn)第三層的交換,。路由器用于WAN-WAN之間的連接,,可以解決異性網絡之間轉發(fā)分組,,作用于網絡層。他們只是從一條線路上接受輸入分組,,然后向另一條線路轉發(fā),。這兩條線路可能分屬于不同的網絡,并采用不同協(xié)議,。相比較而言,,路由器的功能較交換機要強大,但速度相對也慢,,價格昂貴,,第三層交換機既有交換機線速轉發(fā)報文能力,又有路由器良好的控制功能,,因此得以廣泛應用,。 (5)總之,,可以這么認為,,交換機在具體的城域網中往往扮演著VLAN透傳的角色,就是橋,。而路由器默認的是不支持二層的,,路由器的每一個端口都是一個獨立的廣播域和沖突域,而交換機是只有一個廣播域和端口數(shù)量的沖突域,,在二層交換機上存在MAC表,,三層交換機上存在路由表.MAC.ARP表,在路由器上存在路由表和arp表,。比如當一個路由器上有一個2層的vlan100和另外一個路由器上的3層vlan100對接的時候,,是不通的,這時候我們需要借助L2VPN技術來進行互通,,比較流行的就是VPLS技術,。 8.路由器所在層的上一層是哪一層,都有哪些協(xié)議,。 TCP/UDP 9.TCP與UDP的區(qū)別是什么,。 http://baike.baidu.com/link?url=F50rSmByNUgpJ_yQDwkrr0Y9fmld1ZHUZNBZLAI_xCYWRkpFVFt3se5bFceB6tDuXa-FNtUV_Ricrgp6mcAlUXvHi4GqWNT4yUA4bYbJqpO 10.畫出TCP三次握手的過程,并說出TCP滑動窗口協(xié)議應用于三次握手的哪一步,。 滑動窗口協(xié)議,,是TCP使用的一種流量控制方法。該協(xié)議允許發(fā)送方在停止并等待確認前可以連續(xù)發(fā)送多個分組,。由于發(fā)送方不必每發(fā)一個分組就停下來等待確認,,因此該協(xié)議可以加速數(shù)據的傳輸。 11.畫圖詳細逐步分析一下兩個問題:滑動窗口過大和滑動窗口過小,。 滑動窗口:是兩臺主機間傳送數(shù)據時的緩沖區(qū),。每臺TCP/IP主機支持兩個滑動窗口:一個用于接收數(shù)據,,另一個用于發(fā)送數(shù)據。窗口尺寸表示計算機可能緩沖的數(shù)據量大小,。 滑動窗口的大小對網絡性能有很大的影響,。如果滑動窗口過小,則需要在網絡上頻繁的傳輸確認信息,,占用了大量的網絡帶寬,;如果滑動窗口過大,對于利用率較高,,容易產生丟包現(xiàn)象的網絡,,則需要多次發(fā)送重復的數(shù)據,也同樣耗費了網絡帶 為什么要有滑動窗口 1)H1第一次只發(fā)送出一個數(shù)據包,。 2)為什么不一次發(fā)送完所有數(shù)據包? 在英特網中,,可能同時存在著數(shù)百萬條TCP連接,。如果這些連接同時無節(jié)制的發(fā)送數(shù)據包,那么整個網絡都會被堵死,,沒有數(shù)據包能到達目的地,。 因此TCP需要根據網絡狀況,每次發(fā)送若干數(shù)據包,。 窗口的移動 1)每收到一個(不重復的)確認,,窗口的左邊界就會向右移動一格 2)每收到一個新的確認,LAR(last ack received)就會增加1,。而滑動窗口左邊的數(shù)據包,,序號就是LAR。 http://histrory./tcp_swnd_tutorial.html 12.如果上網速度過慢,,可能是哪里產生的問題,。(我這道題回答的是:客戶端、路由器或者服務器端出問題,。于是他問了第13題) 13.用什么方法能夠檢測出是客戶端,,還是路由器,還是服務器端出了問題,。 14.fork與clone有什么區(qū)別,。 http://blog.csdn.net/soundtravel/article/details/6835620 15.Oracle中冷啟動與熱啟動有什么區(qū)別。 16.存儲過程的概念以及優(yōu)缺點是什么,,寫出一個存儲過程的大概代碼,,你是如何在項目中應用的,又產生了什么問題,,你是如何解決的,。 35.truncate與delete的區(qū)別是什么,。 從功能上區(qū)別,turncate,delete都是只刪除表中的數(shù)據,,而表結構,,索引,約束等都保持不變,;而 drop語句將刪除表的結構以及被依賴的約束(constrain),觸發(fā)器(trigger),索引(index); 依賴于該表的存儲過程/函數(shù)將保留,但是變?yōu)閕nvalid狀態(tài),。 再分析turncate與delete異同: 相同點: turncate talbe 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。 不同點: 1 事務管理:delete語句是dml,這個操作會放到rollback segement中,事務提交之后才生效;如果有相應的trigger,執(zhí)行的時候將被觸發(fā).delele可以回滾,。 truncate是ddl, 操作立即生效,原數(shù)據不放到rollback segment中,不能回滾. 操作不觸發(fā)trigger. 2 速度:turncate table比delete速度快,,且使用的系統(tǒng)和事務日志資源少。 原因是delete語句每次刪除一行,,并在事務日志中為刪除的每一行記錄一項,;而turncate table通過釋放存儲表數(shù)據的數(shù)據頁來刪除數(shù)據,并且只在事務日志中記錄頁的釋放,。 3 對于由FOREIGN KEY 約束引用的表,,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句,。由于 TRUNCATE TABLE 不記錄在日志中,,所以它不能激活觸發(fā)器。 應用中,,如果不再需要該表時,,用drop 如果想要保留表結構,但要刪除所有記錄,,用turncate 如果只刪除部分記錄,,用帶where條件的delete |
|