程序與執行緒
程序同步
同步與互斥
訊號量與互斥量
程序通訊 管道
命名管道
訊息佇列
訊號量共享記憶體
套接字(socket)
記憶體管理分頁
分段 分頁與分段inode
資料流重定向1**
運算子標準輸入 (stdin)
0< 或 <<
標準輸出 (stdout)
1> 或 >>
標準錯誤輸出 (stderr)
22> 或 2>>
>>
表示追加在原檔案
孤兒程序
父程序已經退出,但是子程序還在執行的程序。會由init
程序(程序號為 1)將他們**
殭屍程序
由於父程序沒有呼叫子程序的wait()
或waitpid()
,因為子程序退出後程序描述符不會被釋放,導致有限的程序描述符被長久占用而不能產生新的程序。解決辦法是:將父程序殺死,子程序就會變成孤兒程序從而被**。
增加了幾個優化
http1.0、http1.1 和 http2.0 的區別
**http/2的多路復用
設計原則(s.o.l.i.d)
單一責任原則
開放封閉原則
黎克特制替換原則
介面分離原則
依賴倒置
高層模組不應該依賴於具體低層模組,兩者都應該依賴於抽象模組其他設計原則抽象不依賴細節,細節應該依賴於抽象
迪公尺特法則
最少知識原則,乙個物件應該對其他物件有盡可能少的了解,並不和陌生人說話合成復用原則
組合優於繼承共同封閉原則
一起修改的類,應該組合在一起(同乙個包裡)。並不希望修改應用程式裡的**遍布很多包,而是在同乙個包裡。穩定抽象原則
最穩定的包應該是最抽象的包,不穩定的包應該是具體的包穩定依賴原則
包的依賴關係應該是向穩定方向依賴的,就是說自身依賴的包要比自身更加穩定事務的acid
a-原子性(atomicity)
事務視為最小不可分割單元,乙個事務的提交要麼全部提交,要麼全部失敗。可以通過回滾日誌來實現
c-一致性(consistency)
資料庫在執行事務前後都保持一致的狀態,在一致性的狀態下,所有事務對同乙個資料的讀取結果都是相同的。
i-隔離性(isolation)
乙個事務所作的修改在最終提交以前,對其他事務是不可見的。
d-永續性(duration)1. 批處理系統
目的是保證吞吐量以及周轉時間最短(從提交到終止的時間)
短作業優先(sjf)
最短剩餘時間優先(srtn)
2. 互動式系統
目的是快速地對使用者的互動進行響應。
優先順序排程
多級反饋佇列
鴕鳥策略
直接忽略
死鎖檢測
下圖的方框代表資源,圓圈代表程序,箭頭指向為資源分配情況資源數量不僅是乙個的情況下:
死鎖預防
破壞辦法:只有乙個程序能真正能獲取到程序。如 假離線印表機技術。
破壞方法:程序需要一次性 獲取所有資源
破壞辦法:優先順序高或許可權高的程序可以直接搶奪資源
破壞辦法:給資源統一編號,只能按編號順序來請求資源。如,要獲取編號為 n+1的資源就必須先拿到編號為 n 的資源。死鎖避免最佳演算法(opt)
最近最久未使用(lru)
最近未使用
先進先出(fifo)
第二次機會演算法
時鐘演算法先來先服務(fcfs)
最短尋道時間優先(sstf)
電梯演算法(scan)
CS Notes學習筆記 設計模式
執行緒不安全問題主要是由於 uniqueinstance 被例項化多次,採取直接例項化 uniqueinstance 的方式就不會產生執行緒不安全問題。但是直接例項化的方式也丟失了延遲例項化帶來的節約資源的好處。public class singleton private static single...
筆記 erlang ets筆記
額 電子書是買了 然後再買了本erlang程式設計 再看ets和dets那部分 就權當做個筆記啦.erlang程式設計 寫道 ets和dets基本上是在做同一件事 它們提供大型的 鍵 值 搜尋表。所不同的是,ets駐留在記憶體,而dets駐留在磁碟。表的型別有四個 分別是 set ordered s...
筆記 plt matplotlib筆記
eg import matplotlib.pyplot as plt fig plt.figure num display figsize 8,6 dpi 80,facecolor blue 生成名為 display 寬為8英吋,高為6英吋,每英吋為80畫素,背景色為藍色的影象。plt.show 參...