« Home « Kết quả tìm kiếm

Nghiên cứu, thiết kế hệ điều hành trên bộ vi điều khiển 8 bít


Tóm tắt Xem thử

- Quản lý tiến trình.
- Các trạng thái của một tiến trình.
- Các trạng thái của tiến trình liên quan đến giờ CPU.
- Vi điều khiển .
- Các thiết bị mô phỏng quá trình hoạt động của tiến trình.
- Xây dựng các tiến trình.
- Xây dựng các tác vụ t−ơng ứng các tiến trình.
- Sự kiện và chuyển trạng thái giữa các tiến trình.
- Trạng thái của các tiến trình.
- Thời gian thực hiện của các tiến trình.
- Thời gian chờ của các tiến trình.
- Sơ đồ thực hiện tiến trình.
- Sơ đồ tổ chức hàng đợi các tiến trình.
- Các tiến trình đ−ợc phân bổ thời gian CPU bằng nhau.
- Chuyển giữa các tiến trình bằng sự kiện time out.
- Các tiến trình đ−ợc phân bổ thời gian CPU khác nhau.
- Chuyển giữa cá tiến trình bằng sự kiện interrupt.
- Mô tả trạng thái của các tài nguyên của tiến trình.
- Các tài nguyên cần l−u khi dừng một tiến trình.
- Phân bổ ngăn xếp cho các tiến trình.
- Lập lịch cho 8 tiến trình thực hiện quét chữ trên ma trận LED.
- Lập lịch cho 4 tiến trình quét các số trên 4 LED 7 đoạn.
- Lập lịch cho tiến trình điều khiển LCD.
- Lập lịch cho tiến trình thời gian thực.
- Ch−ơng 3.
- Ch−ơng 4.
- Khi ng−ời sử dụng cần thực hiện một ch−ơng trình hay một ch−ơng trình cần nạp thêm một tiến trình mới vào bộ nhớ thì hệ điều hành phải cấp phát không gian nhớ cho ch−ơng trình, tiến trình đó để ch−ơng trình, tíên trình đó nạp đ−ợc vào bộ nhớ và hoạt động đ−ợc.
- Ngoài ra hệ điều hành còn phải tổ chức bảo vệ các không gian nhớ đã cấp cho các ch−ơng trình tiến trình để tránh sự truy cập bất hợp lệ và sự tranh -13- chấp bộ nhớ giữa các ch−ơng trình, tiến trình, đặc biệt là các tiến trình đồng thời hoạt động trên hệ thống.
- Trong quá trình hoạt động của hệ thống đặc bệt là các hệ thống đa ng−ời dùng đa ch−ơng trình, đa tiến trình.
- Còn xuất hiện một hiện t−ợng khác, đó là nhiều ch−ơng trình, tiến trình đồng thời sử dụng một không gian nhớ hau một tập tin (dữ liệu, ch−ơng trình) nào đó.
- Thành phần quản lý tiến trình.
- Hệ điều hành phải có nhiệm vụ tạo lập tiến trình và đ−a nó vào danh sách quản lý tíên trình của hệ thống.
- Khi tiến trình kết thúc hệ điều hành phải loại bỏ tiến trình ra lhỏi danh sác quản lý tiến trình của hệ thống.
- Khi tiến trình kết thúc hệ điều hành phải thu hồi những tài nguyên mà hệ điều hành đã cấp cho tiến trình.
- Tóm lại, bộ phận quản lý tiến trình của hệ điều hành phải thực hiện nhứng nhiệm vụ sau đây: Tạo lập, huỷ bỏ tiến trình.
- Tạm dừng, tái kích hoạt động tiến trình.
- Tạo cơ chế thông tin liên lạc giữa các tiến trình.
- Tạo cơ chế đồng bộ hoá giữa các tiến trình.
- Khi ch−ơng trình, tiến trình có yêu cầu đ−ợc nạp vào bộ nhớ thì hệ điều hành phải cấp phát không gian nhớ cho nó.
- Khi ch−ơng trình, tiến trình kết thúc thì hệ điều hành phải thi hồi lại không gian nhớ đã cấp phát cho ch−ơng trình, tiến trình tr−ớc đó.
- Quyết định tiến trình nào đ−ợc nạp vào bộ nhớ.
- Quản lý 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, lậ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ị.
- 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.
- Khởi tạo (new): 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 (runing): Tiến trình đ−ợc xử lý.
- Đợi (waiting): 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 (halt): 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ơ đồ (hình 1.1) -17- Hình 1.1.
- Các trạng thái của một tiến trình Hệ điều hành quản lý hoạt động của các tiến trình trong hệ thống thông qua khối mô tả tiến trình (process control block - PCB).
- Khối mô tả tiến trình bao gồm các thành phần.
- 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.
- Các tài nguyên logic và vật lý phân bổ cho các tiến trình song hành là tài nguyên “găng”.
- Khái niệm về bế tắc Giả sử có hai tiến trình P1 và P song hành sử dụng các tài nguyên r1 và r, đ−ợc điều khiển bởi hai đèn hiệu S1 và S.
- Tại mỗi thời điểm, mỗi tài nguyên chỉ phục vụ cho sự hoạt động của một tiến trình.
- Trạng thái của các tiến trình P1 Thời điểm P2 Wait (S1) t1 Wait (S2.
- t4 Wait (S1) Nhận xét: Tại vị trí trên, sau thời điểm t3, tiến trình P1 rơi vào trạng thái chờ tài nguyên r2 đang đ−ợc P2 sử dụng.
- Thời gian mà CPU phục vụ cho tiến trình hoạt động đ−ợc gọi là giờ CPU.
- Tại mỗi thời điểm nhất định, chỉ có một tiến trình đ−ợc phân phối giờ CPU để hoạt động (thực hiện các lệnh của mình).
- Các trạng thái của tiến trình liên quan đến giờ CPU ReadyRuningWaiting -21.
- Sẵn sàng (ready): Là trạng thái mà tiến trình đ−ợc phân phối đầy đủ mọi tài nguyên cần thiết và đang chờ giờ CPU.
- Thực hiện (running): Là trạng thái mà tiến trình đ−ợc phân phối đầy đủ mọi tài nguyên cần thiết và giờ CPU.
- Nh− vậy, trong suốt thời gian tồn tại của mình, các tiến trình sẽ tuân thủ theo sơ đồ thực hiện sau: Hình 1.3.
- Sơ đồ thực hiện tiến trình Một tiến trình đang trong trạng thái thực hiện, nó có thể rời khỏi trạng thái bởi một trong ba lý do.
- Tiến trình đã hoàn thành công việc và chuyển sang trạng thái kết thúc, nó trả lại giờ CPU cho hệ thống.
- Tiến trình sử dụng hết giờ CPU dành cho nó, khi đó nó sẽ đ−ợc chuyển sang trạng thái sẵn sàng.
- Việc chuyển tiến trình sang trạng thái sẵn sàng về bản chất là thực hiện việc phân phối lại giờ CPU.
- Khái niệm Để điều khiển tiến trình ở nhiều trạng thái khác, hệ thống th−ờng tổ chức các từ trạng thái (thực chất là các khối điều khiển tiến trình) để ghi nhận tình trạng sử dụng tài nguyên và trạng thái tiến trình.
- Mỗi tiến trình ở trạng thái sẵn sàng đ−ợc gắn với một thứ tự −u tiên.
- Hàng đợi các tiến trình đ−ợc tổ chức theo kiểu FIFO.
- Thuật toán SJF xác định thứ tự −u tiên thực hiện tiến trình dựa vào tổng thời gian thực hiện tiến trình.
- Tiến trình nào có tổng thời gian thực hiện ngắn sẽ đ−ợc −u tiên phục vụ tr−ớc.
- Nh− vậy trong thuật toán này cần phải th−ờng xuyên cập nhật thông tin về thời gian đã thực hiện tiến trình.
- Mỗi tiến trình trong hàng đợi lần l−ợt đ−ợc phân phối một l−ợng tử thời gian để thực hiện.
- Các tiến trình dù ngắn hay dài đều có độ −u tiên phục vụ nh− nhau.
- Trên thực tế, để đảm bảo độ −u tiên cho các tiến trình dài, hệ thống sẽ phân chia các tiến trình thành m lớp.
- L−ợng từ thời gian sẽ tăng dần cho đến khi tiến trình rơi vào lớp ngoài cùng (lớp m).
- Nh− vậy thứ tự −u tiên của các tiến trình sẽ tăng dần theo thời gian xếp hàng đợi.
- n là số tiến trình.
- s thời gian chuyển từ tiến trình này sang tiến trình khác.
- Ví dụ: Cho dãy tiến trình với thời gian thực hiện t−ơng ứng theo bảng 1.2 và time quantum có giá trị q= 4 -25- Bảng 1.2.
- Thời gian thực hiện của các tiến trình Tiến trình T thực hiện P1 24 P2 3 P3 3 Sơ đồ Grant biểu thị thứ tự thực hiện các tiến trình nh− hình 1.5.
- Sơ đồ Grant Theo sơ đồ này chúng ta thấy thời chờ đợi của các tiến trình nh− bảng 1.2.
- -26- Hệ điều hành chịu trách nhiệm cấp phát không gian nhớ cho các tiến trình khi có yêu cầu.
- Chia sẻ thông tin: Cho phép các tiến trình đang hoạt động trong bộ nhớ có thể chia sẻ thông tin với nhau.
- Bảo vệ bộ nhớ: Ngăn chặn các tiến trình xâm phạm đến vùng nhớ đ−ợc cấp phát cho các tiến trình khác.
- Vi điều khiển 2.1.1.
- Bộ định thời dùng để xác định các khoảng thời gian thích hợp cho mỗi tiến trình hoạt động (gọi là timer tick).
- Ngắt do bộ định thời chính là cơ sở để có thể thực hiện việc chuyển mạch giữa các tiến trình.
- Các thiết bị mô phỏng cho qua trình thực hiện của các tiến trình.
- Tính trực quan là yêu cầu đầu tiên khi lựa chọn các thiết bị mô phỏng cho quá trình hoạt động của tiến trình trong hệ điều hành.
- Thiết kế bộ xử lý trung tâm, thiết kế giao diện ng−ời sử dụng và thiết kế các thiết bị mô phỏng sự hoạt động của các tiến trình.
- Thiết kế các ch−ơng trình th−ờng trú trong bộ nhớ ROM, khi hệ điều hành hoàn tất các ch−ơng trình này sẽ trở thành các tiến trình song song.
- Công việc này có thể gọi là “xây dựng các tiến trình.
- Công việc này thực chất là làm thế nào để có thể quản lý, phân bổ tài nguyên cho các tiến trình hoạt động.
- phân bổ bộ nhớ cho các tiến trình một cách khoa học để không bị xung đột là mục đích chính của phần này.
- Trình dịch C cho phép xây dựng tới 16 tác vụ, 16 tác vụ này có thể luân phiên thực hiện, khi đó hệ thống có thể có tới 16 tiến trình.
- Tuy nhiên điều này chỉ thấy trên khía cạnh ng−ời sử dụng hệ điều hành còn trên khái cạnh ng−ời thiết kế thì đó chỉ là việc phân chia thời gian CPU sao cho các tiến trình để tạo cảm giác nh− các tiến trình đều đang đ−ợc thực hiện

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt