Cho đoạn chương trình như bên dưới, kéo thả các thành phần vào khu vực
bộ nhớ tương
ứng
Trong các vùng nhớ sau, vùng nhớ nào có khả năng thay đổi kích thước khi tiến trình
thực thi?
      •   Text section
      •   Data section
      •   Heap section
      •   Stack section
Tiến trình KHÔNG bao gồm thành phần nào sau đây?
       •   Con trỏ chỉ câu lệnh thực thi tiếp theo
       •   Đoạn mã khởi động máy tính
       •   Địa chỉ trả về sau hoàn tất hàm
       •   Các thanh ghi
NHỮNG phát biểu nào sau đây là đúng khi nói về tiến trình?
    •  Tiến trình được lưu trên bộ nhớ chinh
    •  Tiến trình là thực thể chủ động
    •  Tiến trình không gây ra thay đổi gì trên hệ thống máy tính
    •  Sau khi cài đặt xong, chương trình sẽ trở thành tiến trình
Biết đoạn chương trình trên là source code của chương trình tên là test. Nếu thực thi lệnh
./test He Dieu Hanh
thì chương trình sẽ ra gì?
Hello, He
Phát biểu sau Đúng (True) hay Sai (False)?
Một chương trình chỉ có thể tạo ra một tiến trình. False
Để tạo một tiến trình, KHÔNG cần phải trải qua bước nào sau đây?
      •   Khởi tạo khối dữ liệu Process Control Block (PCB)
      •   Khởi tạo khối thanh ghi cho tiến trình
      •   Cấp phát một định danh duy nhất cho tiến trình
      •   Cấp phát không gian nhớ để nạp tiến trình
Điền các trạng thái còn thiếu tương ứng với các thao tác sau?
Tên thao tác | Chuyển trạng thái
admit | New --> Ready
dispatch | Ready --> Running
interrupt | Running --> Ready
I/O or event wait | Running --> Waiting
I/O or event completion | Waiting --> Ready
exit | Running --> Terminated
Hoàn thành chuỗi chuyển trạng thái khi tiến trình bên cạnh được thực thi?
Sau khi kết thúc thì tiến trình khi chạy từ chương trình trên đã nằm trong
hàng đợi waiting bao nhiêu lần?
      •   3 lần
      •   1 lần
      •   4 lần
      •   2 lần
Cho đoạn chương trình như trong hình, hỏi sau khi kết thúc xong thì tiến
trình tạo ra từ chương trình trên đã ở các trạng thái sau bao nhiêu lần?
Trạng thái READY: 5 lần
Trạng thái RUNNING: 5 lần
Trạng thái WAITING: 4 lần
Kéo thả các trạng thái của tiến trình vào vị trí thích hợp trên sơ đồ?
Hoàn thành chuỗi chuyển trạng thái sau của một tiến trình:
Tìm phát biểu SAI trong các phát biểu sau?
  •   Có thể có nhiều process ở trạng thái READY tại một thời điểm
  •   Có thể có nhiều process ở trạng thái RUNNING trên mỗi nhân xử lý tại một thời điểm
  •   Tên của các trạng thái có thể khác nhau trên các hệ điều hành khác nhau nhưng bản
      chất trạng thái mà chúng mô tả là như nhau
  •   Khi tiến trình được cấp đủ tài nguyên và chỉ còn chờ CPU, tiến trình đó sẽ ở trạng thái
      READY
Process Control Block KHÔNG bao gồm CÁC thông tin nào sau đây?
      •    Số lượng tiến trình đang có trong bộ nhớ chính
      •    Thông tin quản lý bộ nhớ.
      •    Thông tin cấu hình hệ điều hành
      •    Trạng thái của tiến trình
      •    Program Counter
      •    Thông tin định thời tiến trình
      •    Thông tin trạng thái I/O
Tiến trình hướng I/O KHÔNG có đặc điểm nào sau đây?
  •   Ít tốn thời gian cho việc chuyển ngữ cảnh
  •   Dành nhiều thời gian xử lý I/O
  •   Là các tiến trình mang tính tương tác cao
  •   Yêu cầu thực thi CPU trong thời gian dài
CÁC bộ định thời nào sau đây có ảnh hưởng đến mức độ đa chương của hệ
thống?
  •   Bộ định thời ngắn
  •   Bộ định thời trung gian/vừa
  •   Bộ định thời dài
