Computer >> Máy Tính >  >> Lập trình >> C ++

Đã sửa (hoặc tĩnh) phân vùng trong Hệ điều hành bằng C ++

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về phân vùng cố định trong hệ điều hành.

Phân vùng cố định là một để quản lý bộ nhớ trong hệ điều hành. Đó là một kỹ thuật cũ. Nó chia bộ nhớ thành các khối bằng nhau. Kích thước của mỗi khối được xác định trước và không thể thay đổi.

Bộ nhớ được sử dụng cho các quy trình liền kề.

Ví dụ

Hãy xem chương trình mẫu phân bổ bộ nhớ dựa trên kích thước quy trình.

#include<iostream>
using namespace std;
int main() {
   int blockNumber = 5, processesNumber = 3;
   int blockSize[5] = {4, 4, 4, 4, 4}, processSize[3] = {1, 2, 3};
   int flags[5], allocation[5];
   for(int i = 0; i < 5; i++) {
      flags[i] = 0;
      allocation[i] = -1;
   }
   // allocating the blocks to processes
   for(int i = 0; i < processesNumber; i++) {
      for(int j = 0; j < blockNumber; j++) {
         if(flags[j] == 0 && blockSize[j] >= processSize[i]) {
            allocation[j] = i;
            flags[j] = 1;
            break;
         }
      }
   }
   for (int i = 0; i < blockNumber; i++) {
      if (flags[i] == 1) {
         cout << "Process " << processSize[allocation[i]] << " is allocated" << endl;
      }
   }
   return 0;
}

Đầu ra

Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.

Process 1 is allocated
Process 2 is allocated
Process 3 is allocated

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.