CS Notes 筆記的筆記

2021-09-26 14:50:24 字數 2325 閱讀 9222

程序與執行緒

程序同步

同步與互斥

訊號量與互斥量

程序通訊 管道

命名管道

訊息佇列

訊號量共享記憶體

套接字(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 參...