may tinh 2
1. Ngắt
Ngắt là sự kiện CPU bị tạm dừng việc thực hiện quá trình chính và chuyển sang thực hiện quá trình phục vụ ngắt.
Ngắt cứng là phương pháp vào/ra dữ liệu, trong đó thiết bị vào/ra (thiết bị vật tư: bàn phím, máy in, đồng hồ nhịp thời gian,v.v...) chủ động khởiđộng quá trình vào/ra. Quá trình phục vụ ngắt cũng được kích hoạt bằng một tín hiệu vật lý từ bên ngoài.
Các loại ngắt: Ngắt mềm (ngắt DOS, ngắt BIOS), ngắt cứng (ngắt Hệ thống, ngắt cảu người sử dụng), ngắt logic.
2. Hệ thống ngắt cứng
CPU được thiết kế để đáp ứng được với các quá trình ngắt cứng. CPU có một đầu vào nhận tín hiệu ngắt INT, khi nhận được tín hiệu này CPU sẽ phản ứng theo cơ chế ngắt cứng. Trong thực tế có nhiều thiết bị ngoại vi yêu cầu được phục vụ theo phương pháp ngắt cứng (bàn phím, đồng hồ hệ thống, máy in, v.v..) và sinh ra nhiều yêu cầu ngắt, do vậy cần có một bộ điều khiển giúp CPU quản lý và phục vụ các yêu cầu ngắt, đó là bộ điều khiển ngắt PIC
Hệ thống ngắt cứng được xây dựng trên cơ sở 2 bộ điều khiển ngắt PIC 8259, mỗi PIC 8259 có thể nhận 8 tín hiệu yêu cầu ngắt IRQ từ thiết bị vào/ra. Hai PIC này được kết nối với nhau theo kiểu ghép tầng (chủ/thợ tức là tín hiệu đầu ra INT của PIC thợ được nối với yêu cầu ngắt IRQ2 của PIC chủ), kết hợp hoạt động để có thể phục vụ được 16 yêu cầu ngắt IRQ.
Cơ chế hoạt động của hệ thống ngắt cứng:
Điều kiện ban đầu: PIC 8259 cần được lập trình khởi động qua các từ điều khiển ICW. Sau khi các từ điều khiển ICW được nạp thì PIC 8259 sẵn sàng hoạt động.
- Một hoặc nhiều thiết bị vào - ra có yêu cầu được phục vụ phát tín hiệu IRQi = "1" (mức tích cực) cho PIC. PIC ghi nhận các yêu cầu ngắt IRQi này bằng cách đặt các bit IRRi tương ứng lên "1".
- PIC 8259 chọn IRQi có mức ưu tiên cao nhất để phục vụ. PIC gửi tín hiệu INT cho CPU, đòi CPU phục vụ.
- CPU thực hiện các thao tác sau:
+ Thực hiện nốt lệnh của quá trình hiện hành.
+ Lưu địa chỉ trở về (nội dung của các thanh ghi CS, IP) và thanh ghi cờ FLAGS vào ngăn xếp.
+ Gửi hai tín hiệu trả lời ngắt INTA cho PIC.
- Khi PIC 8259 nhận được tín hiệu INTA thứ 1: bit ISRi ứng với IRQi có mức ưu tiên cao nhất được thiết lập (ISRi = 1) và bit IRRi tương ứng bị xoá (IRRi=0). Trong chu kỳ INTA thứ nhất này PIC 8259 không gửi gì cho CPU qua BUS dữ liệu.
- Khi PIC 8259 nhận được tín hiệu INTA thứ 2: PIC 8259 gửi số ngắt tương ứng với IRQi đang được phục vụ qua BUS dữ liệu cho CPU.
- CPU nhận số ngắt và trên cơ sở số ngắt này vào vị trí tương ứng trong Bảng véctơ ngắt để xác định địa chỉ của chương trình phục vụ ngắt. CPU nạp địa chỉ chương trình phục vụ ngắt vào các thanh ghi CS và IP và bắt đầu thực hiện chương trình phục vụ ngắt này.
- Khi thực hiện xong chương trình phục vụ ngắt thì quá trình phục vụ ngắt của CPU cũng kết thúc. CPU khôi phục địa chỉ trở về vào các thanh ghi CS, IP, khôi phục nội dung thanh ghi FLAGS và tiếp tục thực hiện quá trình vừa bị ngắt.
Hệ thống ngắt cứng có thể kết thúc phục vụ ngắt hiện thời theo hai chế độ:
+ Kết thúc ngắt bình thường EOI: khi PIC được đặt chế độ kết thúc ngắt bình thường EOI thì CPU phải phát lệnh báo kết thúc ngắt EOI (qua từ điều khiển OCW2) cho PIC trước khi rời khỏi chương trình con phục vụ ngắt. Khi đó bit ISRi của ngắt đang được phục vụ sẽ được đặt xuống 0.
+ Kết thúc ngắt tự động AEOI: khi PIC được đặt chế độ kết thúc ngắt tự động AEOI thì tại chu kỳ INTA thứ 2 bit ISRi của ngắt đang được phục vụ sẽ được đặt xuống 0. Bằng cách nói trên hệ thống ngắt cứng có thể tiếp tục phục vụ yêu cầu ngắt này ở những lần tiếp theo.
Chương 5: Hệ điều hành
1. Khái niệm HĐH
Hệ điều hành là một hệ thống các chương trình hoạt động giữa người sử dụng (user) và phần cứng của máy tính. Mục tiêu của hệ điều hành là cung cấp một môi trường để người sử dụng có thể thi hành các chương trình. Nó làm cho máy tính dễ sử dụng hơn, thuận lợi hơn và hiệu quả hơn. Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính. Một hệ thống máy tính thường được chia làm bốn phần chính : phần cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng.
2. Phân loại HĐH
Dựa trên phương thức hoạt động, điều khiẩn, quản lý tài nguyên...chúng ta có thể phân loại hệ điều hành như sau:
- Hệ điều hành đơn nhiệm và HĐH đa nhiệm:
+ HĐH đơn nhiệm là HĐH mà tại mỗi thời điểm chỉ có thể điều hành hoạt động của một chương trình. Khi một chương trình được nạp vào bộ nhớ thì nó sẽ chiếm dụng toàn bộ tài nguyên của hệ thống dẫn đến không thể thực thi một chương trình nào khác khi chương trình này chưa kết thúc.
+ HĐH đa nhiệm là hệ điều hành cho phép thực hiện nhiều chương trình cùng một thời điểm. Tài nguyên trong chế độ hoạt động này được chia sẻ cho các chương trình dẫn đến cần phải đảm bảo tốt tính bình đẳng trong vấn đề phân phối tài nguyên.
- HĐH đơn chương và HĐH đa chương:
+ HĐH đơn chương là tại mỗi thời điểm chỉ cho phép một người sử dụng làm việc.
+ HĐH đa chương là tại mỗi thời điểm cho phép nhiều người sử dụng cùng làm việc.
- HĐH chia sẻ thời gian và HĐH thời gian thực:
Trong HĐH chia sẻ thời gian, một Cpu luôn luôn phục vụ các tiến trình và một tiến trình có thể rơi vào trạng thái chờ đợi khi chưa được phân bổ CPU, còn trong HĐH thời gian thực, tiến trình được nạp vào hệ thống ở bất kỳ thời điểm nào đều được phân bổ thời gian mà CPU phục vụ.
- HĐH tập trung và HĐH phân tán:
HĐH tập trung được cài đặt trên hệ thống máy chủ của mạng, nó điều hành mọi thao tác, xử lý và tính tóan tại các máy trạm.
HĐH phân tán gồm hai thành phần được cài đặt trên máy chủ và máy trạm của mạng. HĐH tại máy chủ chịu trách nhiệm cung ứng dịch vụ, quản lý hệ thống và thực hiện các thao tác xử lý chung, HĐH tại máy trạm có thể thực hiện các thao tác xử lý riêng.
3. Các tính chất của HĐH
Các tính chất cơ bản của HĐH
- Tính tin cậy: Mọi hoạt động, mọi thông báo của HĐh phải chuẩn xác tuyệt đối. Chỉ khi nào chắc chắn đúng thì HĐH mới cung cấp thông tin cho người sử dụng. Ví dụ khi truy nhập đĩa, nếu gặp lỗi truy nhập HĐH cố gắng lặp lại thao tác nhiều lần. Nếu vẫn không được, lúc đó mới đưa ra các thông báo lỗi.
- Tính an toàn: HĐH cần phải đảm bảo sao cho dữ liệu và các chương trình không bị thay đổi ngoài ý muốn trong mọi trường hợp và trong mọi chế độ hoạt động. Để đảm bảo được yếu tố an toàn, các HĐH cần cung cấp các cơ chế bảo vệ dữ liệu và bảo vệ các tài nguyên sử dụng chung, tránh được sự vi phạm do vô tình hoặc cố ý của người sử dụng và các chương trình.
- Tính hiệu quả: Các tài nguyên của hệ thống phải được khai thác một các triệt để sao cho ngay cả khi tài nguyên hạn chế vẫn có thể giải quyết được những yêu cầu phức tạp. Một khía cạnh khác của tính hiệu quả là phải duy trì hoạt động đồng bộ trong toàn hệ thống, không được để những thiết bị chậm trì hoãn hoạt động của hệ thống.
- Tính kế thừa: HĐH phải có tính kế thừa các ưu điểm, khắc phục các nhược điểm của phiên bản trước và khả năng thích nghi với những thay đổi trong tương lai. Tính kế thừa là rất quan trọng, ngay cả với các hệ điều hành thế hệ mới. Khi nâng cấp HĐH thì tính kế thừa mang tính chất bắt buộc. Ví dụ như các thao tác, thông báo không được thay đổi hoặc nếu có thì cần hạn chế và phải được hướng dẫn cụ thể khi chuyển đổi từ phiên bản này sang phiên bản khác. Đảm bảo tính kế thừa sẽ duy trì và phát triển đội ngũ người sử dụng, giảm chi phí đào tạo khi tiếp cận tới các phiên bản hệ điều hành mới.
- Tính thuận lợi: HĐH phải sử dụng dễ dàng, có hiệu quả tùy theo kiến thức và kinh nghiệm của người dùng. HĐH phải có hệ thống trợ giúp, hướng dẫn phong phú, đầy đủ giúp người sử dụng có thể tự đào tạo mình ngay trong quá trình khai thác.
4. Các chức năng cơ bản của HĐH
- Quản lý tiến trình: Đảm bảo những điều kiện tối thiểu để tiến trình có thể thực thi, Đảm bảo điều kiện cho sự hoạt động song song của nhiều tiến trình, Tạo và xóa các tiến trình của người sử dụng và hệ thống, Ngừng và bắt đầu lại các tiến trình, Tạo các cơ chế để đồng bộ hóa các tiến trình, Tạo các cơ chế để liên lạc giữa các tiến trình, Tạo các cơ chế để xử lý bế tắc.
- Quản lý bộ nhớ trong: Cấp phát và thu hồi không gian nhớ cho các tiến trình, Lưu trữ dấu vết những thành phần của bộ nhớ hiện đang sử dụng và do tiến trình nào sử dụng, Quyết định tiến trình nào được nạp vào bộ nhớ khi có khả năng, Sắp xếp và giải phóng không gian nhớ khi cần thiết.
- Quản lý bộ nhớ ngoài: Quản lý không gian nhớ tự do trên bộ nhớ ngoài, Cấp phát không gian nhớ tự do, Cung cấp các khả năng định vụ bộ nhớ ngoài, Lập lịch cho bộ nhớ ngoài
- Quản lý hệ thống vào/ra: Che dấu những đặc thù của các thiết bị vào/ra, Tạo lập những chương trình để quản lý, điều khiển thiết bị chung và các thiết bị đặc biệt.
- Quản lý file: Tạo và xóa file, Tạo và xóa thư mục, Hỗ trợ các nguyên lý thao tác file và thư mục, Ánh xạ các file lên bộ nhớ phụ, Ghi dự phòng các file lên bộ nhớ ổn định
- Hệ thống bảo vệ: Giúp cho hệ thống hoạt động bình thường, Bảo vệ các tài nguyên sử dụng chung, Phát triển và ngăn chặn các khả năng sai sót của các tiến trình
- Lập mạng: Mạng máy tính là một tập hợp các máy tính được kết nói với nhau bằng môi trường truyền tin nhằm mục đích cho phép người sử dụng dùng chung tài nguyên và phục vụ công tác truyền thồng. Mỗi máy tính trong mạng có một bộ nhớ độc lập và các tiến trình có thể được kết nối , xử lý thông qua hệ thống mạng. Khi đó hệ điều hành phải hỗ trợ khả năng quảnlý, chia sẻ tài nguyên, truyền thông trên mạng thông qua các thành phần điều khiển giao tiếp mạng.
- Hệ thống giải thích lệnh (thông dịch lệnh): Là thành phần quan trọng nhất của HĐH, đóng vai trò tạo giao diện giữa máy tính và người sử dụng. Nó giúp máy tính hiểu và xử lý được các chỉ thị, các lệnh của người sử dụng.
5. Các thành phần của HĐH
Các phục vụ của HĐH: HĐH tạo ra môi trường cho các chương trình hoạt động, do đó hệ điều hành phải phục vụ chương trình và những người sử dụng chương trình đó. Với những HĐH khác nhau thì sẽ có một số các phục vụ đặc biệt khác nhau nhưng về nguyên tắc chung, các HĐH phải có một số kiểu phục vụ sau:Phục vụ thực hiện chương trình, Điều khiển thao tác vào/ra, Các thao tác file, Phát hiện lỗi sai sót, Phân phối tài nguyên, Thống kê, kế toán, Tổ chức các phục vụ
- Các gọi hệ thống: Các gọi hệ thống cung cấp một giao diện giữa chương trình đang hoạt động và hệ điều hành. Hệ điều hành cung cấp hai phương pháp để tổ chức thực hiện các gọi hệ thống:Tổ chức bằng những lệnh hợp ngữ, Tổ chức trực tiếp từ chương trình ngôn ngữ bậc cao bằng cách sử dụng chương trình con,
- Các gọi hệ thống được chia thành 3 loại chính: các chương trình điều khiển tiến trình thực thi, Các chương trình thao tác với file và thiết bị, Các chương trình bảo trì thông tin hệ thống
- Các chương trình hệ thống: Cung cấp công cụ cho người sử dụng thực hiện các thao tác quản lý và điều khiển hệ thống. Điểu hình là:Các chương trình thao tác với file và thư mục, Các chương trình thông tin trạng thái, Các chương trình hỗ trợ ngôn ngữ lập trình, Các chương trình điều khiển nạp và thực hiện chương trình, Chương trình giải thích lệnh
- Các chương trình ứng dụng: Các chương trình ứng dụng đi kèm hệ điều hành nhằm mục đích hỗ trợ cho người sử dụng thực hiện các thao tác ứng dụng cơ bản như: Các chương trình soạn thảo vản bản đơn giản, các trình duyệt Web, các chương trình trò chơi giải trí,...
6. Các hình thái giao tiếp
a)Hình thái dòng lệnh: Người sử dụng giao tiếp với hệ điều hành qua các dòng lệnh, mỗi lệnh có các tham số tương ứng
-Ưu điểm:Dễ xây dựng và giảm công sức cho người xây dựng hệ thống.Người sử dụng có thể đưa tham số của lệnh một cách chính xác theo mong muốn.
- Nhược điểm:Tốc độ đưa lệnhvào chậm, người sử dụng phải nhớ các tham số.Đối với các thao tác viên không có kinh nghiệm, thì hình thái này gây cản trở đến hiệu quả làm việc.Hình thái giao tiếp này bị cản trở bởi hàng rào ngôn ngữ.
b) Hình thái thực đơnNgười sử dụng giao tiếp với hệ điều hành thông qua các thực đơn, các thực đơn thường có dạng trải xuống(popup). Mỗi thực đơn con tương ứng với một chức năng. Các tham số có thể được đưa vào thông qua giao tiếp với người sử dụng.
-Ưu điểm:Hình thái này không yêu cầu nhớ lệnhNgười sử dụng có thể truy nhập vào thực đơn qua bàn phím hoặc qua chuột
- Nhược điểm:Hình thái giao tiếp này bị cản trở bởi hàng rào ngôn ngữ.Đôi khi các từ trên thực đơn không nêu bật được chức năng của nó.
c) Hình thái cửa sổ-biểu tượngNgười sử dụng giao tiếp với hệ điều hành thông qua các thanh công cụ và các biểu tượng. Mỗi biểu tượng tương ứng với một chức năng. Các tham số có thể được đưa vào thông qua giao tiếp với người sử dụmg.
-Ưu điểm:Hình thái này không yêu cầu nhớ lệnhNgười sử dụng không bị ờang rào ngôn ngữ gây cản trở.
- Nhược điểm:Có thể có rất nhiều biểu tượng do đó gây sự nhập nhằng về chức năng.Không thuận lợi khi thao tác bằng bàn phím.
d) Hình thái kết hợp: HĐH thường kết hợp nhiều hình thái giao tiếp để tạo ra tính thân thiện với người sử dụng. Ví dụ: việc kết hợp thực đơn với các biểu tượng, hoặc kết hợp giữa các biểu tượng với các từ gợi ý.Hình thái giao tiếp kết hợp này khắc phục được các nhược điểm của các hình thái giao tiếp đơn lẻ
7. Khái niệm tiến trình
- Để hỗ trợ hoạt động đa nhiệm, hệ thống máy tính cần phải có khả năng thực hiện nhiều tác vụ xử lý đồng thời nhưng việc điều khiển hoạt động song hành ở cấp độ phần cứng là rất khó khăn. Vì vậy các nhà thiết kế hệ điều hành đề xuất một mô hình song hành giải lập bằng cách chuyển đổi bộ xử lý qua lại giữa các chương trình để duy trì hoạt động của nhiều chương trình tại cùng một thời điểm. Trong mô hình này các chương trình trong hệ thống được tổ chức thành các tiến trình.Tiến trình là một chương trình đang xử lý, nó sở hữu một con trỏ lệnh, tập các thanh ghi và các biến. Để hoàn thành nhiệm vụ của mình, các tiến trình có thể còn yêu cầu một số tài nguyên hệ thống như: CPU, bộ nhớ và các thiết bị.
8. Các trạng thái của tiến trình
Tại mỗi thời điểm, tiến trình có thể nhận một trong các trạng thái sau:
+ Mới tạo: tiến trình đang được tạo lập
+ Sẵn sàng (ready): Tiến trình chờ được cấp phát CPU để xử lý
+ Thực hiện (running): Tiến trình được xử lý
+ Bị chặn (Blocked): Tiến trình phải dừng vì thiếu tài nguyên hoặc chờ một sự kiện nào đó
+ Kết thúc :Tiến trình đã hoàn tất công việc xử lý
Các trạng thái của tiến trình có thể được biểu diễn qua sơ đồ sau: H7
(1) Tiến trình mới tạo lập được đưa vào hệ thống.
(2) Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU.
(3) Tiến trình kết thúc, bộ điều phối thu lại CPU.
(4) Tiến trình yêu cầu tài nguyên nhưng chưa được đáp ứng, hoặc phải chờ một sự kiện hay thao tác nhập/xuất.
(5) Bộ điều phối chọn một tiến trình khác để xử lý
(6) Tài nguyên mà tiến trình yêu cầu đã sẵn sàng để cấp phát, hay sự kiện, thao tác nhập/xuất tiến trình đang đợi hoàn tất.
Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ xử lý bất kỳ. Trong khi đó, nhiều tiến trình có thể ở trạng thái blocked hay ready
-HĐH quản lý hoạt động của tiến trình trong hệ thống thông qua khối mô tả tiến trình. Khối mô tả tiến trình bao gồm các thành phần:
+ Số thứ tự của tiến trình
+ con trỏ trạng thái của tiến trình (cho biết trạng thái hiện tại của tiến trình)
+ Vùng nhớ lưu trữ giá trị các thanh ghi mà tiến trình đang sử dụng
+ Thông tin về tài nguyên tiến trình đang sử dụng hoặc được phép sử dụng
Bạn đang đọc truyện trên: truyentop.pro