or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
OS筆記-Chapter 14: Protection
tags:
OS
目錄
Chapter 1: Introduction
Chapter 2: Operating-System Structures
Chapter 3: Processes
Chapter 4: Threads
Chapter 5: CPU Scheduling
Chapter 6: Process Synchronization
Chapter 7: Deadlocks
Chapter 8: Main Memory
Chapter 9: Virtual Memory
Chapter 10: File-System Interface
Chapter 11: File System Implementation
Chapter 12: Mass-Storage Systems
Chapter 13: I/O Systems
Chapter 14: Protection
Chapter 15: Security
保護的目的
防止使用者惡意的破壞系統上的存取限制
確保系統內工作的每一個程式都能在與指定政策一致的方式下使用系統支援
提供方法以區分有權限和無權限的使用
防止應用程式子系統產生和支援的資源被誤用
保護的原則
保護的範圍
必須知道原則(need-to-know principle):一個行程只能存取完成任務所需要的最小資源
領域結構
UNIX例子
MULTICS例子
存取矩陣(access matrix)
將保護的觀念看成是矩陣
當一行程從一領域轉換到另一領域時,我們執行switch
擁有拷貝權力以* 表示,能將存取權拷貝至其他領域
擁有者權力能為該物件加入或移除存取權
控制權力能移去領域中任何一個存取權
監禁問題(confinement problem):防止一個物件內原先擁有的資訊不會移到執行環境外的問題
存取矩陣的製作(Implementation of Access Matrix)
全域表
物件的存取串列(access list)
領域的資格串列(capability list)
鎖與鑰匙的機制(lock-key scheme)
存取控制(Access Control)
* 每一檔案和目錄被指定有使用者、團體或一串列的使用者,存取控制信息被分配給這些實體
存取權利的取消(Revocation of Access Rights)
當取消存取權時,會有一些問題產生
存取串列(access list)
資格串列(capability list)
以資格為基礎的系統(Capability-Based Systems)
Hydra
劍橋CAP
以語言為基礎的保護系統(Language-Based Protection)
保護不再單獨被認為是系統設計者的工作。它應也適用於當做應用設計者的工具
編譯器為基礎的實行
集合成為一個語言,保護伴隨著資料類型被宣稱
有下列數個好處
一個語言的製作方式可能提供標準、保護的處理程序來解釋軟體資格
一個編譯器能分別尋找,從那些可能發生違反的地方找到保證沒有違反保護會發生的地方,並不同的對待他們
安全性(security):經由核心比由編譯器產生的保護檢查碼,對保護系統提供更高度的安全性
彈性(flexibility):利用程式語言,可以依需要來宣稱及強行保護政策
效率性(efficiency):以語言為基礎的強行有固定存取強行可以在編譯時離線被修改
對資料結構緘封(seal):阻止它的內容被任何沒有擁有緘封或開啟(unseal)特權的程式存取
Java的保護