原创 現代操作系統 進程

操作系統中最核心的概念是進程 一、進程模型 1.在進程模型中,計算機上所有可運行的軟件,通常也包括操作系統,被組織成若干個順序進程,簡稱進程。 2.一個進程就是一個正在執行程序的實例。 3.進程是系統資源調度的基本單位。 二、程序的順序執

原创 三層架構 業務邏輯層 workflow

三層架構: 用戶界面層 user interface layer 業務邏輯層 business logic layer 數據訪問層 data access layer 系統的主要功能和業務邏輯都在業務邏輯層進行處理。 這裏所說的三層結構,

原创 itchat接觸使用

itchat是一個開源的微信公衆號接口,允許python調用微信。 安裝 pip install itchat 自動登陸 import itchat itchat.auto_login() 輸出 自動彈出二維碼,手機掃描之後自動

原创 現代操作系統 基本內存管理

一、存儲分層 寄存器 cache 主存 磁盤 磁帶 二、基於分區的存儲管理 固定分區和動態分區 重定向和保護 動態分區分配算法 空閒分區管理:鏈表 三、存儲碎片管理 四、內存緊縮 交換在內存中產生了多個空閒區,通過把所有的進程儘可能的向下

原创 現代操作系統 虛擬內存

一、覆蓋 把程序分割成許多片段,稱爲覆蓋。 二、虛擬內存 虛擬內存的基本思想是: 每個程序擁有自己的地址空間,這個空間被分割成多個塊,每一塊乘坐一頁。 每一頁有連續的地址範圍。 這些頁被映射到物理內存,但並不是所有的頁都必須在內存中才能運

原创 現代操作系統 死鎖

一、死鎖的定義 假若在一個進程集合中的每個進程都在等待,只能由該集合中的其它一個進程才能引發的事件,那麼這種狀態被看成死鎖。 一旦產生死鎖,若無外力作用,這些進程都將永遠不能再向前推進。 二、產生死鎖的主要原因 競爭資源 三、資源死鎖的條

原创 現代操作系統 線程

一、線程是什麼? 線程是進程的一個實體,是被系統獨立調度和分派的基本單位。 二、線程的組成 線程控制塊TCB:線程標識符TID、線程寄存器組、線程棧等。 每一個線程都有他自己的棧。 三、線程的分類(線程的狀態) 創建線程、掛起線程、恢復線

原创 現代操作系統 經典IPC問題

一、生產者-消費者問題the producer-consumer problem 1.也稱有界緩衝區問題the bounded-buffer problem 2.問題的基本描述: 兩個進程共享一個公共的固定大小的緩衝區 若干個進程是生產者

原创 現代操作系統 IPC

一、進程間可能存在的關係 資源共享關係 相互合作關係 二、競爭條件race condition 三、mutual exclusion互斥 四、解決方案 任何兩個進程不能同時處於臨界區; 不應對CPU的速度和數目做任何假設; 臨界區外的進程

原创 現代操作系統 調度

一、調度 短期調度CPU 中期調度內存 長期作業作業 二、線程和進程調度 受計算限制的 受輸入/輸出限制的 三、什麼時候開始調度 進程被創建 進程存在 進程在IO被阻塞,因爲信號量或其他原因 一個IO中斷髮生了 四、調度模式 preemp

原创 現代操作系統 學習預習和複習 引論

1.基於文本的叫shell;基於圖標的叫GUI。 2.軟件中最基礎的部分是操作系統,它運行在內核態。內核態下,操作系統具有所有硬件的完全訪問權。 3.操作系統是什麼 作爲擴展機器 作爲資源管理者 4.os的歷史 真空管和穿孔卡片 晶體管和

原创 現代操作系統 進程與線程

操作系統中最核心的概念是進程 一、進程模型 1.在進程模型中,計算機上所有可運行的軟件,通常也包括操作系統,被組織成若干個順序進程,簡稱進程。 2.一個進程就是一個正在執行程序的實例。 二、程序的順序執行和併發執行 1.程序順序執行時的特