Suche senden
Hochladen
程式設計師的自我修養 Chapter 1
•
27 gefällt mir
•
9,853 views
Shu-Yu Fu
Folgen
Melden
Teilen
Melden
Teilen
1 von 22
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
了解内存
了解内存
Feng Yu
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
Feng Yu
MIS MySQL 入門
MIS MySQL 入門
均民 戴
Linux内存管理
Linux内存管理
zijia
MySQL和IO(下)
MySQL和IO(下)
Feng Yu
利用新硬件提升数据库性能
利用新硬件提升数据库性能
Feng Yu
Cuda基本介绍
Cuda基本介绍
caolejun
SSD在淘宝的应用实践
SSD在淘宝的应用实践
Feng Yu
Weitere ähnliche Inhalte
Was ist angesagt?
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
OpenCity Community
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Kenny (netman)
互联网分布式系统架构分享-Qcon2011
互联网分布式系统架构分享-Qcon2011
Yiwei Ma
Qcon2011-54chen-互联网分步式构架分享
Qcon2011-54chen-互联网分步式构架分享
zhen chen
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
Feng Yu
Proxmox VE 4.3 vs VMWare vSphere 6.1
Proxmox VE 4.3 vs VMWare vSphere 6.1
Chris Hsiang
StackOps step by-step guide
StackOps step by-step guide
slmagicbox
04 16 課程
04 16 課程
T客邦
Proxmox 5.0
Proxmox 5.0
Chris Hsiang
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Feng Yu
PVE 4.1 HC 架構
PVE 4.1 HC 架構
Chris Hsiang
高性能数据库
高性能数据库
dhlzj
Ch8 file system management(2013 ncu-nos_nm)
Ch8 file system management(2013 ncu-nos_nm)
Kir Chou
Vim 实用技术,第 1 部分: 实用技巧
Vim 实用技术,第 1 部分: 实用技巧
King Hom
Redis 介绍 -田琪
Redis 介绍 -田琪
Shaoning Pan
Virtualbox
Virtualbox
fangdun cai
Assembly Language Redhung ( x86 ) @ TDOH
Assembly Language Redhung ( x86 ) @ TDOH
Redhung @ Nationtal Chung Cheng University, Chiayi, Taiwan.
南投替代役整理組數位典藏報告
南投替代役整理組數位典藏報告
Bo-Yi Wu
了解集群
了解集群
Feng Yu
Private Cloud vs Public Cloud Analysis
Private Cloud vs Public Cloud Analysis
Chris Hsiang
Was ist angesagt?
(20)
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
互联网分布式系统架构分享-Qcon2011
互联网分布式系统架构分享-Qcon2011
Qcon2011-54chen-互联网分步式构架分享
Qcon2011-54chen-互联网分步式构架分享
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
Proxmox VE 4.3 vs VMWare vSphere 6.1
Proxmox VE 4.3 vs VMWare vSphere 6.1
StackOps step by-step guide
StackOps step by-step guide
04 16 課程
04 16 課程
Proxmox 5.0
Proxmox 5.0
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
PVE 4.1 HC 架構
PVE 4.1 HC 架構
高性能数据库
高性能数据库
Ch8 file system management(2013 ncu-nos_nm)
Ch8 file system management(2013 ncu-nos_nm)
Vim 实用技术,第 1 部分: 实用技巧
Vim 实用技术,第 1 部分: 实用技巧
Redis 介绍 -田琪
Redis 介绍 -田琪
Virtualbox
Virtualbox
Assembly Language Redhung ( x86 ) @ TDOH
Assembly Language Redhung ( x86 ) @ TDOH
南投替代役整理組數位典藏報告
南投替代役整理組數位典藏報告
了解集群
了解集群
Private Cloud vs Public Cloud Analysis
Private Cloud vs Public Cloud Analysis
Andere mochten auch
TLPI - Chapter 44 Pipe and Fifos
TLPI - Chapter 44 Pipe and Fifos
Shu-Yu Fu
程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體
Shu-Yu Fu
程式設計師的自我修養 Chapter 8
程式設計師的自我修養 Chapter 8
Shu-Yu Fu
程式設計師的自我修養 Chapter 3.4
程式設計師的自我修養 Chapter 3.4
Shu-Yu Fu
程式設計師的自我修養 Chapter 5
程式設計師的自我修養 Chapter 5
Shu-Yu Fu
Tlpi chapter 38 writing secure privileged programs
Tlpi chapter 38 writing secure privileged programs
Shu-Yu Fu
TLPI - 6 Process
TLPI - 6 Process
Shu-Yu Fu
TLPI Chapter 14 File Systems
TLPI Chapter 14 File Systems
Shu-Yu Fu
BT5攻防手法
BT5攻防手法
openblue
Happy Go Programming Part 1
Happy Go Programming Part 1
Lin Yo-An
TLPI - 7 Memory Allocation
TLPI - 7 Memory Allocation
Shu-Yu Fu
Andere mochten auch
(11)
TLPI - Chapter 44 Pipe and Fifos
TLPI - Chapter 44 Pipe and Fifos
程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 8
程式設計師的自我修養 Chapter 8
程式設計師的自我修養 Chapter 3.4
程式設計師的自我修養 Chapter 3.4
程式設計師的自我修養 Chapter 5
程式設計師的自我修養 Chapter 5
Tlpi chapter 38 writing secure privileged programs
Tlpi chapter 38 writing secure privileged programs
TLPI - 6 Process
TLPI - 6 Process
TLPI Chapter 14 File Systems
TLPI Chapter 14 File Systems
BT5攻防手法
BT5攻防手法
Happy Go Programming Part 1
Happy Go Programming Part 1
TLPI - 7 Memory Allocation
TLPI - 7 Memory Allocation
Ähnlich wie 程式設計師的自我修養 Chapter 1
Tcfsh bootcamp day2
Tcfsh bootcamp day2
Xatierlike Lee
[students AI workshop] Pytorch
[students AI workshop] Pytorch
Tzu-Wei Huang
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
Jackson Tian
百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化
tiantianli
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
思念 青青
张勇 搜搜前端架构
张勇 搜搜前端架构
isnull
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
Amigo 陳兆祥
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
Chieh (Jack) Yu
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
George Ang
Sheepdog内部实现机制
Sheepdog内部实现机制
Liu Yuan
「電腦硬體」教學示例與研討
「電腦硬體」教學示例與研討
David Tang
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
yang alex
作業系統祕笈(張逸)
作業系統祕笈(張逸)
逸 張
UCloud
UCloud
De-Wu Zeng
优酷 Web网站架构案例分析
优酷 Web网站架构案例分析
George Ang
Key value store
Key value store
xuanhan863
Youku arch qcon2009_beijing
Youku arch qcon2009_beijing
drewz lin
作業系統概論
作業系統概論
Ying wei (Joe) Chou
Python小团队不妨知道的技术
Python小团队不妨知道的技术
jie.wang
Ähnlich wie 程式設計師的自我修養 Chapter 1
(20)
Tcfsh bootcamp day2
Tcfsh bootcamp day2
[students AI workshop] Pytorch
[students AI workshop] Pytorch
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
张勇 搜搜前端架构
张勇 搜搜前端架构
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
Sheepdog内部实现机制
Sheepdog内部实现机制
「電腦硬體」教學示例與研討
「電腦硬體」教學示例與研討
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
作業系統祕笈(張逸)
作業系統祕笈(張逸)
UCloud
UCloud
优酷 Web网站架构案例分析
优酷 Web网站架构案例分析
Key value store
Key value store
Youku arch qcon2009_beijing
Youku arch qcon2009_beijing
作業系統概論
作業系統概論
Python小团队不妨知道的技术
Python小团队不妨知道的技术
程式設計師的自我修養 Chapter 1
1.
程式設計師的自我修養
連結. 載入. 程式庫 Shu-Yu Fu (shuyufu@gmail.com)
2.
第一篇 簡介 1. Chapter
1 溫故而知新 a. 從Hello World說起 b. 萬變不離其宗 c. 站得高,望得遠 d. 作業系統的功能 e. 記憶體不夠麼辦 f. 團結力量大 g. 本章小結
3.
從Hello World說起 #include <stdio.h> int
main () { printf ("Hello Worldn"); return 0; } 你知道這個Hello World從編譯、靜態鏈結到作業系統如何載 入程式、動態鏈結及執行階段程式庫和標準程式庫的實作 嗎?
4.
萬變不離其宗 ● CPU、記憶體、I/O控制晶片
5.
匯流排【Bus】
6.
PCI/ISA及南北橋設計的硬體架構
7.
SMP與多核 ● CPU幾乎已經達到實體限制,4GHz ● 對稱式多重處理,Symmetrical
Multi- Processing ● CPU的數量和處理的速度並不成正比 ● 將多個處理器合併在一起,以一個處理器的外 包裝出售
8.
站得高,望得遠
9.
作業系統的功能 ● 管理CPU、記憶體、I/O設備 ● CPU
○ 多重程式,Multiprogramming ○ 分時系統,Time-Sharing System ○ 多工系統,Multi-tasking ■ 行程,Process ■ 先佔式,Preemptive ● 硬體驅動程式(Device Driver) ○ 讀檔
10.
記憶體不夠怎麼辦 ●
位址空間不隔離 ● 記憶體使用效率低 ● 程式執行的位址不確定 ● 虛擬位址,Virtual Address ○ 分段 ○ 分頁
11.
分段
12.
分頁 ●
虛擬頁,Virtual Page ● 實體頁,Physical Page ● 磁碟頁,Disk Page ● 分頁錯誤(Page Fault) ● MMU,Memory Management Unit
13.
分頁(cont.)
14.
團結力量大 ● 緒程,Thread,有時稱為羽量級行程
(Lightweight Process) ● 由緒程ID、PC、暫存器集合和堆疊組成
15.
緒程的存取權限
16.
緒程排程
17.
緒程排程(cont.) ● 優先順序排程(Priority Schedule)
○ 緒程優先順序(Thread Priority) ● 輪轉法(Round Robin) ● 餓死(Starvation) ○ 使用者指定優先順序 ○ 根據進入等待狀態的頻繁程度提升或降低優先順序 ■ IO密集型緒程(IO Bound Thread) ■ CPU密集型緒程(CPU Bound Thread) ○ 長時間得不到執行而被提升優先順序 ● 先佔(Preemption)
18.
Linux的多緒程 ● 無論緒程或行程都稱為任務(Task) ● 不同的Task之間可以共用記憶體空間。怎麼知
道Task實際使用多少? ● 寫時複製(Copy-on-Write)
19.
緒程安全 ● void inc_x
() { x++; } ● 原子(Atomic)操作,glib ● Semaphore《Glib Semaphores》 ○ 可以被任意緒程獲取並釋放 ● Mutex《類似binary semaphore》glib ○ 哪個緒程獲取了互斥器,哪個緒程就要負釋放這個鎖 定 ● Criticsl Section ● Read-Write Lock ○ Sema、Mutex、CS遇到偶爾寫入的情況,效能不彰 ● Condition Variable
20.
緒程安全(cont.) ● 可重入(Reentrant)
● 過度最佳化 ○ volatile(C語言中volatile關鍵字) ●CPU動態排程換序, ○ 參考(《大话处理器》连载——微架构(19) 乱序执行 总结) ○ barrier防止指令交換
21.
多緒程內部情況
22.
本章小結 ● 有夠雜的
Jetzt herunterladen