Bài giảng Hệ điều hành (Operating System) trình bày tổng quan về hệ thống máy tính; các thành phần của hệ thống máy tính; lịch sử phát triển của hệ điều hành; quản lý bộ nhớ; bộ nhớ ảo; hệ thống quản lý tập tin; hệ thống quản lý nhập/xuất;... Mời các bạn tham khảo.
Trang 16/17/2009 Operating System 1
HỆ ðIỀU HÀNH
Trang 26/17/2009 Operating System 2
Tài liệu tham khảo He:
Slide bài giảng
Trang 36/17/2009 Operating System 3
* Tổng quan về hệ thống máy tính
* Tổng quan về hệ thống máy tính
+ HSA (Kiến trúc hệ thống phần cứng)
+ ISA (Kiến trúc bộ lệnh)
Trang 46/17/2009 Operating System 4
Để có thể hoạt động, bắt buộc phải có:
• - Hệ thống xử lý
* Các thành phần chính
của hệ thống máy tính:
* Các thành phần chính
của hệ thống máy tính:
+ HSA (Kiến trúc hệ thống phần cứng)
Kiến trúc máy tính
• - Hệ thống lưu trữ
• - Hệ thống nhập xuất
Trang 56/17/2009 Operating System 5
Bộ nhớ trong
Bộ nhớ ngoài
Hệ thống lưu trữ
(RAM, ROM, Registers, Cache, Port)
(HD, FD, CD, DVD, USB disk, )
Kiến trúc máy tính
Trang 66/17/2009 Operating System 6
• - Kiểu dữ liệu
* Các thành phần chính
của hệ thống máy tính:
* Các thành phần chính
của hệ thống máy tính:
+ HSA (Kiến trúc hệ thống phần cứng)
Kiến trúc máy tính
• - Tập thanh ghi
• - Tập lệnh
+ ISA (Kiến trúc bộ lệnh)
Trang 76/17/2009 Operating System 7
HSA
Hệ thống xử lý
Hệ thống lưu trữ
Hệ thống nhập xuất
Bộ nhớ trong
Bộ nhớ ngoài
CPU Các chip xử lý khác
Kiểu Dữ LiệuTập Thanh GhiTập Lệnh
ISA
(RAM, ROM, Thanh ghi, Cache, )
(Bàn phím, màn hình, chuột, loa, micro, modem, máy in, )
(HD, FD, CD, DVD, USB disk, )
Trang 86/17/2009 Operating System 8
- Hệ nhị phân (cơ số 2):
Hình thức thể hiện: 01001b, 11111001b, 11100b
* Các hệ thống số
* Các hệ thống số
- Hệ thập phân (cơ số 10):
Hình thức thể hiện: 9, 249, 28d,
- Hệ thập lục phân (cơ số 16):
Hình thức thể hiện: 9h, 0F9h, 1Ch,
Trang 96/17/2009 Operating System 9
- bit: đơn vị lưu trữ nhỏ nhất
* Các kiểu dữ liệu trong máy tính
* Các kiểu dữ liệu trong máy tính
- Byte: đơn vị truy xuất của chương trình
- Word: đơn vị truy xuất của máy tính
(có kích thước phụ thuộc vào CPU & lưu ngược theo đơn vị Byte – xem ví dụ)
- Chuỗi ký tự: lưu trữ theo thứ tự bình thường
- Số BCD: lưu trữ mỗi chữ số của 1 số thập phân
bằng một (hoặc nửa) Byte
Trang 106/17/2009 Operating System 10
* Tổ chức dữ liệu trên bộ nhớ trong
* Tổ chức dữ liệu trên bộ nhớ trong
- Byte: đơn vị truy xuất bộ nhớ trong của phần mềm
(gồm 8 bit - bit phải nhất là bit 0 & bit trái nhất là bit 7)
- Word: đơn vị truy xuất của phần cứng (có kích thước
phụ thuộc vào CPU) hoặc 1 kiểu dữ liệu của phầnmềm (có kích thước phụ thuộc vào phần mềm tương ứng)
- Chuỗi ký tự: lưu trữ theo thứ tự bình thường
- Số nguyên: lưu ngược theo đơn vị Byte (khảo sát
các ví dụ cụ thể)
Trang 116/17/2009 Operating System 11
* Tổ chức thanh ghi:
* Tổ chức thanh ghi:
+ Khái niệm thanh ghi:
Các thanh ghi trong CPU 8bit có kích thước 8bit, trong CPU 16bit có kích thước 16bit, trong CPU 32bit có kích thước 32bit đồng thời có luôn các thanh ghi của CPU 16 bit
- Là các vùng nhớ nhỏ lưu dữ liệu trong các chip xử lý
+ Kích thước thanh ghi:
Tính theo đơn vị bit – tùy thuộc chức năng của chip
- Có tốc độ truy xuất rất nhanh & tần suất sử dụng cao
+ Số lượng thanh ghi:
Thường rất ít, tùy thuộc mức độ xử lý & thiết kế của chip
CPU Intel 16 bit có 14 thanh ghi, phân thành 5 nhóm
Trang 126/17/2009 Operating System 12
* Tổ chức thanh ghi của CPU 16 bit:
* Tổ chức thanh ghi của CPU 16 bit:
+ Nhóm thanh ghi đoạn (Segment register):
- CS (Code Segment): lưu chỉ số của segment chứa CT ngôn ngữ máy.
- DS (Data Segment): lưu chỉ số segment chứa dữ liệu của CT.
- ES (Extra Segment): lưu chỉ số segment chứa dữ liệu bổ sung của CT.
- SS (Stack Segment): lưu chỉ số segment chứa ngăn xếp của CT.
(Trên CPU 32bit có thêm 2 thanh ghi FS, GS có chức năng tương tự như ES)
CT muốn truy xuất 1 vùng nhớ thì phải đưa chỉ số segment của vùng nhớ đó vào một thanh ghi đoạn
Trang 136/17/2009 Operating System 13
* Tổ chức thanh ghi của CPU 16 bit:
* Tổ chức thanh ghi của CPU 16 bit:
+ Nhóm thanh ghi con trỏ & chỉ mục (Pointer & Index Reg.)
- IP (Instruction Pointer): lưu offset của ô nhớ chứa lệnh kế tiếp.
- BP (Base Pointer): lưu offset của ô nhớ cần truy xuất.
- SP (Stack Pointer): lưu offset đỉnh ngăn xếp.
- SI (Source Index): lưu offset vùng nhớ nguồn cần đọc lên.
- DI (Destination Index): lưu offset vùng nhớ đích cần ghi xuống.
Mỗi thanh ghi trong nhóm này phải đi kèm với 1 thanh ghi trong nhóm thanh ghi đoạn mới biểu thị được vùng nhớ /ô nhớ cần truy xuất.
Trang 146/17/2009 Operating System 14
* Tổ chức thanh ghi của CPU 16 bit:
* Tổ chức thanh ghi của CPU 16 bit:
+ Nhóm thanh ghi đa dụng (General Register)
- AX (Accumulator Register): lưu các dữ liệu số, giá trị mặc định, …
- BX (Base Register): đóng vai trò chỉ số mảng,, cũng có thể lưu dữ liệu
- CX (Count Register): có thể dùng để định số lần lặp.
- DX (Data Register): lưu dữ liệu /kết quả tính toán (~AX).
Mỗi thanh ghi trong nhóm này đều cho phép sử dụng đến từng Byte, bằng cách thay chữ ‘X’ thành chữ ‘H’ để chỉ Byte cao, hoặc ‘L’ để chỉ Byte thấp (AH, BL, CL)
Xem như có thêm 8 thanh ghi mới
Trang 156/17/2009 Operating System 15
* Tổ chức thanh ghi của CPU 16 bit:
* Tổ chức thanh ghi của CPU 16 bit:
+ Thanh ghi cờ (Flag Register)
Không có tên, mỗi bit là 1 cờ, biểu diễn trạng trái của lệnh vừa thực hiện, hoặc đặt trạng trái cho lệnh thực hiện
Trang 166/17/2009 Operating System 16
* Hệ thống ngắt (Interrupt):
* Hệ thống ngắt (Interrupt):
+ Khái niệm:
- Là các chương trình con (thủ tục /hàm) có sẵn trong máy
- Các hàm ngắt không chỉ có sẵn trong ROM BIOS mà còn
được Hệ Điều Hành bổ sung thêm
- Hàm ngắt không có tên mà thay vào đó là 1 con số (0 FF)
- Mỗi hàm ngắt lại chứa bên trong nó nhiều hàm con
- Tham số in./output của hàm ngắt được truyền qua thanh ghi
Trang 176/17/2009 Operating System 17
* Hệ thống ngắt (Interrupt):
* Hệ thống ngắt (Interrupt):
+ Phân loại:
Ngắt cứng Ngắt mềm
Ngắt trong
Ngắt ngoài
Ngắt do người dùng tạo
Ngắt của hệ thống
Ngắt của BIOS
Ngắt của HĐH
Trang 186/17/2009 Operating System 18
* Hệ thống ngắt (Interrupt):
* Hệ thống ngắt (Interrupt):
+ Chương trình ngắt:
Thường gồm nhiều đoạn chương trình con bên trong, mỗi đoạn thực hiện 1 công việc cụ thể nào đó, chỉ số của đoạn thể hiện trong AH Khi đó thân hàm ngắt có dạng (mã giả):
switch (AH) { case 0:
// hàm con 0 break;
case 1:
// hàm con 1 break;
case N:
// hàm con N break;
}
Trang 206/17/2009 Operating System 20
* Tổ chức dữ liệu trên đĩa từ
* Tổ chức dữ liệu trên đĩa từ
+ Cấu trúc vật lý :
- Hình tròn, gồm nhiều mặt, mỗi mặt có nhiều đường tròn
đồng tâm, trên các đường tròn có các cung tròn, thông thường mỗi cung chứa 4096 điểm từ (=4096bit = 512 byte)
- Mỗi mặt có tương ứng 1 đầu đọc để đọc hoặc ghi dữ liệu.
- Mỗi lần đọc /ghi ít nhất 1 cung tròn (512 B)
- Các cung tròn, đường tròn & đầu đọc (hoặc mặt) có các từ
gốc tương ứng là sector , track (hoặc cylinder ) & head.
- Mỗi lần truy xuất (đọc hoặc ghi đĩa) chỉ có thể thực hiện
trên N sector liên tiếp (N>=1)
Trang 216/17/2009 Operating System 21
* Tổ chức dữ liệu trên đĩa từ
* Tổ chức dữ liệu trên đĩa từ
+ Cấu trúc vật lý :
- Để truy xuất 1 sector cần phải chỉ ra vị trí của sector đó
Vị trí sector được thể hiện bằng 3 thông số: chỉ số sector, track & head
- Head được đánh số theo thứ tự từ trên xuống bắt đầu từ 0,
Track được đánh số theo thứ tự từ ngoài vào bắt đầu từ 0, Sector được đánh chỉ số theo thứ tự bắt đầu từ 1 theo chiều ngược với chiều quay của đĩa
- Địa chỉ của sector vật lý có ký hiệu : (sector, track, head)
Trang 226/17/2009 Operating System 22
* Tổ chức dữ liệu trên đĩa từ
* Tổ chức dữ liệu trên đĩa từ
+ Tổ chức đĩa logic:
- Là 1 dãy các sector được đánh chỉ số theo thứ tự tăng dần
bắt đầu từ 0
- Đĩa thật sự là đĩa vật lý nhưng vì truy xuất phải dùng đến 3
tham số rất bất tiện nên khái niệm đĩa logic được đưa ra để dễ hiểu, dễ thao tác /tính toán hơn.
N-1 4
3 2 1
0
…
…
- Mỗi sector trên đĩa logic tương ứng với 1 sector duy nhất
trên đĩa vật lý sao cho sau khi truy xuất sector K thì truy xuất tiếp sang sector K+1 là nhanh hơn so với tất cả các sector khác.
Trang 246/17/2009 Operating System 24ðĩa cứng
Trang 256/17/2009 Operating System 25
ðĩa cứng
Trên m ộ t track chia làm nhi ề u cung b ằ ng
nhau là 1 sector và ñượ c ñ ánh s ố t ừ m ộ t
Qua track m ớ i ñ ánh s ố l ạ i S ố sector trên
Trang 266/17/2009 Operating System 26
ðĩa cứng
ðơn vị cơ sở của ñĩa là sector (thường = 512
byte)ðĩa là thiết bị xuất nhập theo khối
Một sector ñược xác ñịnh bằng 2 cách:
Sector tương ñối: sector vật lý xác ñịnh bởi
head (ñánh số từ 0), track (ñánh số từ 0) trên
head và sector trên track (ñánh số từ 1)
Sector tuyệt ñối: sector logic xác ñịnh bởi mộtthông tin Cách ñánh số xác ñịnh sector tuyệt
ñối như sau: ñánh số hết trên một cylinder sau
ñó trở về mặt 0 ñể ñánh số tiếp theo cho mặt 0
của cylinder tiếp theo
Trang 286/17/2009 Operating System 28
Card Màn Hình
Chất lượng màn hình phụ thuộc vào card màn
hình Có 3 yếu tố ñể xác ñịnh chất lượng của card màn hình:
ðộ phân giải ví dụ 800x600
Số màu = số màu của 1 pixel ñược quy ñịnh bởi
số bit màu quản lý cho 1 pixel
Kích thước bộ nhớ = 1p * số trang Trong ñó 1p
=
= ñộ phân giải * số byte màu (1p là một trang
màn hình)
Trang 2965536 màu = 216 màu = 2 byte màu
Tốc ñộ load hình 24 frame/s số trang là 24
Kích thứơc bộ nhớ = 1p * số trang = 1p * 24
Kích thước = ñộ phân giải * số byte màu * 24
Kích thước = 800*600*2*24 (byte) ≈ 22 (MB)
Trang 306/17/2009 Operating System 30
Câu hỏi ôn tập
1/ Cho một ñĩa cứng có dung lượng 640 MB, ñĩanày sử dụng 640 mặt Biết số sector trên 1 track
gấp ñôi số track trên một mặt Hỏi số sector trên
một cylinder cylinder là bao nhiêu?
2/ Cho một card màn hình có dung lượng 8 MB,
sử dụng 24 frame/s Hỏi card màn hình này có thể
sử dụng ñược những ñộ phân giải thông thường
nào khi số màu hiển thị là 256 màu
3/Tìm công thức xác ñịnh số hiệu sector tuyệt ñối
từ sector tương ñối và ngược lại
Trang 326/17/2009 Operating System 1
T ổ ng quan v ề H ệ ñ i ề u hành
Tr ầ n S ơ n H ả i Khoa Toán – Tin h ọ c
ðạ i h ọ c S ư ph ạ m TPHCM
Heavily reference to Operating System Slide of Hoang Than Anh Tuan, University of Pedagogy, HCMC
Trang 356/17/2009 Operating System 4
ðị nh ngh ĩ a HðH
•HðH là một chương trình hoạt ñộng như là một
trung gian giữa người dùng và phần cứng máy
tính
•Mục ñích của HðH:
–Kiểm soát và thực thi các chương trình ứng dụng.
–Quản lý tiến trình –Quản lý CPU
–Giúp người sử dụng dễ sử dụng máy vi tính.
–Sử dụng tài nguyên phần cứng máy tính một cách
hiệu quả
–Quản lý ñĩa cứng –Quản lý bộ nhớ
Trang 36OS Kernel
Hard ware
Trang 376/17/2009 Operating System 6
Vai trò của HðH (trạng thái tĩnh)
(tt)
Trang 386/17/2009 Operating System 7
Vai trò của HðH (trạng thái ñộng) (tt)
Trang 396/17/2009 Operating System 8
Phân l ớ p trong m ộ t h ệ th ố ng
Người dùng
Lập trình viên
Kỹ sư thiết kế HðH
Phần cứng
Hệ ñiều hành Chức năng hỗ trợ
tác dễ dần
ðộ phức tạp tăng dần
Trang 40Lệnh của máy
Trang 44l ư u trong vector ng ắ t (interrupt vector)
– Vector ng ắ t ñượ c l ư u trong m ộ t v ị trí b ộ nh ớ ñượ c ñị nh tr ướ c
Trang 456/17/2009 Operating System 14
X ử lý ng ắ t (tt)
• Khi m ộ t ng ắ t x ả y ra:
– CPU chuy ể n sang ch ế ñộ Kernel
– Chuy ể n quy ề n ñ i ề u khi ể n cho b ộ x ử lý ng ắ t
thích h ợ p
– ðị a ch ỉ c ủ a b ộ x ử lý ng ắ t ñượ c tìm th ấ y b ằ ng cách s ử d ụ ng s ố th ứ t ự c ủ a ng ắ t nh ư là m ộ t
ch ỉ s ố ñề vector ng ắ t:
• Jump &int[interrupt#]
Trang 486/17/2009 Operating System 17
L ờ i g ọ i h ệ th ố ng
• H ệ ñ i ề u hành cung c ấ p m ộ t t ậ p h ợ p các d ị ch v ụ h ệ
th ố ng (các ch ứ c n ă ng mà h ệ ñ i ề u hành cung c ấ p,
th ườ ng liên quan ñế n ph ầ n c ứ ng).
– Nh ằ m giúp cho các ch ươ ng trình ứ ng d ụ ng không c ầ n quan tâm
Trang 496/17/2009 Operating System 18
Chương trình người dùng không thể truy cập
vào các cấu trúc nội tại của HðH; chỉ có thể
thông qua lời gọi hệ thống ( protection! )
Cơ chế bảo vệ phân lớp
Trang 50• Ch ế ñộ thi hành ñượ c ch ỉ ra b ở i m ộ t bit trong
word tr ạ ng thái x ử lý (processor status word)
(PSW)
Trang 52• Ánh x ạ các trang b ộ nh ớ ñế n không gian
ñị a ch ỉ c ủ a m ộ t ti ế n trình xác ñị nh
• Ch ỉ th ị ñặ c m ứ c ñộ ư u tiên c ủ a ng ắ t
• Ch ỉ th ị ñể kích ho ạ t thi ế t b ị I/O
Trang 56• V ẽ mô hình phân l ớ p trong m ộ t h ệ th ố ng
và trình bày vai trò c ủ a h ệ ñ i ề u hành trong
ñ ó.
• Tìm hi ể u các l ệ nh trong MS-DOS (dir,
copy, copy con, del, ipconfig, netstat,
ipconfg /all, nslookup,
Trang 576/17/2009 Operating System 26
L ị ch s ử phát tri ể n c ủ a HðH
Trang 59• Một ñiều phối viên
• Một người bạn: giúp máy tính dễ sử dụng
• Một phù thủy: làm cho hệ thống có vẻ có nhiều hơn cái thật sự nó có (nhiều vi xử lý, nhiều bộ nhớ hơn)
– Công việc của hệ ñiều hành dựa theo phần cứng.
Trang 616/17/2009 4
2 Dự án chế tạo máy ENIAC(Electronic
Numerical Integrator and Computer) ñược BRL (Ballistics Research Laboratory – Phòng nghiên cứu ñạn ñạo quân ñội Mỹ) bắt ñầu vào năm
1943 dùng cho việc tính toán chính xác và nhanh chóng các bảng số liệu ñạn ñạo cho từng loại vũ khí mới
- 5000 phép cộng/ 1s
- ðặc biệt sử dụng hệ ñếm thập phân
Trang 62Ừ Dùng các bảng tổng ựài ựể ựiều khiển máy tắnh
Ừ Người sử dụng ngồi trước bảng ựiều khiển
Ừ Không có sự chồng nhau giữa việc tắnh toán, I/O và thời gian suy nghĩa của người dùng
Ừ Lập trình bằng cách ựưa phiếu ựục lỗ vào bằng tay
Ừ đã có thư viện ựược viết dùng chung cho mọi người tiền thân của hệ ựiều hành
Ừ Vấn ựề: chờ ựợi quá lâu, quá nhiều
Trang 63• HðH hỗ trợ làm vi c theo lô: một chương trình
tải công việc của người dùng vào, thi hành nó
Trang 64Không có s ự b ả o v ệ gi ữ a các công vi ệ c khác nhau
Công vi ệ c có th ờ i gian thi hành ng ắ n s ẽ ph ả i ñợ i r ấ t lâu n ế u nó ñượ c
s ắ p sau công vi ệ c có th ờ i gian thi hành dài h ơ n.
H ð H tr ở nên m ộ t khoa h ọ c quan tr ọ ng
•OS/360: Hð H ñầ u tiên thi ế t k ế cho m ộ t h ọ các máy tính: t ừ máy tính
nh ỏ nh ấ t ñế n máy tính l ớ n nh ấ t.
Trang 656/17/2009 8
Vấn ñề
•OS/360 ñược giới thiệu vào năm 1963;
và ñến năm 1968 nó mới thật sự hoạt
Trang 666/17/2009 9
Giai ñ o ạ n 2:Máy tính r ẻ h ơ n - nhân
công ñắ t! (1975-1985)
Giúp con người tăng năng suất
Chia sẻ thời gian: cho phép nhiều người sử dụng máy tính
cùng một lúc.
•Thiết bị cuối rẻ: mọi người ñều có thể mua
•Dữ liệu ñược lưu trữ: dùng các hệ thống file
•Thử nghiệm cung cấp thời gian phản hồi chấp nhận ñược
(tránh tình trạng tranh chấp tài nguyên; sự ñổ vỡ
(thrashing))
Thị trường ñược ñịnh hướng bởi các ứng dụng theo chiều dọc CTSS:
•Phát triển tại MIT
•Một trong những hệ thống chia sẻ thời gian ñầu tiên
•Tiên phong trong việc lập lịch
•Khởi nguồn cho MULTICS.
Trang 68– Ý t ưở ng m ớ i: H ð H có th ể di chuy ể n ñượ c!
– Các tr ườ ng ðH ñượ c cung c ấ p ñ o ạ n mã ñể tham kh ả o
– ð H Berkeley thêm vào h ỗ tr ợ b ộ nh ớ ả o cho VAX
– DARPA ch ọ n UNIX làm n ề n t ả ng m ạ ng (arpanet)
– UNIX tr ở thành HðH th ươ ng m ạ i.
– Các ý t ưở ng quan tr ọ ng ñượ c ph ổ bi ế n thông qua UNIX
– H ð H ñượ c vi ế t trên ngôn ng ữ c ấ p cao
– H ð H có th ể di chuy ể n ñượ c không ph ụ thu ộ c vào n ề n t ả ng ph ầ n
c ứ ng
– C ơ ch ế ñườ ng ố ng (pipe)
– H ệ th ố ng file có th ể ñượ c n ạ p.
Trang 69Ti ế p c ậ n Bill Gates (Microsoft) ñể xem h ọ có th ể xây d ự ng
m ộ t cái v ậ y không
Bill Gates mua 86-DOS, và t ạ o nên MS-DOS
M ụ c ñ ích chính: hoàn thành nhanh và ch ạ y ñượ c các
ch ươ ng trình CP/M hi ệ n hành
H ð H tr thành m t th vi n g m các th t c
con và các l nh có th thi hành ñ c.
Trang 706/17/2009 13
Personal workstations
– The PERQ
– The Xerox Alto
– The SUN Workstation (Stanford University Network)
... ccon l nh có th thi hành ñ c.
Trang 70