程序和程式的區別 分享乙個故事

2021-09-01 16:44:11 字數 520 閱讀 1664

今天看見乙個關於程序和程式區別的故事比較不錯:

一位廚藝很好的計算機科學家正在為他的女兒烘製生日蛋糕。他做的生日蛋糕有食譜,廚房中有所需要的原料:麵粉、糖、奶油等。在這個比喻中,做蛋糕的食譜就是程式了(即用適當的形式描述的演算法),計算機科學家就是處理機(cpu),而做蛋糕的原料就是輸入資料了。程序就是廚師閱讀食譜、取得各種原料、烘製蛋糕的一系列動作的總和。

現在假設計算機科學家的兒子哭著跑了進來,說他被乙隻蜜蜂蟄了。計算機就記錄他的蛋糕照著食譜做到什麼地方了(儲存程序的當前狀態),然後拿出一本急救手冊,按照急救手冊中的指示處理蟄傷。這裡我們看見了處理機(科學家)從低優先順序的程序(做蛋糕)切換到乙個高優先順序的程序(處理蟄傷,實施醫療救治),每個程序都有各自的程式(菜譜和急救手冊)。當蟄傷處理完畢,科學家又回來做蛋糕,從剛才離開時的哪一步繼續做下去。

關鍵思想:

[b][color=red]程序是某種型別的活動,它有程式、輸入、輸出、狀態。單個處理機被若干程序共享,它使用某種排程演算法決定何時停止乙個程序的工作,並轉為另乙個程序提供服務。[/color][/b]

分享乙個網路latency的故事

由於最新的windows 8對於wifi 傳輸有latency的要求,最近一直在忙這件事。ms要求peer到peer之間的lantency要小於幾十個毫秒吧。這段時間可以劃分為一下這幾個部分 根據driver的現狀一開始以為可能跟下面這些因素有關 1.resource,因為driver pre al...

分享乙個BookStore ios程式的例子

經過4天的開發,ios的網路書店基本完成了 架構中最重要的元素 模組化,縱向分割 層次化,橫向分割 抽象和實現分離 解耦,同構元件如何通訊,異構元件如何通訊 職責分離 重構中 消除重複 消除魔數 bookstore應用雖然簡單,但包括的內容不少 分層架構如下 data就是資料訪問層 ui就是前端 u...

分享乙個Metro風格的程式

前言 環境專案結構 總結最近在學微軟的rx,這個基於非同步和事件的類庫。rx是由observables linq schedulers 組成。它的優勢在於處理i o操作的時候,能夠很好的處理非同步操作。於是出於練習,做了乙個進銷存系統,至於為什麼選進銷存系統。因為前段時間裡的園友都分享了一些進銷存的...