Sắp xếp các hoạt động sau theo đúng mô tả của quy trình chuyển ngữ cảnh?
Thực thi tiến trình A -->
Lưu trạng thái của tiến trình đang thực thi vào PCB A
-->
Nạp trạng thái của tiến trình chuẩn bị thực thi từ PCB B
--> Thực thi tiến trình B
Theo bạn, tiến trình nào đang gây ra sự bất hợp lý trong các hàng đợi trên
màn hình?
      •    7
      •    11
      •    4
      •    2
      •    19
      •    17
Ý nào sau đây KHÔNG phải là yêu cầu của hệ điều hành về quản lý tiến
trình?
  •   Hỗ trợ tiến trình sử dụng CPU lâu nhất có thể
  •   Cung cấp cơ chế giao tiếp và đồng bộ hoạt động các tiến trình
  •   Hỗ trợ sự thực thi luân phiên giữa nhiều tiến trình
  •   Phân phối tài nguyên hệ thống hợp lý
Điền vào chỗ trống:
Hệ điều hành tổ chức các hàng đợi định thời để sắp xếp thứ tự cho các tiến trình, phần tử
trong các hàng đợi định thời này chính là các PCB của các tiến trình.
Chọn phát biểu đúng khi nói về các hàng đợi định thời trong hệ điều hành?
  •   Hệ điều hành chỉ có 2 loại hàng đợi định thời là hàng đợi công việc và hàng đợi sẵn
      sàng
  •   Khi tiến trình muốn in một dòng dữ liệu ra màn hình, nó phải chờ trong hàng đợi công
      việc
  •   Hàng đợi thiết bị dùng để sắp xếp thứ tự các thiết bị sử dụng khi tiến trình thực thi
  •   Hệ điều hành sử dụng hàng đợi định thời để sắp xếp thứ tự thực thi của các tiến trình
Tiến trình sẽ vào trạng thái WAITING khi thực hiện NHỮNG việc nào sau đây?
  •   Tiến trình in dữ liệu ra màn hình
  •   Tiến trình thực thi sau khi tiến trình con thực thi
  •   Tiến trình hết thời gian time slice
  •   Một ngắt xuất hiện khi tiến trình thực thi
Ghép các bộ định thời vào đúng vị trí chức năng của nó?
Tiến trình hướng I/O KHÔNG có đặc điểm nào sau đây?
  •   Ít tốn thời gian cho việc chuyển ngữ cảnh
  •   Dành nhiều thời gian xử lý I/O
  •   Là các tiến trình mang tính tương tác cao
  •   Yêu cầu thực thi CPU trong thời gian dài
Kéo thả các tiến trình bên dưới để hoàn thành mối quan hệ của các tiến trình?
Khi tiến trình thực thi hàm fork(), một tiến trình con sẽ được tạo ra giống hệt
và chạy đồng thời cùng với tiến trình cha, như vậy làm thế nào có thể phân
biệt đâu là tiến trình cha, đâu là tiến trình con trong source code?
     •   Sau khi được tạo ra, tiến trình con chờ tiến trình cha kết thúc rồi mới thực thi
         tiếp
     •   Sau khi tạo ra tiến trình con, tiến trình cha chờ tiến trình con kết thúc rồi mới
         thực thi tiếp
     •   Dựa vào giá trị trả về của hàm fork()
Ghép các trường hợp tương ứng với kết quả thực thi của hàm fork()
Tìm nhận xét SAI trong các nhận xét sau khi nói về thao tác tạo tiến trình?
 •   Tiến trình con có thể được thực thi đồng thời cùng với tiến trình cha
 •   Tiến trình con có thể chia sẻ tài nguyên với tiến trình cha
 •   Tiến trình cha có thể đợi cho đến khi tiến trình con kết thúc rồi mới thực thi tiếp
 •   Tiến trình con luôn được nhận tài nguyên từ hệ điều hành
Khi sử dụng hàm fork() để tạo tiến trình con, nhận định nào sau đây là đúng?
 •   Tiến trình con copy toàn bộ các biến và giá trị của biến từ tiến trình cha
 •   Source code của tiến trình cha có thể khác so với source code của tiến trình cha
 •   Hàm fork() luôn thực hiện thành công và trả về 2 giá trị hoặc là lớn hơn 0 hoặc là bằng
     0
 •   Tiến trình con sau khi được tạo ra sẽ bắt đầu thực thi từ đầu chương trình
Tìm nhận xét SAI trong các nhận xét sau khi nói về thao tác tạo tiến trình?
 •   Tiến trình con có thể được thực thi đồng thời cùng với tiến trình cha
 •   Tiến trình con có thể chia sẻ tài nguyên với tiến trình cha
 •   Tiến trình cha có thể đợi cho đến khi tiến trình con kết thúc rồi mới thực thi tiếp
 •   Tiến trình con luôn được nhận tài nguyên từ hệ điều hành
