Relacionar Columnas Hệ Điều HànhVersión en línea kiến thức chương 5 đến 11 por Nguyễn An Nhật 1 Bộ lặp lịch Windows có những đặc trưng gì 2 Mô hình hóa và mô phỏng có thể được sử dụng để đánh giá một thuật toán lập lịch CPU. 3 Lập lịch thời gian thực cứng (Hard realtime ) 4 Khái niệm lập lịch đa nhân. 5 Lập lịch theo tỷ lệ phân bổ (Proportional share) 6 Lập lịch “Thời gian thực tỷ lệ đơn điệu” (Rate-monotonic realtime) 7 Linux sử dụng bộ lập lịch “hoàn toàn công bằng”, cụ thể nó như thế nào? 8 Lập lịch “Tác vụ tới hạn” (EDF / Earliest-deadline-first) 9 Lập lịch thời gian thực mềm (Soft real-time) để phân phối công việc đồng đều cho các tiểu trình. là khi hệ thống phải đáp ứng chính xác các yêu cầu thời gian thực mà không chấp nhận sai lệch. là khi hệ thống cố gắng đáp ứng các yêu cầu thời gian thực nhưng có thể chấp nhận một số sai lệch. lập lịch đa cấp, ưu tiên tiểu trình và lập lịch theo sự ưu tiên của người dùng là việc quản lý và phân phối các tiểu trình trên nhiều nhân CPU trong hệ thống đa nhân. là một thuật toán lập lịch ưu tiên các tiểu trình dựa trên tần suất của chúng. mô phỏng các tình huống và xem xét các chỉ số như thời gian đáp ứng và sự công bằng trong phân phối tài nguyên. là phương pháp phân phối tài nguyên CPU cho các tiểu trình dựa trên tỷ lệ được xác định trước. là một thuật toán lập lịch ưu tiên các tiểu trình dựa trên thời hạn gần nhất của chúng. 1 Cách sử dụng Mutex lock ? 2 Cấu trúc của một chương trình gồm những phần code nào? 3 Lệnh đơn nguyên là gì? 4 Rào cản (Barrier) là gì? 5 Đoạn code nào là đối tượng cần đồng bộ? Tại sao? Bằng cách nào? 6 Mutex lock là gì? 7 Biến số đơn nguyên là gì? 8 Cách sử dụng Rào Cản? có thể được đọc và ghi một cách nguyên tử, tránh tình trạng cạnh tranh. là một lệnh không bị ngắt giữa quá trình thực hiện bị cạnh tranh (race condition) khi được thực thi bởi nhiều tiểu trình. Để đồng bộ hóa, có thể sử dụng các cơ chế như mutex lock, semaphore,hay monitor đảm bảo các tiểu trình không vượt qua nhau trước khi đạt tới rào cản. khai báo biến, hàm, đoạn mã chính và các khối điều khiển như vòng lặp và điều kiện. là một cơ chế đồng bộ hóa được sử dụng để bảo vệ các phần của chương trình khỏi sự cạnh tranh một điểm trong chương trình mà các tiểu trình phải đến trước khi tiếp tục thực hiện, tạo ra sự đồng bộ hóa. Khi một tiểu trình giữ mutex lock, các tiểu trình khác phải chờ đến khi nó được giải phóng để thực hiện phần mã đồng bộ. 1 03 tiêu chí của một giải thuật đồng bộ là gì? 2 Giải thuật Peterson có cấu trúc ra sao? 3 Cách nó hoạt động? 4 Starvation nói đến tình trạng nào trong hệ thống? 5 Tình trạng cạnh tranh (race condition) là gì? 6 Busy waiting là gì? 7 Tính sống còn (liveness) của các bài toán đồng bộ là gì? 8 Đặc điểm và cách Peterson hoạt động. 9 Khi nào xuất hiện, tác động của Busy waiting đến hệ thống là gì? 10 Cách sử dụng? 11 Monitor là gì? 12 Semaphore là gì? 13 Test_and_set() hoạt động ra sao? khi một tiểu trình không thể tiếp tục thực thi hoặc không được ưu tiên trong việc truy cập tài nguyên Chỉ một tiểu trình có thể thực hiện các thao tác trên monitor tại một thời điểm. Nó có thể có giá trị không âm và cho phép một số tiểu trình truy cập đồng thời, trong khi số lượng truy cập vượt quá giá trị semaphore, TT khác đợi Nó có cấu trúc gồm hai quy tắc if và while để đảm bảo sự tuần tự trong việc truy cập tài nguyên. có thể tạo ra sự lãng phí tài nguyên CPU và làm tăng độ trễ. đề cập đến khả năng các tiểu trình hoàn thành công việc của mình, không bị bế tắc hoặc chết lặp Giải thuật Peterson là một giải thuật đồng bộ hai tiểu trình, sử dụng các biến flag và turn để kiểm soát quyền truy cập vào phần mã đồng bộ. là khi một tiểu trình tiếp tục kiểm tra điều kiện đồng bộ trong một vòng lặp mà không chuyển quyền điều khiển cho tiểu trình khác. một cơ chế đồng bộ hóa dùng để quản lý tài nguyên chia sẻ. xảy ra khi hai hoặc nhiều tiểu trình cùng truy cập và thay đổi cùng một tài nguyên, dẫn đến kết quả không xác định hoặc không đúng. một cấu trúc dữ liệu đồng bộ hóa kết hợp mutex lock và điều kiện (condition) để quản lý các tiểu trình 3 tiêu chí của một giải thuật đồng bộ là sự hoàn thành (safety), sự liên tục (liveness) và không bị bế tắc (freedom from deadlock). hoạt động như một lệnh đơn nguyên, kiểm tra giá trị của biến và đặt nó thành giá trị khác. Hàm này thường được sử dụng để triển khai mutex lock. 1 Loại trừ tắc nghẽn được thực hiện ra sao? 2 4 điều kiện xảy ra tắc nghẽn là gì? 3 Hệ thống không an toàn: 4 Thứ tự sử dụng tài nguyên của một loại tiến trình. 5 Thứ tự cấp phát nguyên của một loại tiến trình 6 Giải thuật nhà băng (Banker's algorithm) 7 Mô hình: Đồ thị cấp phát tài nguyên (Resource Allocation Graph - RAG) 8 Hệ thống an toàn: Là trạng thái mà không có thứ tự nào có thể thỏa mãn tất cả các yêu cầu tài nguyên của các tiến trình mà không xảy ra tắc nghẽn. Sự yêu cầu không được thỏa mãn, Không có khả năng chờ, Không ưu tiên, Vòng chờ Thứ tự cấp phát tài nguyên của một loại tiến trình xác định cách mà tiến trình đó yêu cầu và sử dụng tài nguyên trong hệ thống. là một đồ thị hướng đồng thời được sử dụng để biểu diễn mối quan hệ giữa các tiến trình và tài nguyên trong một hệ thống. Là trạng thái trong đó có thể tìm thấy một thứ tự thỏa mãn tất cả các yêu cầu tài nguyên của các tiến trình mà không xảy ra tắc nghẽn. giải thuậtnhà băng,sử dụng tài nguyên có ưu tiêntăng cường thứ tự cấp phát tài nguyên và giới hạn số lượng tài nguyên mà mỗi tiến trình có thể yêu cầu là một giải thuật sử dụng để kiểm tra một yêu cầu cấp phát tài nguyên từ các tiến trình trong hệ thống có dẫn đến tình trạng tắc nghẽn hay không. Thông thường, tiến trình cần yêu cầu tài nguyên trước khi sử dụng và phải hoàn trả tài nguyên sau khi sử dụng xong. 1 Memory: 2 Sử dụng khung trang 3 Địa chỉ luận lý: 4 Địa chỉ vật lý: 5 Cách truy cập vào đc vật lí 6 Register: 7 Trang (page): 8 Cache: 9 Khung trang (frame): 10 Bảng trang / bảng phân trang (page table) Là địa chỉ được sử dụng trong không gian địa chỉ của một tiến trình. Nó là địa chỉ mà một tiến trình truy cập và sử dụng trong quá trình thực thi. Là địa chỉ thực tế trong bộ nhớ vật lý của hệ thống Là một đơn vị nhỏ của bộ nhớ ảo, được chia thành các khối có cùng kích thước với khung trang Là bộ nhớ chính trong máy tính, nơi lưu trữ dữ liệu và chương trình trong quá trình thực thi. Khung trang được sử dụng để lưu trữ dữ liệu và chương trình khi chúng được đưa từ bộ nhớ ảo vào bộ nhớ vật lý. Là các khối nhỏ của bộ nhớ vật lý, có cùng kích thước với trang. Khi một tiến trình truy cập vào địa chỉ luận lý, hệ điều hành sẽ ánh xạ nó sang địa chỉ vật lý tương ứng để truy cập dữ liệu thực tế. Là các vùng nhớ nhỏ và nhanh nằm trong CPU, được sử dụng để lưu trữ các giá trị trung gian và thực hiện các phép toán nhanh chóng. Là một cấu trúc dữ liệu được sử dụngđể ánh xạ giữa địa chỉ ảo và địa chỉ vật lý. Chứa ttin trongbộ nhớ ảo và khung trang tương ứng trong bộ nhớ vật lý Là một bộ nhớ tạm được sử dụng để lưu trữ các dữ liệu và hướng dẫn mà CPU sử dụng thường xuyên để tăng tốc độ truy cập dữ liệu. 1 Cách khắc phục? 2 Phân trang trong Windows: 3 3 giai đoạn gắn địa chỉ (binding) cho các biến số và lệnh là khi nào? 4 Thanh ghi LIMIT: 5 Hiện tượng phân mảnh nội xảy ra khi nào? 6 Cách khắc phục? 7 Giai đoạn liên kết (link-time binding): 8 Thanh ghi BASE 9 Giai đoạn thực thi (run-time binding): 10 Giai đoạn biên dịch (compile-time binding): 11 Hiện tượng phân mảnh ngoại xảy ra khi nào? khônggian địa chỉ của một tiến trình trong bộ nhớ ảo bị chia thành nhiều khối nhỏ không liền kề,khó khăn trong việc cấp phát bộ nhớ cho các tiến trình Địa chỉ được gán vào biến và lệnh trong quá trình liên kết và có thể thay đổi khi chương trình được tạo ra sử dụng kỹ thuật hoán đổi (swapping), nâng cấp bộ nhớ vật lý hoặc sử dụng các kỹ thuật quản lý bộ nhớ hiệu quả hơn không gian địa chỉ của mỗi tiến trình được chia thành các trang có kích thước cố định và được ánh xạ vào các khung trang trong bộ nhớ vật lý Địa chỉ được gán vào biến và lệnh trong quá trình biên dịch và không thay đổi sau đó. Địa chỉ được gán vào biến và lệnh trong quá trình thực thi chương trình và có thể thay đổi trong suốt quá trình chạy. Xác định kích thước của vùng nhớ được gán cho một tiến trình, giới hạn các địa chỉ có thể truy cập. Giai đoạn biên dịch (compile-time binding), Giai đoạn liên kết (link-time binding), Giai đoạn thực thi (run-time binding) Cách khắc phục phân mảnh nội có thể bao gồm thu gom rác (garbage collection), nén bộ nhớ và tái cấu trúc không gian địa chỉ của tiến trình. Lưu trữ địa chỉ bắt đầu của vùng nhớ được gán cho một tiến trình trong bộ nhớ vật lý. không gian bộ nhớ vật lý không đủ để chứa các tiến trình hoạt độngCác khung trang trong bộ nhớ vật lý không liên tục và gây ra sự lãng phí tài nguyên 1 , độ dịch / offset: 2 Các cách chọn lổ trống khi cấp phát liên tục: 3 Chia sẻ trang: 4 , số khung 5 Bộ MMU: Có thể sử dụng các thuật toán như Best-Fit, First-Fit hoặc Next-Fit để chọn lổ trống phù hợp nhất cho quá trình cấp phát liên tục của các khối bộ nhớ. Bộ MMU (Memory Management Unit) là TP ở cpu, được sử dụng để quản lý việc ánh xạ giữa địa chỉ ảo và địa chỉ vật lý trong quá trình truy cập bộ nhớ. là kỹ thuật cho phép nhiều tiến trình chia sẻ cùng một trang trong bộ nhớ ảo, giúp tiết kiệm tài nguyên và tăng hiệu suất hệ thống. khoảng cách giữa địa chỉ trang và địa chỉ bắt đầu của khung trang. là số lượng khung trang trong bộ nhớ vật lý.