Bài giảng Nhập môn tin học - Chương 14: Hệ điều hành (Operating System)

pdf 98 trang phuongnguyen 5900
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn tin học - Chương 14: Hệ điều hành (Operating System)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_tin_hoc_chuong_14_he_dieu_hanh_operating.pdf

Nội dung text: Bài giảng Nhập môn tin học - Chương 14: Hệ điều hành (Operating System)

  1. CHƯƠNG 14 HỆ ĐIỀU HÀNH OPERATING SYSTEM
  2. Nội dung 14.1. Khái niệm hệ điều hành 14.2. Quản lý tiến trình 14.3. Quản lý bộ nhớ 14.4. Quản lý tập tin 14.5. Quản lý thiết bị 14.6. Bảo mật 14.7. Sự thông dịch câu lệnh 14.8. Cấu trúc hệ điều hành 14.9. Một số hệ điều hành phổ biến
  3. Khái niệm hệ điều hành  Hệ điều hành (Operating system-OS) là một phần mềm hệ thống gồm các chương trình kiểm soát các nguồn tài nguyên (CPU, bộ nhớ, thiết bị vào/ra, ) và điều khiển các hoạt động của một hệ thống máy tính và cung cấp cho người dùng một giao diện để tương tác với máy tính.  Hai mục tiêu chính của một hệ điều hành: ◦ Tạo một hệ thống máy tính thuận tiện để sử dụng ◦ Quản lý tài nguyên của một hệ thống máy tính
  4. Khái niệm hệ điều hành Mac OS Windows Linux
  5. Khái niệm hệ điều hành Kiến trúc Logical của một hệ thống máy tính
  6. Khái niệm hệ điều hành Ví dụ Kiến trúc Logical của một hệ thống máy tính
  7. Các công việc của hệ điều hành
  8. Khái niệm hệ điều hành Hệ thống đo lường 1. Thông lượng 2. Thời gian hoàn thành 3. Thời gian phản hồi
  9. Chức năng chính của hệ điều hành 1. Quản lý tiến trình 2. Quản lý bộ nhớ 3. Quản lý tập tin 4. Quản lý thiết bị 5. Bảo mật 6. Phiên dịch các lệnh
  10. Quản lý tiến trình (processes)  Phụ thuộc vào khả năng của hệ điều hành và phần cứng máy tính, tiến trình có thể được quản lý theo multitasking (đa nhiệm), multithreading (đa luồng), và multiprocessing (đa xử lý).  Multitasking: thực hiện nhiều chương trình cùng một lúc trên một hệ máy tính.  Multithreading: cho phép nhiều phần hay nhiều tuyến đoạn (threads) đồng hành để giải quyết nhiều việc cùng một lúc.  Multiprocessing: là máy tính có nhiều bộ xử lý có khả năng hỗ trợ phân chia thực hiện mỗi công trên mỗi bộ xử lý.
  11. Quản lý tiến trình  Là các tiến trình được gửi đến hệ thống theo một cơ chế nào đó để giảm thiểu thời gian nhàn rỗi của các vi xử lí biến đổi (CPU, bộ xử lí I/O ) trong hệ thống máy tính.
  12. Quản lí tiến trình trong hệ thống sơ khai Một tiến trình thực thi theo các bước sau: 1. Lập trình viên viết chương trình lên giấy. 2. Chương trình được đục lỗ trên những thẻ hay dải giấy dài. 3. Lớp phủ của thẻ hoặc dải giấy có chứa chương trình và dữ liệu được gửi tại bộ tiếp nhận của trung tâm máy tính.
  13. Quản lí tiến trình trong hệ thống sơ khai 4. Bộ điều khiển sẽ đưa dữ liệu trên các thẻ hay dải giấy nạp thủ công vào hệ thống từ đầu đọc thẻ hoặc đầu đọc dải giấy trên. Bộ điểu khiển cũng phản hồi để nạp bất kì tài nguyên phần mềm khác hoặc điều chỉnh thiết bị phần cứng được yêu cầu cho việc thực thi tiến trình này. Trước khi nạp tiến trình, bộ điều khiển sử dụng bảng điều khiển chuyển đổi ở mặt ngoài của hệ thống máy tính để làm sạch bộ nhớ chính và xóa những dữ liệu còn lại của tiến trình trước đó.
  14. Quản lí tiến trình trong hệ thống sơ khai 5. Bộ điều khiển sẽ gán những bộ ngắt mạch thích hợp vào trong bảng điều khiển để chạy tiến trình. 6. Kết quả các công việc được thực thi. Khuyết:  Chuyển tiếp giữa các tiến trình là thủ công không tự động. Do đó, máy tính lãng phí rất nhiều thời gian
  15. Quản lí tiến trình trong hệ thống sơ khai  Phương thức tự động luân chuyển các công việc là nhóm các tiến trình, các tiến trình thường được thực hiện theo cách sau: 1. Lập trình viên chuẩn bị các chương trình và dữ liệu trên thẻ hoặc dải giấy và gửi chúng vào bộ tiếp nhận của trung tâm máy tính. 2. Bộ xử lí tổng hợp định kì tất cả những chương trình được gửi đến và sẽ nhóm chúng với nhau, sau đó nạp tất cả chúng vào thiết bị đầu vào của hệ thống một lần nữa.
  16. Quản lí tiến trình trong hệ thống sơ khai 3. Bộ xử lí ra lệnh tới hệ thống để bắt đầu thực hiện các công việc. 4. Các công việc tự động tải dữ liệu từ các thiết bị đầu vào và thực hiện từng tiến trình một mà không có bất kì sự can thiệp của bộ xử lí nào. 5. Khi tất cả các tiến trình trong nhóm được gửi đến đã được xử lí, bộ xử lí sẽ xử lý riêng biệt và xuất kết quả của mỗi công việc và giữ chúng lại bộ tiếp nhận để các lập trình viên tổng hợp.
  17. Quản lí tiến trình trong hệ thống sơ khai $ END Data for program $RUN $LOAD COBOL program $COBOL $JOB, ONGC05839, USER=SINHA Hình 14.02 Minh họa sử dụng các phát biểu điều khiển công việc và cấu trúc của mẫu cho quá trình xử lý trong hệ thống .
  18. Các loại tiến trình Có 2 loại tiến trình:  Các tiến trình giới hạn CPU: các tiến trình thực hiện tính toán số học, với một ít hoạt động I/O. Chúng sử dụng CPU nhiều trong suốt quá trình xử lí.  Các tiến trình giới hạn I/O: các tiến trình thường nhập vào số lượng dữ liệu lớn, hoạt động tính toán thì rất ít, và số lượng thông tin đầu ra lớn. Chúng sử dụng CPU rất ít và hầu hết thời gian dành cho hoạt động I/O (nhập/xuất).
  19. Quản lý tiến trình Chương trình hệ thống chỉ thực thi một công việc tại một thời điểm và tất cả tài nguyên hệ thống thì độc quyền cho công việc này cho đến khi hoàn tất
  20. Đa chương (đa kênh)  Hệ đa chương là thực thi xen kẽ hai hoặc nhiều tiến trình khác nhau và độc lập nhau trên máy tính.  Các tiến trình cùng lúc thường trú ở bộ nhớ chính, khi một tiến trình thực thi (sử dụng CPU) , bắt đầu hoạt động I/O thì CPU được cấp phát cho một tiến trình khác trong bộ nhớ chính để giảm việc nhàn rỗi của CPU.  Hệ đa kênh thì không được khai báo để thực thi những chỉ thị từ nhiều chương trình cùng một lúc. CPU thực thi tối ưu chỉ một chỉ thị tại một thời điểm.
  21. Đa chương (đa kênh)
  22. Đa chương (đa kênh)
  23. Đa chương (đa kênh) Yêu cầu của hệ thống đa chương 1. Bộ nhớ lớn 2. Sự bảo vệ bộ nhớ để ngăn ngừa một tiến trình thay đổi thông tin hoặc dữ liệu truyền vào 1 vùng của bộ nhớ khi một tiến trình khác đang xử lý hay truy xuất dữ liệu tại vùng nhớ này. 3. Duy trì trạng thái tiến trình 4. Hòa trộn tiến trình một cách đúng đắn 5. Lập lịch biểu hoạt động cho CPU
  24. Đa chương (đa kênh)
  25. Xử lý đa luồng (Multithreading)  Một tiến trình gồm có một địa chỉ và một hay nhiều luồng điều khiển.  Mỗi một luồng của tiến trình có bộ đếm chương trình riêng, trạng thái đăng ký riêng, ngăn xếp (stack) riêng của nó.  Tất cả các luồng của tiến trình đều được dùng chung một địa chỉ.  Các luồng chia sẻ các biến toàn cục dùng chung.  Các luồng của tiến trình chia sẻ bộ tài nguyên dùng chung của hệ điều hành.
  26. Xử lý đa luồng (Multithreading) Địa chỉ trống Thead Thead Thead Thead (a) (b) Hình14.07 (a)Single-threaded and (b) multithreaded processes. A single-threaded process corresponds to a process of a traditional operating system.
  27. Xử lý đa luồng (Multithreading) Động cơ để dùng đa các luồng  Tổng phí liên quan đến việc tạo ra một tiến trình, nó sử dụng địa chỉ từ chính tiến trình của nó mà không cần phải được tạo ra từ vùng làm việc.  Tổng phí liên quan đến chuyển đổi CPU giữa những luồng ngang hàng là rất nhỏ so với chuyển đổi CPU giữa những tiến trình có địa chỉ riêng.  Nguồn tài nguyên chia sẻ giữa các luồng của một tiến trình có thể được thực hiện hiệu quả và tự nhiên hơn vì các luồng sử dụng một địa chỉ.
  28. Đa xử lý (Multiprocessing)  Mô tả máy tính hoặc cấu hình máy tính liên kết với hai CPU trở lên có khả năng đồng thời cùng một lúc thực hiện nhiều chương trình.
  29. Đa xử lý (Multiprocessing) Main memory I/O Units I/O Processors CPU Cấu trúc máy tính với CPU, bộ nhớ và bộ vi xử lý I/O. CPU-1 Main memory CPU-2 I/O processors I/O processors I/O units I/O units Hình 14.9 Tổ chức cơ bản của hệ thống đa xử lý
  30. Đa xử lý (Multiprocessing) Đa xử lí có 2 kiểu:  Hệ thống liên kết chặt chẽ: là một hệ thống đơn, bộ nhớ chính rộng lớn được chia sẻ bởi tất cả vi xử lí.  Hệ thống liên kết lỏng lẻo: các vi xử lí không chia sẻ bộ nhớ, mỗi vi xử lí có một vùng nhớ riêng. Các vi xử lí có thể ở xa nhau, ở từng vùng khác nhau và trải đều trong một không gian rộng lớn.
  31. Đa xử lý (Multiprocessing) Sự khác nhau giữa đa chương và đa xử lí Đa chương Đa xử lý Multitasking Multiprocessing Là sự thực thi đan xen nhau Là sự thực hiện đồng thời giữa hai hay nhiều tiến trình hai hay nhiều tiến trình bởi bởi hệ thống máy tính có 1 hệ thống máy tính có nhiều CPU hơn một CPU. Thi hành một đoạn của một Thi hành cùng một lúc chương trình, sau đó là một nhiều phân đoạn chương mảng khác của chương trình của một hay nhiều trình khác , trong khoảng chương trình khác nhau. thời gian ngắn liên tục.
  32. Đa xử lý (Multiprocessing) Thuận lợi của “đa xử lý”  Năng suất tốt hơn.  Độ tin cậy cao hơn. Hạn chế của “đa xử lý”  Đòi hỏi phải có một hệ điều hành hết sức tinh vi để đưa vào chương trình, cân bằng và phối hợp đầu vào, đầu ra và các tiến trình được kích hoạt của nhiều bộ vi xử lý.  Thiết kế của hệ điều hành là một công việc phức tạp và tốn nhiều thời gian.  Chi phí bảo trì cao.
  33. Chia sẻ thời gian (time-sharing)  Chia sẻ thời gian là một phương thức mà hệ thống máy tính được nhiều người sử dụng cùng một lúc theo cách mà mỗi người đều có cảm giác như là mình đang có một máy tính riêng.  Một hệ thống chia sẻ thời gian có nhiều người dùng cuối thực hiện kết nối đồng thời đến cùng một máy tính.  Đặc tính đa chương cho phép nhiều chương trình lưu trú đồng thời trong bộ nhớ chủ.
  34. Chia sẻ thời gian (time-sharing) Job is allocated the CPU for execution New Job processing job Ready Running completed Allotted time slice is over I/O completed Job must wait for I/O completion Blocked Hình 14.10 Sơ đồ trạng thái quá trình cho hệ thống chia sẻ thời gian
  35. Chia sẻ thời gian (time-sharing) Những yêu cầu của hệ chia sẻ thời gian  Kết nối đầu cuối đồng thời đến hệ thống.  Một bộ nhớ tương đối lớn để hỗ trợ đa chương.  Thiết bị bảo vệ bộ nhớ để ngăn các tiến trình và dữ liệu đến từ các tiến trình khác trong môi trường đa chương.  Thiết bị bảo quản tình trạng tiến trình để duy trì trạng thái thông tin khi CPU đem đến và khôi phục lại dữ liệu trước khi CPU vận hành lại.  Một thuật toán lịch biểu CPU ấn định thời gian của từng CPU đến mỗi tiến trình người dùng theo kiểu vòng tròn.  Một thiết bị định giờ phát ra tín hiệu ngắt đến CPU.
  36. Chia sẻ thời gian (time-sharing) Ưu điểm của hệ thống Time-sharing  Giảm thời gian nhàn rỗi của CPU  Thời gian đáp ứng nhanh.  Đưa ra sự tính toán phù hợp cho người dùng.
  37. Quản lí bộ nhớ Mô hình bộ nhớ đơn kênh  Chỉ một công việc được xử lí bởi hệ thống tại một thời điểm và tất cả tài nguyên hệ thống chỉ dành riêng cho công việc này cho đến khi nó hoàn tất.  Hệ điều hành nạp một chương trình từ ổ đĩa vào trong bộ nhớ và thực thi nó. Khi tiến trình hoàn thành, hệ điều hành dọn dẹp sạch vùng nhớ và nạp chương trình kế tiếp để thực thi.
  38. Quản lí bộ nhớ Operating system area Operating system User process User area Unused Figure 14.11 Uniprogramming memory model
  39. Quản lí bộ nhớ Mô hình bộ nhớ đa kênh  Đa chương với số lượng những phân vùng bộ nhớ cố định:  Vùng sử dụng của bộ nhớ được chia thành một số các phân vùng có kích thước cố định.  Các phân vùng này có thể có kích thước bằng nhau hoặc không bằng nhau, nhưng kích thước của mỗi phân vùng là cố định.  Mỗi phân vùng có thể chứa chính xác một tiến trình.  Tại một thời điểm chỉ có n tiến trình có thể được nạp vào trong hệ thống
  40. Quản lí bộ nhớ Mô hình bộ nhớ đa kênh Operating system area Operating system Partition 1 Partition 2 User area divided into n equal-sized partitions Partition 3 . : Partition n Hình14.12 Mô hình bộ nhớ đa chương trình với số định của partitions bộ nhớ (all partitions of equal size)
  41. Quản lí bộ nhớ Mô hình bộ nhớ đa kênh Hệ đa chương với số lượng phân vùng biến đổi:  Số lượng, kích thước và vị trí của những phân vùng biến đổi linh động tương ứng với những tiến trình tới và đi.  Khi quá trình đến, phân vùng bộ nhớ sẽ được cấp phát và chỉ định, kích thước chính xác theo yêu cầu bộ nhớ của quá trình mà nó được cấp phát.  Theo yêu cầu bộ nhớ của các quá trình khác nhau, các bộ nhớ trống sẽ tạo thành một khối nhớ liên tục. Hệ điều hành duy trì một bảng theo dõi của bộ nhớ trống và bộ nhớ đang bị chiếm giữ.
  42. Quản lí bộ nhớ  Khi một quá trình mới đến, hệ điều hành tìm kiếm một bộ nhớ đủ lớn cho quá trình này.  Nếu bộ nhớ quá lớn, nó sẽ tách ra làm 2 phần. ◦ Một phần đủ lớn để đáp ứng nhu cầu về bộ nhớ và cấp phát cho quá trình. ◦ Một phần bộ nhớ còn lại được đưa vào bộ nhớ trống trong bảng theo dõi của hệ điều hành.  Khi một quá trình kết thúc, nó sẽ giải phóng bộ nhớ được cấp phát trước đó.  Nếu bộ nhớ được giải phóng nằm sát ngay các bộ nhớ trống, nó sẽ trộn với các bộ nhớ trống này thành bộ nhớ trống lớn hơn.
  43. Sự phân mảnh bộ nhớ Phân mảnh ngoại  Phân mảnh ngoại là khi toàn bộ bộ nhớ còn trống đủ đáp ứng cho một tiến trình, nhưng vẫn còn có một vài quá trình không thể được nạp vào vì các bộ nhớ trống có khả năng đáp ứng lại không nằm sát với nhau  Phân mảnh ngoại phụ thuộc vào toàn bộ bộ nhớ chính và yêu cầu bộ nhớ cần thiết của tiến trình. Sự phân tích thống kê cho biết chỉ có 1/3 bộ nhớ không thể dùng được vì phân mảnh ngoại.
  44. Sự phân mảnh bộ nhớ Phân mảnh nội  Là khi quá trình đến bộ nhớ chỉ định mà bộ nhớ đó lớn hơn nhu cầu thực tế nên bộ nhớ dư thừa không dùng đến. Phân mảnh nội xảy ra trong các trường hợp sau: ◦ Khi hệ thống sử dụng số lượng nhất định của một phân vùng bộ nhớ cố định, bất cứ nơi nào trong phân vùng đó vượt quá yêu cầu bộ nhớ của quá trình nạp vào thì nó trở thành phân mảnh nội trong bộ nhớ. ◦ Khi hệ thống sử dụng số lượng bộ nhớ khác với kích thước các phân vùng bộ nhớ
  45. Sự phân mảnh bộ nhớ Một ví dụ về đa chương trình với số lượng các phân vùng bộ nhớ khác nhau.
  46. Sự phân mảnh bộ nhớ Một ví dụ về phân mảnh nội của bộ nhớ
  47. Sự phân mảnh bộ nhớ Phân trang  Bộ nhớ vật lý của hệ thống máy tính được phân chia thành các khối có kích thước cố định gọi là khung trang.  Toàn bộ bộ nhớ được yêu cầu cho một quá trình (bao gồm cả cấu trúc và dữ liệu của nó) được phân chia thành các khối có kích thước giống nhau gọi là các trang.  Kích thước của mỗi trang có thể từ 1KB đến 8KB và khác nhau từ hệ thống này đến hệ thống khác.
  48. Sự phân mảnh bộ nhớ  Khi một quá trình thực thi, nó được nạp vào bộ nhớ, các trang của nó được nạp vào các khung trang trống đã có sẵn và một bảng ánh xạ được sắp xếp sẵn để theo dõi các trang của một quá trình được nạp vào bên trong khung trang của bộ nhớ.  Để đảm bảo địa chỉ bộ nhớ đúng trong trường hợp phân trang, mỗi địa chỉ được tạo ra bởi CPU thì được chia làm 2 phần bao gồm số trang và độ dời trang.  Bảng trang được sử dụng để chứa thông tin của số khung trang tương ứng với số trang, và độ dời trang kết hợp với địa chỉ nền của số khung trang để định nghĩa địa chỉ bộ nhớ vật lý được gởi đến bộ nhớ
  49. Sự phân mảnh bộ nhớ Ví dụ minh họa về cơ chế phân trang
  50. Bộ nhớ ảo Bộ nhớ ảo là gi ?  Bộ nhớ ảo là một cơ chế quản lý bộ nhớ cho phép quá trình được thực thi mà không phải nạp toàn bộ vào bộ nhớ chính. ◦ Một quá trình không thể được tải và chờ đợi cho đến khi nó bắt đầu được thực hiện trừ khi bộ nhớ trống còn đủ đề tải toàn bộ quá trình đã sẵn sàng. Điều này có thể trì hoãn thời gian hoàn thành của một quá trình với một phạm vi lớn. ◦ Một quá trình không thể được nạp vào trong một hệ thống khi kích thước bộ nhớ chính nhỏ hơn tổng bộ nhớ được yêu cầu của quá trình đó.
  51. Bộ nhớ ảo Bộ nhớ ảo được thực hiện như thế nào?  Bộ nhớ phụ trực tuyến: Nó là thiết bị lưu trữ phụ mà có khả năng lớn hơn khả năng của bộ nhớ chính và nó luôn luôn được giữ trực tuyến với hệ thống.  Cơ chế swapping: là quá trình của việc chuyển một khối dữ liệu từ bộ nhớ phụ trực tuyến đến bộ nhớ chính hoặc từ bộ nhớ chính đến bộ nhớ phụ trực tuyến.  Demand paging (phân trang theo yêu cầu): tương tự như cơ chế phân trang nhưng thêm vào cơ cấu hỗ trợ cơ chế swapping in.
  52. Bộ nhớ ảo Thuận lợi của bộ nhớ ảo  Có thể phân chia thành bộ nhớ logic và bộ nhớ vật lý.  Không gian địa chỉ logic không còn bị hạn chế bởi kích thước bộ nhớ vật lý của hệ thống  Thực thi một quá trình trong một hệ thống mà kích thước bộ nhớ chính nhỏ hơn tổng bộ nhớ yêu cầu của quá trình đó.  Cho phép một quá trình thực thi khi bộ nhớ trống còn đủ để nạp toàn bộ quá trình khi chưa được sẵn sàng.
  53. Bộ nhớ ảo  Công việc lập trình trở nên dễ dàng hơn vì không bị hạn chế bộ nhớ.  Việc nhập/xuất ít hơn, chương trình người dùng chạy nhanh hơn dẫn tới dung lượng, thời gian hoàn thành, và thời gian đáp ứng tốt hơn  Có thể sử dụng hiệu quả để điều tiết đồng thời các đoạn chương trình với một số lượng lớn người dùng trong bộ nhớ chính.  Sự gia tăng của nhiều chương trình dẫn đến tăng việc sử dụng CPU và dung lượng hệ thống.
  54. Bộ nhớ ảo Hạn chế của bộ nhớ ảo  Khó sử dụng vì nó yêu cầu nhiều giải thuật để hỗ trợ cho việc phân trang theo yêu cầu  Nếu sử dụng không cẩn thận, nó có thể giảm đáng kể sự thực thi thay vì làm tăng sự thực hiện. Điều này xảy ra khi gặp tỉ lệ lỗi trang cao cho một quá trình. Nghĩa là, quá trình dành nhiều thời gian cho cơ chế swapping out và swapping in của trang hơn là thực thi quá trình đó.
  55. QUẢN LÝ TẬP TIN Tập tin là gì?  Là một tập hợp các thông tin có liên quan với nhau. Mỗi tập tin có một tên, dữ liệu, và thuộc tính. ◦ Tên tập tin là cách duy nhất xác định nó trong hệ thống và được sử dụng để người dùng truy cập nó. ◦ Dữ liệu của tập tin là nội dung của nó. ◦ Thuộc tính của tập tin chứa đựng những thông tin như thời gian và ngày tháng tạo ra, thời gian và ngày tháng truy cập, thời gian và ngày tháng cập nhật cuối cùng, kích thước hiện thời, những đặc tính bảo vệ (người truy cập tập tin và cách truy cập tập tin)
  56. QUẢN LÝ TẬP TIN Cấu trúc tập tin  Hai loại phổ biến của cấu trúc tập tin được dùng bởi nhiều hệ điều hành là dãy tuần tự các byte không cấu trúc và dãy các mẫu tin có kích thước xác định.
  57. QUẢN LÝ TẬP TIN Cấu trúc tập tin Dãy tuần tự các byte không cấu trúc  Một tập tin là một chuỗi các byte.  Tất cả các thao tác truy cập đến tập tin tại mức hệ điều hành là đọc, viết hay bỏ qua.  Không có sự giải thích về các byte được xử lý như thế nào trong hệ điều hành.  Có tính linh hoạt tối đa, nhưng sự hỗ trợ thì rất thấp.  Được sử dụng phổ biến trong nhiều hệ điều hành như UNIX và MS-DOS.
  58. QUẢN LÝ TẬP TIN Cấu trúc tập tin Dãy các mẫu tin có kích thước xác định  Hệ điều hành xem một tập tin là dãy các mẫu tin có kích thước xác định.  Mỗi mẫu tin có cấu trúc bên trong được định nghĩa bởi người tạo ra tập tin.  Tất cả các thao tác truy cập tập tin tại mức hệ điều hành là phân phối số mẫu tin để đọc, viết hay bỏ qua.  Hiện nay đa số các hệ điều hành đều sử dụng sơ đồ cấu trúc tập tin là CP/M.
  59. QUẢN LÝ TẬP TIN Cấu trúc tập tin Các loại cấu trúc tập tin
  60. QUẢN LÝ TẬP TIN Phương thức truy cập tập tin 1. Truy xuất tập tin tuần tự:  Thông tin được lưu trữ trong tập tin được truy cập một cách tuần tự.  Quá trình đọc các byte hay những mẫu tin sẽ bắt đầu từ đầu của tập tin.  Một tập tin tuần tự có thể quay lại và đọc lại khi cần thiết (Giống như băng ghi âm)
  61. QUẢN LÝ TẬP TIN Phương thức truy cập tập tin 2. Truy xuất tập tin ngẫu nhiên:  Sử dụng phổ biến với phương tiện lưu trữ trực tiếp như đĩa từ hay đĩa quang.  Thông tin lưu trữ có thể truy cập ngẫu nhiên không để ý đến thứ tự của các byte hay mẫu tin được lưu trữ.
  62. QUẢN LÝ TẬP TIN Xử lý tập tin  Create: Để tạo một tập tin mới  Delete: Để xóa một tập tin  Open: Một tập tin  Close: đóng tập tin.  Read: Dùng để đọc dữ liệu đã lưu trong tập tin  Write: Dùng để viết dữ liệu mới vào tập tin
  63. QUẢN LÝ TẬP TIN  Seek: dùng để truy xuất những tập tin ngẫu nhiên bắt đầu tại vị trí đầu tiên của con trỏ đọc/ghi đến vị trí cần tìm.  Get attributes: truy cập thuộc tính của tập tin.  Set attributes: thay đổi thuộc tính của một tập tin  Rename: thay đổi tên của tập tin đã tồn tại.  Copy: tạo một bản sao của tập tin, hoặc để sao chép tập tin tới thiết bị nhập/xuất giống như máy in hoặc màn hình
  64. QUẢN LÝ TẬP TIN Tên tập tin  Được dùng để truy cập tập tin đó. Nguyên tắc cho việc đặt tên cho một tập tin thay đổi từ hệ điều hành này đến hệ điều hành khác.  Tên tập tin gồm 2 phần: PhanTen.PhanMoRong  Phần tên cho biết tên tập tin. Phần mở rộng cho biết ý nghĩa của tập tin.  Ví dụ: ◦ MS-DOS cho phép tên tập tin dài tối đa 8 kí tự, ◦ Macintosh cho phép tối đa 31 kí tự, ◦ Microsoft Windows cho phép tối đa 255 kí tự. ◦
  65. QUẢN LÝ TẬP TIN Một vài kiểu mở rộng của tập tin và ý nghĩa của chúng
  66. QUẢN LÝ TẬP TIN Cây thư mục  Cây thư mục được sử dụng bởi hệ điều hành để lưu trữ các thư mục hay các tập tin.
  67. QUẢN LÝ TẬP TIN Các phương pháp cung cấp không gian đĩa  Mục tiêu: ◦ Không gian đĩa được sử dụng hiệu quả, và ◦ Các mảnh thông tin có thể được truy cập nhanh chóng từ những tập tin.  Ba phương pháp phổ biến: ◦ Contiguous (liền kề), ◦ Linked (kết nối), ◦ Indexed (chỉ mục).
  68. QUẢN LÝ TẬP TIN Các phương pháp cung cấp không gian đĩa Không gian lưu trữ của đĩa phân mảnh thành những khối có kích cỡ bằng nhau.
  69. QUẢN LÝ TẬP TIN Các phương pháp cung cấp không gian đĩa Cung cấp liền kề  Mỗi tập tin lấy một tập các khối liền kề trên đĩa.  Địa chỉ ổ đĩa trong thư mục chỉ định khối bắt đầu và tổng số khối được cung cấp tới mỗi tập tin.
  70. QUẢN LÝ TẬP TIN Cung cấp liền kề Ưu điểm:  Đơn giản để thực thi.  Hoạt động rất tốt bởi vì một tập tin hoàn chỉnh có thể được đọc từ ổ đĩa bằng một hoạt động đơn giản.  Hỗ trợ dễ dàng cả truy cập trực tiếp và tuần tự bởi vì tất cả khối cung cấp tới tập tin là liền kề.
  71. QUẢN LÝ TẬP TIN
  72. QUẢN LÝ TẬP TIN Nhược điểm:  Bị ảnh hưởng xấu từ vấn đề phân mảnh ngoại.  Khối lượng không gian ổ đĩa không có khả năng sử dụng do phân mảnh ngoại phụ thuộc vào không gian ổ đĩa và yêu cầu không gian ổ đĩa cho những tập tin.  Ước lượng kích cỡ của tập tin thì khó. Nếu ước lượng không đủ, tập tin phải được di chuyển hoàn toàn tới một vùng mới trên ổ đĩa khi kích cỡ của tập tin vướt quá kích cỡ ước lượng ban đầu nên truy cập tập tin chậm hơn.
  73. QUẢN LÝ TẬP TIN Cung cấp liên kết, kết nối (Linked Allocation)  Tập hợp các block cung cấp cho một tập tin được liên kết với nhau.  Phần đầu tiên của mỗi khối được sử dụng để chỉ tới khối kế tiếp, phần còn lại của khối dùng để lưu trữ dữ liệu.  Chú ý các khối được định vị cho một tập tin có thể rải rác bất cứ nơi đâu trong không gian đĩa.
  74. QUẢN LÝ TẬP TIN
  75. QUẢN LÝ TẬP TIN Ưu điểm :  Mỗi khối đĩa đều có thể được sử dụng. Không có sự mất không gian ổ đĩa do phân mảnh ngoại nên không cần thiết áp dụng tiện ích dồn nén đĩa.  Không cần thiết xác định tổng kích thước dự tính của một tập tin tại thời điểm tạo ra nó. Một tập tin có thể tăng kích cỡ tự do bất kỳ lúc nào bởi vì những khối ổ đĩa cần để cung cấp tới tập tin có thể ở bất cứ đâu trên đĩa.
  76. QUẢN LÝ TẬP TIN Khuyết điểm :  Chỉ sử dụng hiệu quả cho những tập tin truy cập tuần tự.  Việc truy cập ngẫu nhiên tới tập tin lưu trữ bằng phương pháp này thì cực kỳ chậm vì mỗi lần truy cập tới con trỏ cần phải truy cập tới một khối mới, dẫn tới ổ đĩa thực hiện thao tác đọc nhiều lần.  Độ tin cậy thấp vì các khối cung cấp tới một tập tin được liên kết với nhau bởi những con trỏ phân tán khắp nơi trên ổ đĩa do đó nếu một con trỏ bị mất do sự thay đổi hay lỗi thì tất cả dữ liệu tập tin trên khối ổ đĩa đó sẽ trở nên không thể truy cập được.
  77. QUẢN LÝ TẬP TIN Cung cấp theo chỉ mục  Các khối đĩa cung cấp cho một tập tin cũng có thể bị phân tán ở mọi nơi trên ổ đĩa, các con trỏ trỏ tới tập các khối cung cấp cho một tập tin được lưu trữ với nhau trong một khối gọi là chỉ mục.  Mỗi tập tin có một khối chỉ mục của nó, là một mảng các địa chỉ của khối ổ đĩa. Phần tử thứ i trong khối chỉ mục chỉ tới khối thứ i của tập tin.
  78. QUẢN LÝ TẬP TIN Sự cung cấp khối ổ đĩa cho tập tin theo phương pháp cung cấp theo chỉ mục.
  79. QUẢN LÝ TẬP TIN Cung cấp theo chỉ mục Ưu điểm:  Mọi khối đĩa đều được sử dụng vì không có sự mất không gian đĩa do phân mảnh ngoại nên không cần thiết để thực thi việc dồn nén đĩa.  Không cần thiết để xác định và khai báo kích thước tổng cộng của một tập tin tại thời điểm tạo ra nó.  Sử dụng hiệu quả cho cả tập tin truy xuất tuần tự và ngẫu nhiên.
  80. QUẢN LÝ TẬP TIN Cung cấp theo chỉ mục Khuyết điểm:  Lãng phí không gian đĩa.  Quản lý những tập tin rất lớn.
  81. QUẢN LÝ THIẾT BỊ Điều khiển thiết bị nhập xuất  Các bộ điều khiển thiết bị được sử dùng để nối kết các thiết bị nhập xuất trong một hệ thống máy tính.  Mỗi bộ điều khiển thiết bị chịu trách nhiệm một loại thiết bị cụ thể như driver ổ đĩa, tape driver, máy in.  Một bộ điều khiển thiết bị giữ một khoảng lưu trữ bộ nhớ đệm cục bộ và chịu trách nhiệm cho việc di chuyển dữ liệu giữa thiết bị nhập xuất mà nó điều khiển với CPU
  82. QUẢN LÝ THIẾT BỊ Điều khiển thiết bị nhập xuất  Để thực hiện một hoạt động nhập xuất, hệ điều hành viết những câu lệnh liên quan và những thông số phù hợp vào những thanh ghi của bộ điều khiển thích hợp.  Sau đó thực hiện những hành động cần thiết mà hoạt động nhập xuất yêu cầu.  Hai phương pháp sau được sử dụng để truyền dữ liệu từ bộ nhớ đệm cục bộ của bộ điều khiển tới vùng nhớ của máy tính: ◦ Truyền Non-DMA ◦ Truyền DMA
  83. QUẢN LÝ THIẾT BỊ Truyền Non-DMA  Khi việc truyền dữ liệu từ thiết bị nhập tới bộ nhớ đệm cục bộ của bộ điều khiển hoàn thành, bộ điều khiển tạo ra một ngắt cho phép hệ điều hành dành lấy quyền điều khiển CPU.  Khi CPU bị ngắt, nó dừng việc đang làm và trao quyền điều khiển thực thi tới một vị trí cố định chứa địa chỉ khởi đầu của dịch vụ routine nắm giữ ngắt.  Khi CPU thực thi các câu lệnh của interrupt service routine, dữ liệu được truyền từ bộ nhớ đệm cục bộ của bộ điều khiển thiết bị tới bộ nhớ chính.  Khi việc truyền dữ liệu này hoàn thành, CPU có thể quay lại việc tính toán mà nó đã dừng khi có ngắt xảy ra.
  84. QUẢN LÝ THIẾT BỊ Truyền DMA  Bộ điều khiển thiết bị hỗ trợ kỹ thuật truy cập bộ nhớ trực tiếp (DMA).  Khi hệ điều hành nạp những câu lệnh và dữ liệu vào các thanh ghi của bộ điều khiển, các thông số câu lệnh cũng được đưa vào địa chỉ bộ.  Nếu ngắt xảy ra, hệ điều hành không phải sao chép dữ liệu từ bộ nhớ đệm của bộ điều khiển thiết bị tới bộ nhớ nữa, bởi vì dữ liệu đã thực sự ở đó. Vì thế, hệ điều hành có thể tiếp tục thực hiện công việc của nó một cách tuần tự.
  85. QUẢN LÝ THIẾT BỊ Tạo Giao diện đơn giản và dễ sử dụng cho thiết bị nhập xuất  Phần mềm nhập xuất cơ bản được cấu trúc thành 4 lớp: ◦ Lớp quản lý ngắt ◦ Driver thiết bị ◦ Phần mềm độc lập thiết bị ◦ Phần mềm mức người dùng
  86. BẢO MẬT  Bảo mật trong hệ thống máy tính là để bảo vệ tài nguyên và thông tin của hệ thống chống lại sự phá hoại và truy cập bất hợp pháp.  Bảo mật hệ thống máy tính liên quan tới cả bảo mật trong và ngoài.  Bảo mật ngoài giúp hệ thống chống lại những nhân tố bên ngoài như lửa, lụt, động đất, ổ đĩa/tape bị trộm, rò rỉ thông tin lưu trữ do một người nào đó truy cập tới thông tin và  Để bảo mật ngoài, những phương pháp phổ biến bao gồm duy trì sao chép dự phòng, chỉ cho phép những người có thẩm quyền vào trung tâm máy tinh,
  87. BẢO MẬT Bảo mật nội chủ yếu giải quyết những phần sau:  Thẩm quyền người dùng  Điều khiển truy cập  Mã hóa
  88. BẢO MẬT Thẩm quyền người dùng  Thẩm quyền người dùng để giải quyết việc xác nhận người dùng  Có 3 phương pháp cơ bản để thẩm quyền người dùng là: 1. Chứng minh bằng kiến thức 2. Chứng minh bằng sự sở hữu 3. Chứng minh bằng thuộc tính
  89. BẢO MẬT Điều khiển truy cập  Những cách để ngăn cản người dùng hay tiến trình từ việc truy cập tài nguyên/thông tin không được phép truy cập.
  90. BẢO MẬT Mã hóa  Mã hóa là một phương tiện của việc bảo vệ thông tin riêng tư chống lại sự truy cập không cho phép trong những trường hợp mà việc điều khiển truy cập khó đảm bảo.
  91. BẢO MẬT Các khái niệm và những kỹ thuật cơ bản  Mã hóa (enciphering) là tiến trình chuyển đổi một thông tin có khả năng hiểu được thành một dạng không hiểu.  Giải mã (deciphering) là tiến trình của việc chuyển đổi thông tin trở lại từ dạng mã hóa thành văn bản rõ ràng, dễ hiểu.
  92. BẢO MẬT Các khái niệm và những kỹ thuật cơ bản  Mã hóa dựa trên một hàm toán học (thuật toán mã hóa) có dạng sau: C = E(P, Ke) ◦ Với P là văn bản sẽ được mã hóa, Ke là một khóa mã hóa, và C là văn bản mã kết quả.  Giải mã C được thực hiệu bằng cách so khớp hàm (thuật toán giải mã) có dạng sau: P = D(C, Kd) ◦ Với Kd là khóa giải mã. Lưu ý rằng hàm giải mã D là nghịch đảo của hàm mã hóa E. Do đó, chúng ta có: D(E(P, Ke), Kd) = P
  93. SỰ THÔNG DỊCH CÂU LỆNH  Bộ thông dịch câu lệnh của một hệ điều hành phục vụ như giao diện để người dùng giao tiếp với máy tính qua hệ điều hành của nó.  Nó cung cấp một tập các câu lệnh mà người dùng dùng nó để đưa ra các chỉ thị để máy tính hoàn thành công việc nào đó bởi câu lệnh.  Câu lệnh được hỗ trợ bởi trình thông dịch được gọi là lệnh hệ thống. Khi người dùng đưa ra chỉ thị tới máy tính, trình thông dịch thông dịch các câu lệnh này và chỉ đạo tài nguyên hệ thống nắm bắt các yêu cầu.
  94. SỰ THÔNG DỊCH CÂU LỆNH  2009 Windows 7  Featured 64-bit support, enhanced  desktop and taskbar features, and  touch-screen capabilities.  2007 Windows Vista  Featured 64-bit support, enhanced  security, and more flexible file  management. Also more powerful  search capabilities and live icons  that show document thumbnails.  2001 Windows XP  Featured an updated user interface,  used the Windows 2000 32-bit  kernel, and supported FAT32 and  NTFS file systems.  2000 Windows Me  The last Windows version to use  the original Windows kernel that  accesses DOS.  2000 Windows 2000  Billed as a “multipurpose network  OS for businesses of all sizes” and  featured enhanced Web services.  1998 Windows 98  Increased stability was a big feature  of this Windows version, which  also included the Internet Explorer  browser.  1995 Windows 95  Featured a revised user interface.  Supported 32-bit processors, TCP/  IP, dial-up networking, and long file  names.  1993 Windows NT  Provided management and security  tools for network servers and the  NTFS file system.  1992 Windows for Workgroups  Provided peer-to-peer networking,  e-mail, group scheduling, and file  and printer sharing.  1992 Windows 3.1  Introduced program icons and the  file folder metaphor.  1990 Windows 3.0  Introduced graphical controls.  1987 Windows 2.0  Introduced overlapping windows  and expanded memory access.  1985 Windows 1.0  Divided the screen into rectangular  windows that allowed users to work  with several programs at the same  time.
  95. SỰ THÔNG DỊCH CÂU LỆNH
  96. SỰ THÔNG DỊCH CÂU LỆNH
  97. SỰ THÔNG DỊCH CÂU LỆNH