Chọn phát biểu đúng khi nói về họ hàm exec()?
     •   Tiến trình gọi họ hàm exec() sẽ tạo ra một tiến trình mới thực thi
         công việc được chỉ định trong tham số của hàm này
     •   Hệ điều hành sẽ tạo ra một không gian địa chỉ mới cho tiến trình
         khi tiến trình thực thi họ hàm exec()
     •   Họ hàm exec() luôn có 03 đối số khi thực thi
     •   Công việc của tiến trình gọi họ hàm exec() sẽ bị thay thế bởi công
         việc khác được chỉ định trong tham số của hàm này
Cách tạo tiến trình nào sau đây sẽ giúp tiến trình con nhân bản không gian
địa chỉ của tiến trình cha?
     •   exec()
     •   fork()
NHỮNG phát biểu nào sau đây là đúng khi thực thi tiến trình được tạo ra từ
đoạn chương trình trên?
     •   Nếu giá trị của biến pid lớn hơn 0, đó chính là định danh của tiến trình con
     •   Nếu giá trị của biến pid lớn hơn 0, đó chính là giả trị được trả về cho tiến trình
         con
     •   Tiến trình con sẽ kết thúc ngay khi vừa được tạo ra
     •   Biến pid đại diện cho định danh của tiến trình
Trong hệ điều hành Linux, họ hàm exec() được sử dụng để?
     •   Gửi tiến hiệu dừng tới một tiến trình khác
     •   Thay thế không gian địa chỉ của tiến trình hiện tại bằng một chương trình mới
     •   Tạo một tiến trình mới bằng cách sao chép tiến trình cha
     •   Tạo ra một luồng mới trong tiến trình hiện tại
Điền vào chỗ trống:
Khi tiến trình được tạo ra từ chương trình bên cạnh thực thi, nó sẽ vào trạng
thái WAITING tổng cộng 3 lần (giả sử hàm fork() thực thi thành công).
Điền vào chỗ trống:
Khi thực hiện chương trình bên cạnh, tiến trình in ra:
1 chữ "hi"
2 chữ "hello"
4 chữ "bye"
Điền vào chỗ trống:
Khi tiến trình bị kết thúc, hệ điều hành sẽ thu hổi tất cả các tài nguyên của tiến trình (như
vùng nhớ, I/O,...)
Tiến trình có thể kết thúc do NHỮNG trường hợp nào sau đây?
  •    Người dùng bấm tổ hợp phím Ctrl+C khi chương trình đang thực thi
  •    Tiến trình gặp hàm exit().
  •    Tiến trình bị tiến trình con thực hiện thao tác kill
  •    Tiến trình bị tiến trình cha thực hiện thao tác abort(
Đâu là ưu thế của cơ chế giao tiếp truyền thông điệp (message passing) so
với cơ chế bộ nhớ được chia sẻ (shared memory)?
 •   Quá trình giao tiếp sử dụng cơ chế message passing không cần sự hỗ trợ của hệ điều
     hành trong khi shared memory lại cần
 •   Quá trình khởi tạo của cơ chế message passing đơn giản hơn shared memory
 •   Các tiến trình giao tiếp qua cơ chế message passing nhanh hơn khi giao tiếp qua cơ
     chế shared memory
Phát biểu nào sau đây là SAI khi nói về sự cộng tác giữa các tiến trình?
 •   Các tiến trình có thể hoàn toàn làm chủ trong việc cộng tác và giao tiếp với nhau
 •   Tiến trình cộng tác để chia sẻ dữ liệu với nhau
 •   Tiến trình có thể thực hiện các công việc chung thông qua việc cộng tác với nhau
 •   Việc công tác giữa các tiến trình có thể làm tăng tốc độ tính toán
Vấn đề nào sau đây có thể xảy ra khi thực hiện cơ chế giao tiếp shared
memory?
 •   Các tiến trình gặp khó khăn trong việc truy cập bộ nhớ dùng chung
 •   Quá trình các tiến trình truy cập vùng nhớ dùng chung có thể làm dữ liệu bị xung đột
 •   Bộ nhớ dùng chung không đủ lớn để chứa dữ liệu của cả 2 tiến trình
 •   Các tiến trình cần phải nhờ sự hỗ trợ của hệ điều hành để thực hiện quá trình giao tiếp