Hệ điều hành
Tin học cơ sở
Hệ điều hành là gì?
• Trừu tượng hóa
– Che giấu chi tiết của các cấu hình phần cứng
khác nhau
– Các ứng dụng không cần phải được viết cho
từng thiết bị cụ thể mà hệ thống có thể có
• Điều hành
– quản lý truy nhập các tài nguyên dùng chung
– cho phép nhiều ứng dụng đồng thời sử dụng
cùng một phần cứng
Trừu tượng hóa
• Cho phép thiết bị phần cứng của các nhà sản xuất khác
nhau có cùng một giao diện lập trình.
• Các thiết bị của các hãng khác nhau dùng các bộ lệnh
bậc thấp khác nhau, có các tính năng khác nhau.
• Nếu không có giao diện chung
– phần mềm không thể tương tác với nhiều loại phần cứng
– mỗi ứng dụng cần được lập trình để làm việc được với tất cả
các loại thiết bị phần cứng cần đến
– Ví dụ: game thời 1990 cần lập trình cho từng loại card màn hình
và âm thanh.
Điều hành
Nhân HĐH và userspace
Các ứng dụng
Userspace
Thư viện và tiện ích
Hệ điều hành
Phần cứng
Nhân
(kernel/core)
Nhân HĐH và userspace
Các ứng dụng
Thư viện và tiện ích
Hệ điều hành
Userspace
Nhân
Phần cứng
Nhân: phần tối thiểu cần thiết để chia sẻ phần
cứng giữa các ứng dụng khác nhau
Userspace: phần còn lại: các ứng dụng, và
phần của hệ điều hành mà không hoàn toàn
cần thiết cho việc dùng chung phần cứng hoặc
che giấu chi tiết phần cứng.
• Các hệ thống nhúng – embedded systems
– Linux nhúng
• phổ biến nhất là Android, nhì là Mac OS X
– Các HĐH khác
• Symbian
• BlackBerry OS
• TinyOS
• batch processing: HĐH chạy từng chương
trình một.
• time sharing
Unix
• Thuật ngữ chỉ một lớp các HĐH
– Thực ra là thương hiệu của các phiên bản Unix
thương mại
– Một số tác giả dùng *NIX thay cho từ này để chỉ họ
HĐH, còn UNIX dành cho các bản thương mại.
• Được phát triển đầu tiên tại Bell Labs năm 1969
• Các hệ thống Unix nguyên thủy là các bản
thương mại
• Các phiên bản miễn phí: BSD và Linux
BSD
• Berkeley System Distribution