作業系統(Operating Systems)學習心得
學校開設了作業系統課程,本文為該課程的學習心得。。
Chapter 1
OS- Interface to hardware
Keep in mind the breadth of systems
-Mainframe
-Personal Computer
-Mobile Platforms
作業系統,利用硬體來處理程序,提供伺服器和使用者的系統,管理硬碟(secondary memory)和I/O驅動。 圖1.1描述上層組成,每一個程序的功能是和memory交換資料,為達到這個目的,需要兩個中心暫存器:MAR( memory address register)標註下一個將要讀取的指令地址;I/OAR 存貯模型包括一串連續地址,每一個地址都指向一條指令或是資料,I/O模型從外部讀取資料並傳送到程序和memory中,反之亦然。 一個程式包括一系列的在記憶體(memory)中的指令,分為取指和執行兩部。 **Interrupts 中斷** Provided to improve processor utilization,中斷可以提高程序利用率。 一般來說,I/O的讀寫速度要慢於程序,如果程序要給一個打字機用指令迴圈傳輸資料的話, 每寫一個運算子,程序必須等待I/O完成氣任務;降低等待時間,就能夠提升程序利用率了! 舉一個具體的栗子吧!假設有一臺1GHz的電腦可以粗略的每秒鐘執行1000000000條指令, 一般的硬碟每分鐘7200轉,轉速是4ms,是程序處理速度的4百萬分之一。
·
中斷指令新增在指令迴圈中,處理器會檢查是否由中斷髮生,如果沒有中斷,處理器會進入讀取階段,一般來說只會檢測到自然中斷。比如我們的栗子:在檢測I/O 模型時中斷,可能分出新的程式來為I/O寫更多的資料,當中斷處理完成時,處理器可以執行使用者的程式在中斷指標那個位置。 ![圖三](https://img-blog.csdn.net/20170517210155915?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVvX3F1ZWVm/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 在中斷處,處理器忙於執行其他指令在I/O操作在執行時。由圖三,使用者的專案收到一個指向呼叫系統WRITE的指標,I/O被喚醒進行寫的操作,操作完成後“話筒”傳回使用者程式,繼續執行,當再次想要呼叫I/O時,發現I/O 繁忙,只能等待I/O,當外部驅動(I/O)可以服務時,I/O模型為那個外部裝置給使用者傳送中斷請求訊號。 Memory Hierarchy major constraints in memory * amount * speed * expense
記憶體必須和處理器保持聯絡。
對記憶體的消耗一定合理並和其他元件有關。
儲存器層級
從下向上:
減少消耗位元
增加能力
增加傳輸時間
減少由處理器訪問記憶體的成本
Principle of Locality區域性性原理
- Memory references by the processor tend to cluster
(由處理器呼叫的記憶體傾向於叢集)
-Data is organized so that the percentage of accesses to each successively lower level is substantially less than that of the level above
(資料組織,先後訪問每一個低水平的比例大大低於上述水平)
-Can be applied across more than two levels of memory(可以在多餘兩個記憶體上存貯)
Cache Memory高速緩衝儲存器
-不可見
-與其他儲存器管理的硬體相互作用
-處理器必須連結儲存器至少通過一個指令迴圈
-處理器執行受記憶體迴圈的時間限制
-利用區域原則,又小又快的儲存器。
I/O Techniques
I/O 操作包括以下三個技術:
Programmed I/O 程式化I/O
interrupt-Driven I/O 中斷控制I/O
Direct Memory Access (DMA)直存貯
Interrupt-Driven I/O Drawbacks
* Transfer rate is limited by the speed with which the processor can test and service a device
傳輸速率受限於處理器的速度可以測試和服務裝置
* The processor is tied up in managing an I/O transfer
處理器是綁在一個I / O管理傳輸
每一個I/O傳輸都由一系列的指令讓它執行。
Direct Memory Access(DMA)
當大量的資料被傳輸時,一個更高效的技術就顯得很有必要了,DMA功能可以由一個獨立的模組在系統總線上也可以被納入一個I / O模組。在這兩種情況下,技術工作如下。當處理器希望讀或寫一塊資料,它發出一個命令DMA模組,通過DMA模組傳送以下資訊:
•是否讀或寫請求
•I / O裝置的地址
•起始位置在記憶體中讀取或寫入資料的資料
•讀寫的字數
Symmetric Multiprocessors (SMP)對稱多處理器
一個獨立的計算機系統有以下特點:
1.兩個或更多的處理器來提高運算能力
2.程序分享的同一個主存被一個數據匯流排(bus)或其他的內部連結組合
3.程序分享相同的I/O裝置
4.所有處理器可以實現相同功能
5.系統整合控制的處理器和作業系統,提供互動的專案工作,任務,檔案,資料元素的水平
圖五說明了SMP的組成。有多個處理器,每一個都包含自己的控制單元,算數邏輯單元和暫存器。每個處理器都有通向主存和I/O裝置的介面,共享的資料匯流排。處理器可以通過連線的記憶體來相互通訊。
SMP的優勢:
• Performance: If the work to be done by a computer can be organized so that some portions of the work can be done in parallel, then a system with multiple processors will yield greater performance than one with a single processor of the same type.
Availability: In a symmetric multiprocessor, because all processors can perform the same functions, the failure of a single processor does not halt the machine. Instead, the system can continue to function at reduced performance.
• Incremental growth: A user can enhance the performance of a system by adding an additional processor.
• Scaling: Vendors can offer a range of products with different price and performance characteristics based on the number of processors configured in the system。
•效能:如果所做的工作需要電腦可以組織這部分工作可以並行完成,然後用多個處理器系統性能將產生超過一個相同型別的處理器。
可用性:在對稱多處理器,處理器可以執行相同的函式,因為所有單個處理器的故障不會停止機器。相反,系統可以繼續函式在降低效能。
•增量增長:一個使用者可以提高系統的效能通過新增額外的處理器。
•縮放:供應商可以提供一系列的產品有不同的價格和效能特徵基於系統配置。
Multicore computer
相關推薦
作業系統(Operating Systems)學習心得
學校開設了作業系統課程,本文為該課程的學習心得。。 Chapter 1 OS- Interface to hardware Keep in mind the breadth of systems -Mainframe
作業系統三個簡單的部分(Operating Systems in Three Easy Pieces閒來無聊,翻譯的)1,2(作業系統的介紹部分)
Chapter1 Some dialogues 一些對話,對於學習該科目的興趣引導和解惑 Chapter2 作業系統介紹 如果你已經對系統程序有一定的瞭解,那麼當一個計算機程式執行時,你應該已經對這個過程有一定的體會。如果沒有了解,那這本書(以及相應方面的內容)對你來說可能是很難理解的。因此,你應
數據庫查詢(二)學習心得
wid 數據庫 動態 placement ... ediff 如果 新的 star 數據查詢(二) 一.聚合函數 主要函數 類型 COUNT() 統計元組或列的個數 MIN() 統計元組或列的最小值 SUM() 統計元組或列的
觀察者模式(Kotlin)學習心得
一、被觀察者(Demo中的角色:ZhengFuObservable) (ZhengFuObservable)政府相關政策發生改變,立即通知它的觀察者。具體原始碼實現如下所示: package com.study.observer import java.util
《Operating Systems:Three easy pieces》:對作業系統的介紹(五)
2.3 併發性 當在相同的記憶體空間中有許多併發執行的執行緒時,我們如何構建一個正確工作的程式?作業系統需要哪些基本型別?硬體應該提供哪些機構?我們如何使用它們來解決併發性問題? 本書另一個很重要的主題是併發性。我們使用這樣一個概念術語去描述同一個程式要同時處理多個任務時會發生的並要求解決的
自制作業系統學習心得(二)
主要學到的就是彙編程式碼,和之前mips指令集學的彙編類似。瞭解語法後,看懂不是問題。 這次學到的最重要的知識就是批處理檔案,之前都是按照作者的步驟寫的.bat程式碼,但是對裡面的內容卻不甚瞭解,總感覺在控制檯,輸入一些指令就可以對檔案進行操作很神奇,這次終於學到了。 Ma
計算機作業系統學習心得(一)作業系統概論
作業系統(operating system)OS: 1.1作業系統的目標和作用: (1)方便性:<1>系統可以使用編譯命令將使用者採用高階語言書寫的程式翻譯成機器程式碼; <2>直接通過OS所提供的各種命
Android學習心得(13) --- Android代碼混淆(1)
簽名 ref nes 三分 pen key this tool prop 我在博客上發表一些我的Android學習心得,希望對大家能有幫助。 這一篇我們講述一下最新的ADT環境下怎樣進行Android混淆 在新版本號的ADT創建項目時。混碼的文
我所理解的Vue——學習心得體會1(Vue對象)
vue 模板 welcom 模型 style 學習 認識 理解 內容 初學Vue,總結如下: 1、首先要區分html的dom和js的dom 2、html的dom是View的範疇,js的dom是Model的範疇。 3、vue這庫就是創建了偉大的new Vue()對象,把htm
8. Security-oriented operating systems (面向安全的操作系統 5個)
solaris open 軟件 模塊 計算 設計 包含 腳本 問控制 這款出色的可啟動live CD的Linux發行版來自於Whax和Auditor的合並。 它擁有各種各樣的安全和取證工具,並提供豐富的開發環境。 強調用戶模塊化,所以用戶可以輕松地定制以包括個人腳本,附加工
建庫建表學習心得(知識點誤點分析)
.cn 分析 說明 log courses 應該 code 主健 字符類型 建庫建表知識點(下列舉例)、 建庫: CREATE DATABASE EduBase2017 ON (NAME=‘Datefile_1‘ ,FILEN
openstack學習心得:keystone 常用命令(M版)
face pan sig rom 用戶 目錄 change 創建 email 查看用戶列表 openstack user list 查看用戶具體信息 usage: openstack user show [-h] [-f
C++學習心得(一)
eof gpo pre typeid 學習 div ctrl+z c++ str 2018-01-20 while (cin >> n)//終止可以使用輸入eof或Ctrl+Z for (auto &c : str) cout <
ADO.Net之SqlConnection、 Sqlcommand的應用學習心得(思維導圖,知識解析,案例分析)
ros statistic system 啟動 clone() 連接字符串 esp ans 用戶 ADO.Net之SqlConnection、 Sqlcommand的應用 一、思維導圖: ADO.NET與SQL連接: 二、知識點介紹: SqlConnecti
Android學習心得(一):
1、活動類處理啟動與關閉活動的相關方法及說明 方法 說明 StartActivity(intent) 使用引數意圖啟動新活動,此方法是重寫Context類實現的原始版本 startA
vuex 2.0學習心得(下)--- getter
vuex2.0基本使用(3) --- getter 1. Getter 就是把元件中共有的對state的操作進行了提取,它就相當於對state的computed.所以它會獲得state作為第一個引數。 2. 有的元件中獲取到 store中的state,&nb
vuex 2.0學習心得(中) mutation&action
Vuex (vue2.0) 基礎mutation&action(理解) Vuex採用和Redux類似的單向資料流的方式來管理資料。使用者介面負責觸發動作(Action)進而改變對應狀態(State),從而反映到檢視(View)上。如下圖所示: 完整的Vuex用
vuex 2.0學習心得(上)
Vuex (vue2.0) 基礎(理解) 相關詞彙認識 1. devtools 工具 2. backbend API後臺資料介面文件 3.&nb
機器人作業系統(ROS)淺析(肖軍浩 博士 譯) 學習筆記二(第六章到第十章)
第 6 章 啟動檔案 利用啟動檔案一次性配置和執行多個節點 。 roslaunch :這是一個自適應工具,如果啟動多節點時沒有節點管理器執行,它會自動啟動節點管理器;如果已經有一個節點 管理器在執行,則會使用已有的。 利用啟動檔案一次性配
機器人作業系統(ROS)淺析(肖軍浩 博士 譯) 學習筆記一(第一章到第五章)
機器人作業系統(ROS)淺析(肖軍浩 博士 譯) 學習筆記 第一章: 第 1 章 緒論 1.1 選擇 ROS 的理由 分散式計算 現代機器人系統往往需要多個計算機同時執行多個 程序,例如: (1)一些機器人搭載多臺計算機,每臺計算機用於控制機器人的 部分驅動器或感測器