Nguyên lí hệ điều hành - Tổng quan về hệ điều hành

Theo người dùng (User view)

• Dễ sử dụng

• Hiệu quả

• Ứng dụng phong phú

• Theo phần cứng (system view)

• Quản lý và cấp phát tài nguyên một cách hiệu quả và

công bằng

• Quản lý việc thực thi của các chương trình ứng dụng

pdf 33 trang dienloan 21200 Free
Bạn đang xem 20 trang mẫu của tài liệu "Nguyên lí hệ điều hành - Tổng quan về hệ điều hành", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Nguyên lí hệ điều hành - Tổng quan về hệ điều hành

Nguyên lí hệ điều hành - Tổng quan về hệ điều hành
TỔNG QUAN
VỀ HỆ ĐIỀU HÀNH
ThS. Nguyễn Thị Hải Bình
Khoa CNTT, ĐH Giao thông vận tải
Email: calmseahn@gmail.com
NỘI DUNG
HỆ ĐIỀU HÀNH LÀ GÌ?1
QUÁ TRÌNH PHÁT TRIỂN CỦA HĐH2
BÀI TẬP3
2
HỆ ĐIỀU HÀNH LÀ GÌ?
3
Tại sao cần tới Hệ điều hành? 
HAI CÁCH NHÌN HỆ ĐIỀU HÀNH
• Theo người dùng (User view)
• Dễ sử dụng
• Hiệu quả
• Ứng dụng phong phú
• Theo phần cứng (system view)
• Quản lý và cấp phát tài nguyên một cách hiệu quả và
công bằng
• Quản lý việc thực thi của các chương trình ứng dụng
QUÁ TRÌNH PHÁT TRIỂN CỦA HĐH
• Hệ thống mainframe - Mainframe Systems
• Hệ để bàn - Desktop Systems
• Hệ đa xử lý - Multiprocessor Systems
• Hệ phân tán - Distributed Systems
• Hệ thống cụm - Clustered system
• Hệ thời gian thực - Realtime Systems
• Hệ thống nhúng – Embedded Systems
MAINFRAME SYSTEMS
• Batch systems
• Multiprogramming systems
• Time sharing system
BATCH SYSTEMS
• Hệ điều hành sơ khai nhất
• Tác vụ chính là chuyển điều khiển tự động từ công việc
này sang công việc khác
• Cần có người vận hành
• Giảm thời gian xử lý bằng cách ghép nhóm các công
việc có cùng yêu cầu (batching jobs)
• Ghép 2 công việc cùng dùng trình biên dịch Fortran để
tiết kiệm thời gian load trình biên dịch Fortran
BATCH SYSTEMS
MULTIPROGRAMMING SYSTEMS
• Multiprogramming làm tăng hiệu năng của CPU 
bằng cách tổ chức các công việc để CPU luôn có 1 
công việc cần thực hiện.
• Các công việc đó được lưu trong bộ nhớ chính tại 
cùng một thời điểm và CPU là đa nhiệm giữa chúng
• Khi một công việc phải đợi tác vụ nào đó, Hệ điều
hành sẽ chuyển CPU cho một công việc khác.
MULTIPROGRAMMING SYSTEMS
MULTIPROGRAMMING SYSTEMS
• Hệ điều hành cần có các chức năng cơ bản sau
• Các hàm nhập/xuât - I/O routines
• Định thời công việc - Job scheduling
• Quản lý bộ nhớ - Memory management
• Định thời CPU - CPU scheduling
• Phân bổ thiết bị - Allocation of devices
TIME SHARING SYSTEMS
• CPU luân phiên chuyển đổi thực thi giữa các công việc và sự
chuyển đổi diễn ra rất thường xuyên
• Người dùng có thể tương tác với mỗi chương trình đang chạy
• Time sharing systems cung cấp sự tương tác giữa hệ thống
và người dùng
• Time sharing systems cho phép nhiều người dùng chia sẻ hệ
thống cùng một lúc
• Người dùng cảm giác là toàn bộ hệ thống đang được dành riêng cho
mình
• Các công việc được giữ trong bộ nhớ chính và thiết bị lưu
trữ
• Chỉ công việc nằm trong bộ nhớ chính được chiếm CPU để xử lý
• Khi cần thiết một công việc có thể được chuyển từ bộ nhớ chính ra
thiết bị lưu trữ và ngược lại
TIME SHARING SYSTEMS
TIME SHARING SYSTEMS
• Yêu cầu đối với HĐH trong Time sharing systems
• Định thời công việc - Job scheduling
• Quản lý bộ nhớ - Memory management
• Job swap
• Virtual memory
• Quản lý tiến trình – 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 bế tắc – Deadlock
• Quản lý hệ thống lưu trữ - Disk management
• Phân bổ các thiết bị tài nguyên – Allocation of devices
• Cơ chế bảo vệ - Protection
QUÁ TRÌNH PHÁT TRIỂN CỦA HĐH
• Hệ thống mainframe - Mainframe Systems
• Hệ để bàn - Desktop Systems
• Hệ đa xử lý - Multiprocessor Systems
• Hệ phân tán - Distributed Systems
• Hệ thống cụm - Clustered system
• Hệ thời gian thực - Realtime Systems
• Hệ thống nhúng – Embedded Systems
DESKTOP SYSTEMS
• Personal computers - single user
• Hướng tới sự tiện lợi (convenience) cho người dùng
và khả năng đáp ứng cao (responsiveness)
• I/O devices: bàn phím, chuột, màn hình, máy in
• Có thể áp dụng công nghệ được phát triển cho các
HĐH lớn hơn
• Có thể vận hành nhiểu HĐH khác nhau: Windows, 
MacOS, UNIX, Linux
QUÁ TRÌNH PHÁT TRIỂN CỦA HĐH
• Hệ thống mainframe - Mainframe Systems
• Hệ để bàn - Desktop Systems
• Hệ đa xử lý - Multiprocessor Systems
• Hệ phân tán - Distributed Systems
• Hệ thống cụm - Clustered system
• Hệ thời gian thực - Realtime Systems
• Hệ thống nhúng – Embedded Systems
MULTIPROCESSOR SYSTEMS
• Parallel systems
• Tightly coupled system: Hệ thống có nhiều hơn một
CPU được kết nối chặt chẽ
• Các processor chia sẻ bộ nhớ chung và đồng hồ (clock)
• Sự giao tiếp thường xuyên diễn ra qua bộ nhớ chung
• Ưu điểm
• Tăng thông lượng (increased throughput)
• Tiết kiệm tài nguyên (economy of scale)
• Tăng độ tin cậy (increased reliablility)
• Graceful degradation
MULTIPROCESSOR SYSTEMS
MULTIPROCESSOR SYSTEMS
• 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 hiệu suất
(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 cong việc cho các slave 
processor
QUÁ TRÌNH PHÁT TRIỂN CỦA HĐH
• Hệ thống mainframe - Mainframe Systems
• Hệ để bàn - Desktop Systems
• Hệ đa xử lý - Multiprocessor Systems
• Hệ phân tán - Distributed Systems
• Hệ thống cụm - Clustered system
• Hệ thời gian thực - Realtime Systems
• Hệ thống nhúng – Embedded Systems
DISTRIBUTED SYSTEMS
• Phân bố công việc trên nhiều processors
• Loosely coupled system – Hệ thống được kết nối
lỏng
• Mỗi processor có bộ nhớ riêng (local processor)
• Các processor giao tiếp thông qua mạng
• Ưu điểm
• Chia sẻ tài nguyên (resource sharing)
• Tăng tốc độ tính toán (Computation speed up)
• Độ tin cậy cao (high reliability)
DISTRIBUTED SYSTEMS
QUÁ TRÌNH PHÁT TRIỂN CỦA HĐH
• Hệ thống mainframe - Mainframe Systems
• Hệ để bàn - Desktop Systems
• Hệ đa xử lý - Multiprocessor Systems
• Hệ phân tán - Distributed Systems
• Hệ thống cụm - Clustered system
• Hệ thời gian thực - Realtime Systems
• Hệ thống nhúng – Embedded Systems
CLUSTERED SYSTEM
• Là sự hợp thành của hai hay nhiều hệ thống đơn
(individual systems or nodes)
• Mỗi node có thể là single processor system hoặc
multicore system
• Loosely coupled system
• Chia sẻ chung bộ nhớ (storage)
• Đáng tin cậy (provide high reliability)
• Phân loại:
• Asymmetric clustering – cụm không đối xứng
• Symmetric clustering – cụm đối xứng
CLUSTERED SYSTEM
QUÁ TRÌNH PHÁT TRIỂN CỦA HĐH
• Hệ thống mainframe - Mainframe Systems
• Hệ để bàn - Desktop Systems
• Hệ đa xử lý - Multiprocessor Systems
• Hệ phân tán - Distributed Systems
• Hệ thống cụm - Clustered system
• Hệ thời gian thực – Real-time Systems
• Hệ thống nhúng – Embedded Systems
REAL-TIME SYSTEMS
• Hệ thống đảm bảo hoàn thành công việc trong một
khoảng thời gian cho phép (deadline)
• Ứng dụng
• Điều khiển các thí nghiệm khoa học
• Hệ thống điều khiển công nghiệp
• Phân loại:
• Hard real-time
• Soft real-time
REAL-TIME SYSTEMS
• Hard real-time systems
• Nếu không đáp ứng yêu cầu thời gian thực hệ thống sẽ
sụp đổ
• Ví dụ: hệ thống làm mát nhà máy điện hạt nhân, hệ
thống báo cháy tự động, hệ thống điều khiển máy bay
• Bộ nhớ phụ hạn chế hoặc không có
• Dữ liệu nằm trong RAM hoặc ROM
• Soft real-time systems
• Nếu không đáp ứng yêu cầu thời gian thực hệ thống sẽ
bị suy giảm về chất lượng dịch vụ
• Ví dụ: Hệ thống Video/Audio streaming, thực tế ảo
(virtual reality)
QUÁ TRÌNH PHÁT TRIỂN CỦA HĐH
• Hệ thống mainframe - Mainframe Systems
• Hệ để bàn - Desktop Systems
• Hệ đa xử lý - Multiprocessor Systems
• Hệ phân tán - Distributed Systems
• Hệ thống cụm - Clustered system
• Hệ thời gian thực - Realtime Systems
• Hệ thống nhúng – Embedded Systems
EMBEDDED SYSTEMS
• Nhúng trong các thiết bị gia dụng, máy đồ chơi, 
• Một số vấn đề
• Bộ nhớ có dung lượng nhỏ
• Tốc độ processor không cao
• Màn hình nhỏ
BÀI TẬP
• Chương 1: Trang 49-52 
• 1.1, 1.3, 1.11, 1.12, 1.15, 1.16, 1.17

File đính kèm:

  • pdfnguyen_li_he_dieu_hanh_tong_quan_ve_he_dieu_hanh.pdf