Bài giảng Hệ điều hành - Chương 0: Giới thiệu - Trần Trung Dũng
Mục tiêu:
Hiểu HĐH, kiến trúc HĐH, các giao diện/giao tiếp
Yêu cầu:
Lập trình C++, lập trình hướng đối tượng
Dự kiến:
Chúng ta sẽ thảo luận các khái niệm cốt lõi và các chủ đề trong bài giảng
Các trợ giảng sẽ phụ giúp phần làm các đồ án của môn học và bài tập
2 đồ án chính
1 lần thi giữa kì và 1 lần thi cuối kì
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Chương 0: Giới thiệu - Trần Trung Dũng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_he_dieu_hanh_chuong_00_gioi_thieu_tran_trung_dung.ppt
Nội dung text: Bài giảng Hệ điều hành - Chương 0: Giới thiệu - Trần Trung Dũng
- Cấu trúc học phần zHệ điều hành 45 lý thuyết + 30 thực hành •Gv: Trần Trung Dũng, PhD Email: ttdung@fit.hcmus.edu.vn zTrợ giảng: Chung Thuy Linh ctlinh@fit ĐH KHTN TpHCM 2 TH106: Hệ điều hành
- Cảnh báo Cần chú ý! Chúng ta sẽ có 2 đồ án lớn. Nếu các bạn không làm việc cần mẫn trong suốt học kì thì không nên học môn này trong học kì này! Để học nhiều thì các bạn phải làm việc cần mẫn ĐH KHTN TpHCM 4 TH106: Hệ điều hành
- Đồ án Dùng Nachos Bao gồm mã nguồn để mô phỏng một hệ điều hành đầy đủ, để thực thi chương trình trên máy tính. Nhiệm vụ của các bạn là thêm một số thành phần vào Nachos Mục tiêu Tập đọc hiểu mã nguồn của người khác Học cách vận hành bên trong của một hệ điều hành Tăng khả năng lập trình Tổ chức thực hiện Mỗi nhóm 2 thành viên, tìm bạn chung nhóm ngay từ bây giờ 2 phần: exception & system call, điều phối tiến trình ĐH KHTN TpHCM 6 TH106: Hệ điều hành
- Đề cương dự kiến Tuần 1 Giới thiệu HĐH Tuần 2 Lượt qua các kiến trúc Tuần 3 Tiến trình Tuần 4 Lập lịch CPU Tuần 5 Đồng bộ Tuần 6 Deadlock Tuần 7 Thi giữa kì Tuần 8 Quản lý bộ nhớ Tuần 9 Quản lý bộ nhớ Tuần 10 Nhập xuất Tuần 11 Đĩa Tuần 12 Hệ thống tập tin ĐH KHTN TpHCM 8 TH106: Hệ điều hành
- Hệ điều hành là gì? Ứng dụng (người dùng) Hệ điều hành Phần cứng Một lớp phần mềm ở giữa phần cứng và các chương trình ứng dụng/người dùng, nó cung cấp một giao diện máy ảo (virtual machine) : dễ dàng và an toàn Một bộ quản lý tài nguyên (resource manager) cho phép các chương trình/người dùng chia xẻ tài nguyên phần cứng: công bằng và hiệu quả Một tập các tiện ích để đơn giản hóa việc phát triển ứng dụng ĐH KHTN TpHCM 10 TH106: Hệ điều hành
- Tại sao chúng ta cần hệ điều hành? Lợi ích cho người lập trình Dễ dàng hơn trong việc lập trình Chỉ thấy mức trừu tượng cao, không cần phải biết chi tiết phần cứng V.d. tập tin chứ không phải các blocks trên ổ cứng Tính tương thích Lợi ích của người sử dụng máy tính Dễ dàng sử dụng máy tính Bạn có thể hình dung việc sử dụng máy tính không cần hệ điều hành? An toàn HĐH bảo về chương trình giữa các chương trình khác nhau HĐH bảo về người dùng giữa các người dùng khác nhau ĐH KHTN TpHCM 12 TH106: Hệ điều hành
- ĐH KHTN TpHCM 14 TH106: Hệ điều hành
- Cấu trúc máy tính cơ bản CPU Memory memory bus I/O bus disk Net interface ĐH KHTN TpHCM 16 TH106: Hệ điều hành
- Tiến trình: Cơ chế và chính sách Cơ chế: Tạo, hủy, dừng, context switch, báo hiệu, v,v. Chính sách: Các câu hỏi về chính sách cơ bản: Ai có thể tạo/ hủy/ dừng tiến trình? Mỗi người dùng có thể chạy bao nhiêu tiến trình đồng thời? Chúng ta chủ yếu tập trung vào câu hỏi về các chính sách sau: Làm sao chia sẻ tài nguyên giữa các tiến trình? Thường chia nhỏ thành các chính sách riêng cho mỗi nguồn tài nguyên riêng như là CPU, memory, và disk. ĐH KHTN TpHCM 18 TH106: Hệ điều hành
- Tiểu trình: cơ chế và chính sách Cơ chế: Tạo, hủy , dừng, context switch, báo hiệu, đồng bộ, v.v. Chính sách: Làm sao chia sẻ CPU giữa các tiểu trình thuộc các tiến trình khác nhau? Làm sao chia sẻ CPU giữa các tiểu trình thuộc cùng một tiến trình? Làm sao để đồng bộ các tiểu trình với nhau? Làm sao điều khiển sự liên lạc giữa các tiểu trình? Liệu một tiểu trình nào đó có thể xâm hại các tiểu trình khác? ĐH KHTN TpHCM 20 TH106: Hệ điều hành
- Bộ nhớ ảo: cơ chế Cơ chế: Bộ nhớ lôgic bộ nhớ vật lý, lỗi trang (page-fault), v.v. Không gian địa chỉ ảo p1 p2 Tiến trình: Ánh xạ ảo thật Bộ nhớ vật lý: ĐH KHTN TpHCM 22 TH106: Hệ điều hành
- Biểu trưng cho sự lưu trữ: Hệ thống tập tin Hệ thống tập tin biểu trưng cho sự lưu trữ: tạo ảo giác một không gian lưu trữ có cấu trúc ứng dụng/người dùng: copy file1 file2 Đặt tên, bảo vệ, các thao tác với file HĐH: tập tin, thư mục các thao tác với Phần cứng: ổ đĩa blocks của ổ đĩa ĐH KHTN TpHCM 24 TH106: Hệ điều hành
- Biểu trưng của truyền thông: Thông điệp (Messaging) Truyền thông điệp biểu trưng cho việc truyền thông: tạo ảo giác sự truyền thông tin cậy Ứng dụng: sockets Thông điệp HĐH: Nghi thức TCP/IP Các gói tin Phần cứng: card mạng ĐH KHTN TpHCM 26 TH106: Hệ điều hành
- Thiết bị Giao diện của thiết bị: tạo ảo giác các thiết bị hỗ trợ cùng API – truy cập thông tin, vùng nhớ Ứng dụng: đọc dữ liệu từ thiết bị Đọc, ghi, bảo vệ HĐH: API giao tiếp với dữ liệu Xác định PIO, xử lý ngắt, truy cập vùng Phần cứng bàn phím, chuột, v.v. nhớ trực tiếp PIO: Programmed Input/Output giao diện giao tiếp giữa CPU và thiết bị ATA ĐH KHTN TpHCM 28 TH106: Hệ điều hành
- Biểu đồ khối Windows 2000 ĐH KHTN TpHCM 30 TH106: Hệ điều hành
- Các chủ đề chính trong thiết kế hệ điều hành Thực thi: làm sao để tất cả mọi thứ đều chạy nhanh? Tin cậy: làm sao để tránh việc “treo”, “sụp” hệ thống? Bền vững: làm sao để đảm bảo dữ liệu nhất quán giữa các chương trình đang thực thi? Sổ sách: làm sao để lưu vết tài nguyên đang được sử dụng? Phân tán: làm sao để nhiều máy tính hợp tác cùng làm việc dễ dàng hơn? Tính phát triển(scaling): làm sao để đảm bảo HĐH vẫn hiệu quả và tin cậy khi khối lượng công việc cũng như phần cứng tăng lên? ĐH KHTN TpHCM 32 TH106: Hệ điều hành
- Cuộn (Spooling) CPUs nhanh hơn rất nhiều so với card readers và printers Ổ cứng ra đời – ổ cứng nhanh hơn nhiều so với card reader Vậy, chúng ta sẽ làm gì? Đọc cv 1 từ card vào đĩa. Thực thi cv 1, trong khi đó đọc cv 2 từ cards vào đĩa; lưu kết quả cv 1 vào đĩa. In kết quả công việc 1, trong khi đó thực thi cv 2 và đọc cv 3 từ card vào đĩa. Và tiếp tục như vậy Như trên gọi là spooling: Simultaneous Peripheral Operation On-Line Sử dụng các chữ viết tắt nhưng vẫn tạo ra ngữ nghĩa phù hợp! Có thể sử dụng nhiều card readers và printers để theo kịp tốc độ CPU Cải thiện tốc độ xử lý cũng như thời gian phản hồi ĐH KHTN TpHCM 34 TH106: Hệ điều hành
- Multiprogramming P1 Run Wait Run Wait Wait Wait P2 Wait Run Run P3 Wait Run Wait Run Wait P1, P2, P3 Run Run Run Wait Run Run Run Wait 36 Operating Systems
- Time-sharing P1 P2 P3 Normal Time interval P1 Completed I/O Started by P1 38 Operating Systems
- HĐH thời gian thực (Real-Time OS) Thực thi các ứng dụng có thời hạn cho trước Hard real-time system Hệ thống điều khiển bay, các hệ thống điều khiển công nghiệp, v.v Gây thảm họa nếu ta trễ hạn Thách thức là làm sao không trễ hạn mà không phung phí nhiều tài nguyên Soft real-time system Ứng dụng multimedia Có thể gây khó chịu nhưng không đến nỗi thảm họa nếu bị quá hạn đôi chút! Thách thức là làm sao không trễ hạn mà không phung phí nhiều tài nguyên Thử thách ở chỗ là khi hệ thống quá tải ĐH KHTN TpHCM 40 TH106: Hệ điều hành
- HĐH nhúng (Embedded OS) Phát triển rộng khắp Hiện thời, ĐTDĐ và PDAs Tương lai, các thiết bị tính toán ở mọi nơi Đặc tính Tài nguyên hạn hẹp: CPU chậm, bộ nhớ nhỏ, không ổ đĩa, v.v. Chúng ta cần chạy những ứng dụng mạnh hơn! Làm sao ta có thể chạy các chương trình mạnh hơn khi mà phần cứng vẫn như trước đây? Sử dụng nhiều thiết bị Tăng thêm các tiện ích trên thiết bị HĐH giúp quản lý năng lượng, tính di động, tìm kiếm tài nguyên, v.vv. ĐH KHTN TpHCM 42 TH106: Hệ điều hành
- Bài tập • Hãy so sánh HĐH và các phần mềm khác dựa vào các tiêu chí sau: –Khả năng tự hoạt động ngay sau khi bật máy –Tác động đến máy tính khi chương trình kết thúc –Mức độ cần thiết cho sự hoạt động tối thiểu của máy tính –Khả năng điều khiển phần cứng –Độ phức tạp –Thứ tự cài đặt –Mức độ sử dụng –Hình thức quản lý –Số lượng cài đặt trên mỗi máy tính • Hãy so sánh ĐTDĐ có sử dụng HĐH và không sử dụng HĐH 44 44
- Gợi ý (tt) • Thứ tự cài đặt: HĐH phải được cài đặt vào máy tính trước các phần mềm khác. • Mức độ sử dụng: người dùng máy tính nào cũng phải sử dụng HĐH, còn những phần mềm khác thì người có người không • Hình thức quản lý: Các phần mềm khác không quản lý, điều hành HĐH mà là ngược lại: HĐH quản lý, điều hành các phần mềm khác. • Số lượng cài đặt trên mỗi máy tính: mỗi máy tính cao cấp thường chỉ có 1 hoặc vài HĐH, nhưng thường có rất nhiều phần mềm • Số lượng hoạt động trên mỗi máy tính: mỗi thời điểm chỉ có 1 HĐH hoạt động nhưng thường có nhiều phần mềm đang chạy cùng lúc. 46 46