Ng Duc ThuanChương 1:Tổng quan về Hệ điều hành • Khái niệm về hệ điều hành tt – HĐH là bộ điều phối tài nguyên của máy tính thời gian sử dụng CPU, bộ nhớ, đĩa, thiết bị IO cho các ứng dụ
Trang 2Ng Duc Thuan
Chương 0: Cấu trúc hệ thống máy tính
Trang 3Ng Duc Thuan
Cơ chế vận hành của hệ thống
Một hệ thống thông thường gồm CPU và các bộ điều
khiển thiết bị (BĐKTB - device controller) Các tác vụ của
CPU và BĐKTB có thể thực thi song hành và tranh chấp
bộ nhớ chia sẻ qua sự điều khiển đồng bộ của memory
controller
Mỗi BĐKTB phụ trách một loại thiết bị cụ thể (video
adapter, disk drive, )
Mỗi BĐKTB có một buffer riêng
CPU chuyển dữ liệu từ bộ nhớ chính đến buffer riêng của
các BĐKTB và ngược lại Dữ liệu của các tác vụ I/O được
chuyển từ thiết bị đến buffer riêng của BĐKTB tương ứng
Mỗi khi kết thúc một tác vụ I/O, BĐKTB thông báo cho
CPU bằng cách gây ra ngắt (interrupts).
Trang 4Ng Duc Thuan
Ngắt (interrupts)
Ngắt (interrupt) là cơ chế cho phép tạm ngưng công việc
đang được CPU xử lý để phục vụ một yêu cầu khác
Khi có ngắt xảy ra, quyền điều khiển được chuyển giao
cho trình phục vụ ngắt (interrupt service routine) thông
qua bảng vector ngắt
Các đặc điểm của cơ chế ngắt :
– tăng hiệu suất xử lý công việc – đặc biệt là các tác vụ I/O
– ngắt thường được phát khởi bởi một thiết bị phần cứng
– thực hiện theo cơ chế bất đồng bộ (asynchronously) với process bị
ngắt.
Trap: ngắt mềm, phát khởi bởi một lỗi nào đó hoặc do
user yêu cầu Ví dụ:
– Lỗi chia cho 0 (divided-by-zero), memory page fault…
Hầu hết OS là interrupt-driven operating systems
Trang 5Ng Duc Thuan
Chu trình thực hiện lệnh
Trang 6Ng Duc Thuan
Chu trình lệnh với ngắt quãng
CPU kiểm tra ngắt sau mỗi lệnh
– polling
– vectored interrupt system
Nếu không có ngắt, bắt đầu một chu kỳ lệnh mới
Nếu có ngắt đang chờ, tạm ngưng và lưu trạng thái chương trình đang
Trang 7Ng Duc Thuan
I/O structure Hai phương thức thực hiện I/O
Sau khi bắt đầu tác vụ I/O, quyền điều khiển chỉ được
trả về khi và chỉ khi tác vụ I/O hoàn tất.
– CPU phải chờ đến khi tác vụ I/O hoàn tất
– Trong một thời điểm, có nhiều nhất là 1 tác vụ I/O
được thực hiện, không xử lý được đồng thời nhiều yêu
cầu I/O
Sau khi bắt đầu tác vụ I/O, quyền điều khiển được trả
về ngay mà không cần chờ hoàn tất tác vụ I/O
– CPU có thể thực thi lệnh kế tiếp mà không phải chờ
đến khi tác vụ I/O hoàn tất
– Trong một thời điểm, có thể có nhiều tác vụ I/O được
thực hiện đồng thời
Trang 8Ng Duc Thuan
Hai phương thức I/O
Synchronous I/O Asynchronous I/O
Trang 9Ng Duc Thuan
Các kỹ thuật thực hiện I/O
Programmed I/O (PIO)
– Không dùng ngắt, CPU phải chờ tác vụ I/O hoàn tất
Interrupt-driven I/O
– CPU có thể tiếp tục thực thi trong suốt quá trình xảy ra
I/O, khi tác vụ I/O hoàn tất thì sẽ phát ra một ngắt báo
hiệu cho CPU
Direct Memory Access (DMA)
– Một khối dữ liệu được chuyển trực tiếp giữa bộ nhớ và
thiết bị I/O mà không cần qua CPU
– Thường sử dụng cho các thiết bị I/O có tốc độ cao.
Trang 10Ng Duc Thuan
Storage structure
Bộ nhớ chính (main memory): CPU chỉ có thể truy cập
trực tiếp thanh ghi (registers) và bộ nhớ RAM
Bộ nhớ phụ (secondary storage): hệ thống lưu trữ thông tin
bền vững (nonvolatile storage)
Đĩa từ (magnetic disks)
– Bề mặt đĩa chia thành các rãnh (tracks), các rãnh này được chia
nhỏ hơn thành các cung từ (sectors).
– Cylinder: tập các track tạo thành một hình trụ
– Disk controller: bộ điều khiển quá trình giao tiếp giữa CPU và đĩa.
Trang 11Ng Duc Thuan
Cơ chế truy xuất đĩa
Thời gian định vị dữ liệu
-positioning time
(random-access time) bao gồm
– Seek time: thời gian di
chuyển đầu đọc đến cylinder
cần đọc
– Rotational latency: thời gian
tìm được sector cần đọc dữ
liệu.
Transfer rate: tốc độ chuyển
dữ liệu giữa đĩa và CPU
Trang 12Ng Duc Thuan
Phân cấp hệ thống lưu trữ
Hệ thống lưu trữ có thể phân cấp theo các tiêu
chuẩn
– Tốc độ (speed, access time)
– Dung lượng (capacity)
– Giá cả (cost)
– Độ bền vững dữ liệu (volatility)
Hệ thống phân cấp từ trên xuống theo
– Giá thành giảm dần
– Dung lượng tăng dần
– Thời gian truy cập tăng dần
– Tần suất truy cập của CPU giảm dần
– Chế độ lưu trữ bền vững (non-volatile)
Trang 13Ng Duc Thuan
Phân cấp hệ thống lưu trữ
Trang 14Ng Duc Thuan
Cơ chế caching
Caching: copy dữ liệu vào thiết bị lưu trữ tốc độ cao
hơn.
Tại sao phải dùng bộ nhớ cache
– Tốc độ CPU và bộ nhớ chính khác nhau
– Khai thác nguyên lý “locality”
Cần có chiến lược quản lý bộ nhớ cache thích hợp
Trong cơ chế caching, một dữ liệu có thể được lưu
trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ
liệu (consistent): bài toán cache coherency.
Trang 15Ng Duc Thuan
Bảo vệ phần cứng
Chức năng của hệ điều hành là kiểm tra toàn bộ
hệ thống
Hệ điều hành cung cấp chức năng chia sẻ tài
nguyên cho nhiều chương trình, vì vậy phải có cơ
chế kiểm tra và xử lý lỗi ứng với mỗi một chương
trình Các lỗi chương trình do phần cứng phát
hiện và thông báo cho hệ điều hành để ra quyết
định chấm dứt và thông báo
Bảo vệ phần cứng bao gồm cơ chế bảo vệ CPU,
Bộ nhớ, Thiết bị nhập xuất…
Trang 16Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Khái niệm về hệ điều hành
• Phân loại các hệ điều hành
• Cấu trúc của hệ điều hành
• Lịch sử phát triển của hệ điều hành
Trang 17Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Khái niệm về hệ điều hành
– Chương trình ứng dụng (trình biên dịch, hệ quản trị
CSDL, phần mềm thương mại, trị chơi…) sử dụng tài
nguyên máy tính để giải quyết các yêu cầu của user
– HĐH là chương trình hoạt động giữa user và phần cứng
máy tính, điều khiển quản lý tài nguyên và phối hợp sử
dụng phần cứng cho những ứng dụng khác nhau, giúp
giao tiếp người-máy thuận lợi hiệu quả
Trang 19Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
Mô hình trừu tượng của 1 máy tính
Trang 20Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Khái niệm về hệ điều hành (tt)
– HĐH là bộ điều phối tài nguyên của máy tính (thời
gian sử dụng CPU, bộ nhớ, đĩa, thiết bị IO) cho các
ứng dụng
– Khi cĩ nhiều yêu cầu khai thác tài nguyên, HĐH phải
giải quyết vấn đề tranh chấp và quyết định cấp phát
tài nguyên như thế nào là hiệu quả nhất
– Để gia tăng hiệu quả khai thác tài nguyên, HĐH phải
quản lý các bộ ĐKTB của nhà sản xuất (vd: VGA
card, sound card, modem, printer, HDD…)
– Giúp cho việc thi hành các chương trình dễ dàng hơn
Trang 21Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Phân loại các hệ điều hành
– Hệ thống xử lý theo lơ (batch) đơn giản
– Hệ thống xử lý theo lơ đa chương
– Hệ thống chia xẻ thời gian
– Hệ thống song song
– Hệ thống phân tán
– Hệ thống xử lý thời gian thực
Trang 22Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
1 Hệ thống xử lý theo lô đơn giản (đơn nhiệm, đơn
chương)
Hệ điều hành xử lý theo lô thực hiện các công việc lần
lượt theo những chỉ thị định trước Việc thực hiện dãy các
công việc một cách tự động nhờ một chương trình luôn
nằm thường trú trong bộ nhớ máy tính được gọi bộ giám
sát thường trực
Ưu điểm:Thời gian thực hiện chương trình nhanh.
Nhược điểm: CPU còn nhiều thời gian nhàn rỗi khi làm
việc thiết bị nhập xuất:
Khắc phục: Xử lý off_line, Spooling.
Trang 23Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
Multi-programmed Systems
2 Hệ thống xử lý đa chương
– Job pool: cấu trúc dữ liệu cho phép OS
lựa chọn công việc được thực thi kế tiếp
– Nhiều công việc được nạp vào bộ nhớ
chính cùng lúc, thời gian xử lý của CPU
được phân chia giữa các công việc đó
– Tận dùng được thời gian rảnh, khi một
công việc nào đó phải chờ I/O thì phải
nhường CPU cho công việc khác
(overlapping CPU - I/O).
Yêu cầu đối với OS
– Job Scheduling
– Memory management
– CPU scheduling
– Allocation of devices
Trang 24Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
So sánh multi-programming và uni-programming
Trang 25Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
3 Hệ thống chia sẻ thời gian Time-Sharing (multitasking) Systems
– Multi-programmed systems không cung cấp khả năng tương tác
với users
– CPU luân phiên chuyển đổi thực thi giữa các công việc
Quá trình chuyển đổi xảy ra thường xuyên hơn, mỗi công
việc chỉ được chia một phần nhỏ thời gian CPU Cung cấp sự tương tác giữa hệ thống với user
– Khi kết thúc thực thi một lệnh, OS sẽ chờ lệnh kế tiếp từ bàn phím chứ không phải từ card reader
Một công việc chỉ được chiếm CPU để xử lý khi nó nằm trong bộ nhớ chính
Khi cần thiết, một công việc nào đó có thể được chuyển từ bộ nhớ chính ra thiết bị lưu trữ, nhường bộ nhớ chính cho công việc khác.
Trang 26Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
Yêu cầu đối với OS trong Time-Sharing Systems
– Định thời công việc (job scheduling)
– Quản lý bộ nhớ (Memory Management)
Các công việc được hoán chuyển giữa bộ nhớ chính và đĩa Virtual memory: cho phép một công việc có thể được thực thi mà không cần phải nạp hoàn toàn vào bộ nhớ chính
– Quản lý các process (Process Management)
Định thời CPU (CPU scheduling) Đồng bộ các công việc (synchronization) Tương tác giữa các công việc (process communication) Tránh Deadlock
– Quản lý hệ thống file, hệ thống lưu trữ (disk management)
– Phân bổ các thiết bị, tài nguyên
– Cơ chế bảo vệ (protection)
Trang 27Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
4 Hệ thống song song
Ø Gồm nhiều bộ vi xử lý cùng chia sẻ hệ thống đường dẫn dữ liệu, đồng bộ,
bộ nhớ và các thiết bị ngoại vi Các bộ vi xử lý liên lạc bên trong với
nhau.
Ø Với nhiều bộ vi xử lý công việc thực hiện được thực hiện sẽ nhanh hơn,
những không phải có n vi xử lý nhanh hơn gấp n lần so hệ thống 1 vi xử
lý
Ø Độ tin cậy trong hệ thống nhiều vi xử lý là rất cao.
Ø Hệ thống đa xử lý thường sử dụng cách đa xử lý đối xứng Một số hệ
thống đa xử lý bất đối xứng.
Symmetric multiprocessing (SMP)
– Các processor vận hành cùng một hệ điều hành duy nhất.
– Nhiều ứng dụng thực thi cùng lúc với performance cao.
– Đa số các hệ điều hành hỗ trợ SMP.
Asymmetric multiprocessing
– Mỗi processor thực thi một công việc khác nhau, master processor định thời và phân
công việc cho các slave processors.
Trang 28Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
5 Hệ thống phân tán.
Ø Hệ thống phân tán: trên mỗi máy trong mạng cài đặt một
hệ điều hành khác nhau Máy chủ chủ yếu thực hiện một
số chức năng sau: Quản lý các kho dữ liệu tập trung,
cung cấp một số dịch vụ truyền dữ liệu, tổ chức xử lý khi
có yêu cầu từ máy trạm Mô hình khách
chủ(Client-Server) phân chia quản lý
Ø Nguyên nhân xây dựng HĐH phân tán:
- Chia sẻ tài ngyên.
- Tăng tốc độ tính toán.
- An toàn
- Thông tin liên lạc được với nhau
Yêu cầu cơ sở hạ tầng mạng máy tính
– LAN,WAN
Trang 29Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
6 Hệ thống thời gian thực
Hệ thống thời gian thực (Real-Time Systems)
– Thường dùng trong các thiết bị chuyên dụng như điều khiển các
thử nghiệm khoa học, điều khiển trong y khoa, dây chuyền công
nghiệp.
– Ràng buộc tương đối chặt chẽ về thời gian: hard và soft real-time.
Hard real-time:
– Hạn chế (hoặc không có) bộ nhớ phụ, tất cả dữ liệu nằm trong bộ
nhớ chính (RAM) hoặc ROM
– Yêu cầu thời gian đáp ứng, xử lý rất nghiêm ngặt, thường sử dụng
trong điều khiển công nghiệp, công nghệ robotics.
Soft real-time
– Thường xuất hiện trong lĩnh vực multimedia, thực tế ảo (virtual
reality) với yêu cầu mềm dẻo hơn về thời gian.
Trang 30Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
1.3.1 Các thành phần của hệ thống gồm:
Trang 31Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Quản lý tiến trình
– Tiến trình là một loạt các cơng việc được thi hành (proram, batch
processing, spooling, connecting…)
– Tiến trình sử dụng tài nguyên máy tính (CPU, bộ nhớ, tập tin,
thiết bị…) để phục vụ cơng việc của nĩ
– Khi tiến trình khởi tạo, nĩ địi hỏi nhiều tài nguyên hệ thống.
– Khi tiến trình kết thúc, HĐH phải thu hồi hoặc tái tạo tài nguyên
để cĩ thể dùng lại cho các tiến trình khác
– Tiến trình được biên dịch thành các tập tin thụ động trên đĩa
– Khi tiến trình được kích hoạt, HĐH sẽ khởi tạo tài nguyên ban
đầu theo yêu cầu, nạp tập chỉ thị vào bộ nhớ và thi hành theo cơ
chế tuần tự Tiến trình chuyển sang hoạt động
Trang 32Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
Cấu trúc 1 tiến trình của UNIX
argc/argv[]
Stack segment High address
etext edata
end
Initialized data
Uninitialized data
Trang 33– Về mặt luận lý, bộ nhớ là mảng các bit nhớ tổ chức theo đơn vị
lưu trữ (byte, word hay dword)
– Mỗi ô nhớ được HĐH định vị bằng cơ chế đánh địa chỉ riêng
– Các bộ ĐKTB, HĐH, ứng dụng… đều lưu trữ dữ liệu vào bộ nhớ
– Các chương trình muốn thi hành phải được ánh xạ thành địa chỉ
tuyệt đối, nạp vào bộ nhớ chính để hệ thống truy xuất đến
– Khi tiến trình kết thúc, dữ liệu vẫn còn trong bộ nhớ cho đến khi
một tiến trình khác ghi chồng lên (hoặc tắt máy)
Trang 34Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Quản lý bộ nhớ chính (tt)
– Do ứng dụng cĩ nhu cầu sử dụng bộ nhớ khác nhau,
nên HĐH phải cĩ nhiều kế hoạch quản trị bộ nhớ hiệu
quả
– Kế hoạch quản trị bộ nhớ của HĐH phụ thuộc vào
đặc điểm phần cứng và nhu cầu sử dụng của user
– Vai trị của HĐH trong việc quản lý bộ nhớ chính:
• Cấp phát và thu hồi bộ nhớ khi cần thiết
• Quyết định tiến trình nào được nạp vào bộ nhớ chính, địa chỉ nạp
• Lưu giữ thơng tin về các vị trí trong bộ nhớ đã sử dụng, tiến trình nào đang sử dụng
Trang 35Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Quản lý bộ nhớ phụ
– Nhược điểm của bộ nhớ chính:
• Quá nhỏ để cĩ thể lưu giữ mọi dữ liệu và chương trình
• Mất dữ liệu khi tắt máy
– Hệ thống lưu trữ phụ dùng đĩa lưu trữ chương trình,
dữ liệu
– Vai trị của HĐH trong việc quản lý đĩa:
• Định vị lưu trữ, truy xuất đĩa
• Quản lý vùng trống
• Lập lịch cho đĩa
– Hiệu năng của hệ thống tùy thuộc rất nhiều vào tốc
độ đọc/ghi Vì vậy HĐH phải cĩ cơ chế quản lý đĩa
hiệu quả
Trang 36– Nhiệm vụ của HĐH là tạo mặt giao tiếp thân
thiện giữa user và thiết bị thông qua các giao
thức ĐKTB tổng quát
– Một hệ thống nhập xuất bao gồm:
• Hệ thống buffer cahing
• Giao tiếp điều khiển thiết bị tổng quát
• Bộ điều khiển cho các thiết bị phần cứng
Trang 37Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Quản lý hệ thống tập tin
– Máy tính cĩ thể lưu trữ thơng tin trên nhiều dạng thiết bị vật lý
khác nhau (băng từ, đĩa từ, đĩa quang, thẻ nhớ…)
– Mỗi dạng thiết bị lưu trữ cĩ đặc điểm riêng về tổ chức vật lý, tốc
độ truy xuất, khả năng lưu trữ, tốc độ truyền…
– HĐH định nghĩa đơn vị lưu trữ logic là tập tin cùng với cấu trúc
đĩa luận lý để truy xuất thơng qua bộ điều khiển đĩa
– Tập tin: tập hợp thơng tin của chương trình và/hoặc dữ liệu
– Các loại tập tin:
• Thi hành: chứa ứng dụng, phần mềm Vd: COM, EXE
• Văn bản: chứa ký tự ASCII, chương trình nguồn
• Nhị phân: chứa dữ liệu của các ứng dụng
Trang 38Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Quản lý hệ thống tập tin (tt)
– Vai trị của HĐH trong việc quản lý tập tin:
• Tạo, xĩa tập tin
• Tạo, xĩa thư mục
• Hỗ trợ các thao tác trên tập tin và thư mục
• Ánh xạ tập tin trên hệ thống lưu trữ phụ
• Backup tập tin trên các thiết bị lưu trữ
Trang 39Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Hệ thống bảo vệ
– Hệ thống cĩ nhiều user, nhiều tiến trình đồng thời
– HĐH cung cấp cơ chế đảm bảo tài nguyên (tập tin, bộ
nhớ, CPU, đồng hồ, thiết bị ngoại vi…) chỉ được truy
xuất bởi những tíên trình cĩ quyền
– Hệ thống bảo vệ là cơ chế kiểm sốt quá trình truy
xuất của chương trình, tiến trình, user trên tài nguyên
hệ thống
– Gia tăng độ an tồn khi kiểm tra lỗi của các giao tiếp
giữa những hệ thống nhỏ bên trong
Trang 40Ng Duc Thuan
Chương 1:Tổng quan về Hệ điều hành
• Hệ thống cơ chế dịng lệnh
– Mỗi HĐH cĩ những giao tiếp khác nhau: cơ chế dịng lệnh, giao
diện cĩ các biểu tượng, cửa sổ thao tác dùng chuột…
– Cơ chế dịng lệnh là giao tiếp tương tác lệnh giữa user và HĐH
– Các HĐH thiết kế cơ chế dịng lệnh bên trong hạt nhân hoặc
tách cơ chế dịng lệnh thành một ứng dụng đặc biệt:
• DOS: thi hành khi bắt đầu cơng việc (COMMAND.COM)
• Unix: thi hành khi user login lần đầu tiên
– Các lệnh được đưa vào HĐH nhờ bộ thơng dịch lệnh qua cơ chế
dịng lệnh hoặc Shell và được thực hiện tuần tự
– Các lệnh cĩ quan hệ với việc tạo và quản lý các tiến trình, kiểm
sốt nhập xuất, quản lý bộ nhớ, quản lý đĩa, truy xuất tập tin và
cơ chế bảo vệ