You are on page 1of 25

chương 5

Lập lịch CPU (CPU scheduling) là công việc gì?

A. Quản lý bộ nhớ của hệ thống

B. **Quyết định tiến trình nào sẽ được thực thi bởi CPU tiếp theo**

C. Quản lý đầu vào và đầu ra

D. Tối ưu hóa hiệu suất mạng

Bộ điều phối (Dispatcher) của hệ điều hành làm việc ở chế độ nào?

A. Chế độ người dùng

B. **Chế độ hệ thống**

C. Chế độ an toàn

D. Chế độ xử lý batch

Tiến trình ở trạng thái nào sẽ được bộ lập lịch CPU xem xét đến?

A. Terminated

B. **Ready**

C. Blocked

D. Running

Tiến trình là một chu kỳ của 2 thao tác nào?

A. **CPU execution và I/O wait**

B. Input và Output

C. Fetch và Execute

D. Start và Stop

Vì sao việc lập lịch CPU là quan trọng?


A. Để giảm chi phí hệ thống

B. Để tăng cường bảo mật

C. **Để tối ưu hóa sử dụng CPU và giảm thời gian chờ của tiến trình**

D. Để tối ưu hóa việc sử dụng bộ nhớ

Một trong những tiêu chí để đánh giá một bộ lập lịch CPU là

A. **Thời gian đáp ứng**

B. Dung lượng bộ nhớ sử dụng

C. Số lượng tiến trình hoàn thành mỗi giây

D. Tốc độ của CPU

Với những trường hợp nào thì bộ định thời CPU sẽ giữ quyền ưu tiên (preemptive)?

A. Khi tiến trình đang chạy hoàn thành công việc của mình

B. **Khi một tiến trình với ưu tiên cao hơn cần CPU**

C. Khi tiến trình đang chạy gặp lỗi

D. Khi không có tiến trình nào khác đang chờ

Với bộ lập lịch không có khả năng chiếm quyền ưu tiên thì khi nào tiến trình đang chạy trả lại
CPU?

A. Khi nó nhận được lệnh từ người dùng

B. **Khi nó hoàn thành CPU burst hoặc chuyển sang trạng thái chờ I/O**

C. Khi nó nhận được lệnh từ hệ điều hành

D. Khi nó gặp lỗi

Thời gian đáp ứng là gì?

A. Thời gian từ khi tiến trình bắt đầu cho đến khi nó kết thúc

B. **Thời gian từ khi tiến trình được gửi đến hệ thống cho đến khi bắt đầu được thực thi**
C. Thời gian CPU thực thi tiến trình

D. Thời gian tiến trình chờ đợi I/O

Vai trò của bộ điều phối (Dispatcher) là gì?

A. Quản lý bộ nhớ

B. **Chuyển CPU từ trạng thái chờ sang trạng thái chạy**

C. Quản lý đầu vào và đầu ra

D. Lập lịch các tiến trình

Hạn chế của giải thuật Đến trước phục vụ trước (FCFS) là gì?

A. **Có thể gây ra hiện tượng "convoy effect" khi tiến trình dài ngăn chặn các tiến trình ngắn**

B. Không thể sử dụng cho các hệ thống thời gian thực

C. Không thể sử dụng cho các hệ thống đa người dùng

D. Không thể sử dụng cho các hệ thống đa nhiệm

Hạn chế của giải thuật Tác vụ ngắn nhất trước (SJF) là gì?

A. Không thể dự đoán được thời gian chạy của tiến trình

B. **Có thể gây ra hiện tượng "starvation" cho các tiến trình có thời gian chạy dài**

C. Không thể sử dụng cho các hệ thống đơn nhiệm

D. Không thể sử dụng cho các hệ thống không có bộ nhớ đệm

Hạn chế của giải thuật Xoay vòng (RR) là gì?

A. Không thể sử dụng cho các hệ thống thời gian thực

B. **Thời gian chờ có thể tăng nếu quantum time được chọn không phù hợp**

C. Không thể sử dụng cho các hệ thống đa người dùng

D. Không thể sử dụng cho các hệ thống đa nhiệm


Hạn chế của giải thuật Độ ưu tiên (Priority) là gì?

A. Không thể sử dụng cho các hệ thống thời gian thực

B. **Có thể gây ra hiện tượng "starvation" cho các tiến trình có độ ưu tiên thấp**

C. Không thể sử dụng cho các hệ thống đơn nhiệm

D. Không thể sử dụng cho các hệ thống không có bộ nhớ đệm

Cho hệ thống có 3 tiến trình vào theo thứ tự là P1, P2 và P3; có CPU Burst lần lượt là 15 ms,
06 ms và 20 ms. Áp dụng chiến lược điều phối FCFS (Đến trước phục vụ trước). Thời gian chờ
trung bình khi thực hiện cả 3 tiến trình là bao nhiêu?

Cho hệ thống có 3 tiến trình vào theo thứ tự là P1, P2 và P3; có CPU Burst lần lượt là 24 ms,
06 ms và 10 ms. Áp dụng chiến lược điều phối FCFS (Đến trước phục vụ trước). Thời gian
quay vòng trung bình khi thực hiện cả 3 tiến trình là bao nhiêu?

Giữ quyền ưu tiên (Preemptive) là khả năng gì của bộ điều phối?

A. Khả năng không cho tiến trình nào khác chạy

B. **Khả năng ngắt và lấy CPU từ tiến trình đang chạy nếu có tiến trình ưu tiên cao hơn cần
CPU**

C. Khả năng giữ tiến trình đang chạy cho đến khi nó hoàn thành

D. Khả năng không cho tiến trình nào khác sử dụng tài nguyên

Trong một hệ điều hành sử dụng giải thuật định thời Round Robin với quantum time/ time slide
là k (đơn vị thời gian); có n tiến trình đang sẵn sàng. Thời gian chờ giữa 2 lần gọi vào CPU liên
tiếp nhau của một tiến trình bất kỳ sẽ là bao nhiêu?

A. **(n-1) * k**

B. n * k

C. k / n
D. k – n

Chương 4

Khái niệm “Tiểu trình” (hay còn gọi là Luồng, Thread) là gì?

A. Một chương trình con

B. Một phần của tiến trình

C. **Một đơn vị cơ bản của việc thực thi chương trình, có thể chạy độc lập và chia sẻ tài
nguyên với các tiểu trình khác trong cùng một tiến trình**

D. Một tập hợp các lệnh máy tính

Thư viện lập trình đa luồng trên Linux là gì?

A. Java Thread Library

B. Windows Thread Library

C. **POSIX Threads (pthreads)**

D. C++11 Threads

Khuyết điểm của tiểu trình là gì?

A. **Dễ gây ra các vấn đề về đồng bộ hóa và an toàn dữ liệu**

B. Không thể chia sẻ tài nguyên

C. Không thể chạy độc lập

D. Tốn nhiều tài nguyên hệ thống

Ngoài các tài nguyên chia sẻ, tiểu trình có dữ liệu nào riêng?

A. Không, tiểu trình không có dữ liệu riêng

B. **Có, bao gồm bộ đếm chương trình, thanh ghi và ngăn xếp (stack)**

C. Chỉ có bộ nhớ riêng

D. Chỉ có nguồn tài nguyên riêng


Một lợi điểm của chương trình đa luồng so với đơn luồng thể hiện ở đâu?

A. Tốn nhiều tài nguyên hơn

B. **Cải thiện hiệu suất bằng cách tận dụng tốt hơn các tài nguyên CPU**

C. Dễ lập trình hơn

D. An toàn dữ liệu tốt hơn

Một khó khăn của chương trình đa luồng so với đơn luồng thể hiện ở đâu?

A. Không thể chạy đồng thời

B. **Cần phải quản lý đồng bộ hóa và tránh tình trạng đua tranh tài nguyên**

C. Không thể chia sẻ tài nguyên

D. Không thể tương tác với hệ điều hành

Thách thức cho lập trình viên trong viết các chương trình đa luồng bao gồm những gì?

A. **Quản lý đồng bộ hóa, tránh deadlock và race conditions**

B. Tìm kiếm tài nguyên

C. Viết mã nguồn

D. Tối ưu hóa bộ nhớ

Mô hình nào ánh xạ giữa tiểu trình mức người dùng và tiểu trình mức nhân là không tồn tại?

A. One-to-one

B. Many-to-one

C. Many-to-many

D. **One-to-many**

Khả năng đặc trưng của một hệ thống xử lý song song (parallelism) là gì?

A. **Thực hiện nhiều tác vụ cùng một lúc trên nhiều bộ xử lý**
B. Thực hiện một tác vụ tại một thời điểm

C. Thực hiện nhiều tác vụ trên một bộ xử lý

D. Thực hiện một tác vụ trên nhiều bộ xử lý

Khả năng đặc trưng của một hệ thống xử lý đồng thời (concurrency) là gì?

A. Thực hiện nhiều tác vụ cùng một lúc trên nhiều bộ xử lý

B. **Thực hiện nhiều tác vụ trong cùng một khoảng thời gian nhưng không nhất thiết cùng lúc**

C. Thực hiện một tác vụ tại một thời điểm

D. Thực hiện một tác vụ trên nhiều bộ xử lý

Tính toán song song dữ liệu mô tả hệ thống nào sau đây?

A. **Hệ thống có khả năng xử lý nhiều phần dữ liệu cùng một lúc**

B. Hệ thống chỉ xử lý một phần dữ liệu tại một thời điểm

C. Hệ thống xử lý dữ liệu một cách tuần tự

D. Hệ thống không thể xử lý dữ liệu

Một chương trình có đoạn mã chứa a% song song và được di chuyển từ vi xử lý đơn nhân
sang vi xử lý i nhân. Hệ số tăng tốc mà chương trình đạt được là bao nhiêu?

A. i / a

B. **1 / (1 - a + a/i)**

C. a * i

D. i - a

Mô hình ánh xạ tiểu trình mức người dùng vào tiểu trình mức nhân nào thông dụng nhất và
đang dùng trong Windows lẫn Linux?

A. Many-to-one

B. **One-to-one**
C. Many-to-many

D. One-to-many

Khuyết điểm của ánh xạ “One-to-one” là gì?

A. Không thể chạy đồng thời nhiều tiểu trình

B. **Có thể tốn nhiều tài nguyên hệ thống nếu có quá nhiều tiểu trình**

C. Không thể chia sẻ tài nguyên

D. Khó khăn trong việc quản lý đồng bộ hóa

Bài toán nào sau đây không thể áp dụng giải pháp lập trình đa luồng?

A. **Bài toán yêu cầu tính toán tuần tự không thể phân chia**

B. Bài toán tìm kiếm

C. Bài toán sắp xếp

D. Bài toán nhân ma trận

Bài toán sắp xếp trộn (Merge Sort) trên một mảng số nguyên có thể cải tiến hiệu suất bằng
cách nào hay không?

A. Không thể cải tiến

B. **Sử dụng đa luồng để sắp xếp đồng thời các phần của mảng**

C. Sử dụng đa quá trình

D. Sử dụng một luồng duy nhất

Ứng dụng nhân ma trận được hiện thực bằng một tiến trình đa luồng có tính chất nào sau đây?

A. Không thể chạy đồng thời

B. **Có thể phân chia công việc nhân các hàng và cột vào các luồng khác nhau để tăng tốc độ
tính toán**

C. Tốn nhiều tài nguyên hơn so với tiến trình đơn luồng
D. Không thể chia sẻ tài nguyên

Khi một tiểu trình mục tiêu chấm dứt trì hoãn (deferred cancellation) thì nó phải kết thúc khi
nào?

A. Ngay lập tức sau khi nhận lệnh chấm dứt

B. **Khi nó đạt đến một điểm kiểm tra chấm dứt cụ thể trong mã nguồn**

C. Khi hệ điều hành quyết định

D. Khi tất cả các tiểu trình khác đã kết thúc

Chương 3

Khái niệm “Tiến trình” (Process) là gì?

A. Một chương trình đang chạy trên máy tính

B. **Một đơn vị cơ bản của việc thực thi chương trình, bao gồm mã chương trình, bộ nhớ và
trạng thái**

C. Một tập hợp các lệnh máy tính

D. Một file thực thi

Bố cục trong bộ nhớ của một tiến trình bao gồm những gì?

A. Chỉ mã nguồn

B. Chỉ dữ liệu

C. **Mã thực thi, dữ liệu, và ngăn xếp (stack)**

D. Chỉ ngăn xếp (stack)

IPC là viết tắt của thuật ngữ nào?

A. Internal Process Communication

B. **Inter-Process Communication**

C. International Protocol Communication

D. Integrated Process Control


Để tạo tiến trình, hệ thống UNIX sử dụng lời gọi nào sau đây?

A. create()

B. **fork()**

C. exec()

D. spawn()

Liên kết mà 2 tiến trình P và Q sử dụng để gửi nhận các thông điệp được gọi là gì?

A. **Channel**

B. Pipe

C. Socket

D. Port

Đường ống (Pipe) là gì?

A. Một kỹ thuật lập trình

B. Một công cụ quản lý tệp

C. **Một cơ chế IPC cho phép truyền dữ liệu từ tiến trình này sang tiến trình khác**

D. Một loại kết nối mạng

Phương pháp nào được dùng để thiết lập IPC?

A. Multithreading

B. **Pipes, sockets, shared memory, và message queues**

C. Polling

D. Interrupts

Khi nào một chương trình trở thành một tiến trình?
A. Khi nó được viết ra

B. Khi nó được lưu trữ trên đĩa

C. **Khi nó được hệ điều hành nạp vào bộ nhớ và bắt đầu thực thi**

D. Khi nó được biên dịch thành mã máy

Trong giao diện dòng lệnh của Ubuntu, làm thế nào để khởi chạy một chương trình?

A. Nhấp đúp vào biểu tượng chương trình

B. **Gõ tên chương trình và nhấn Enter**

C. Sử dụng Task Manager

D. Mở Control Panel

Một bộ IPC phải cung cấp tối thiểu những thao tác nào trên các thông điệp?

A. **Gửi và nhận**

B. Xóa và tạo mới

C. Sao chép và dán

D. Mở và đóng

Khi nào Hệ điều hành thực hiện Chuyển ngữ cảnh (Context switch)?

A. Khi một tiến trình hoàn thành công việc của mình

B. **Khi một tiến trình bị chặn hoặc một tiến trình khác có ưu tiên cao hơn cần CPU**

C. Khi hệ thống khởi động

D. Khi hệ thống bị lỗi

Phát biểu nào đúng về giao tiếp trực tiếp (direct communication)?

A. Các tiến trình không biết địa chỉ của nhau

B. **Các tiến trình gửi và nhận thông điệp bằng cách chỉ định địa chỉ của tiến trình đích**
C. Các tiến trình giao tiếp qua một trung gian

D. Các tiến trình giao tiếp không cần đến hệ điều hành

Để cho 2 tiến trình P và Q giao tiếp gián tiếp (indirect communication) với nhau thì cần gì?

A. Một kết nối mạng

B. **Một khu vực lưu trữ chung như hàng đợi thông điệp**

C. Một file chung

D. Một bộ nhớ chia sẻ

Kỹ thuật gửi không-chặn giữa các tiến trình (non-blocking send) có tính chất nào sau đây?

A. Tiến trình gửi phải chờ đợi cho đến khi thông điệp được nhận

B. **Tiến trình gửi có thể tiếp tục thực hiện mà không cần chờ đợi**

C. Tiến trình nhận phải chờ đợi thông điệp

D. Tiến trình nhận không cần chờ đợi thông điệp

Khi sử dụng hàng chờ kích thước Zero (Zero capacity queue), phát biểu nào đúng?

A. Thông điệp có thể được lưu trữ trong hàng đợi

B. **Tiến trình gửi phải chờ đợi cho đến khi tiến trình nhận sẵn sàng nhận thông điệp**

C. Tiến trình nhận có thể lấy thông điệp bất cứ lúc nào

D. Hàng đợi có thể chứa nhiều thông điệp cùng một lúc

Hàng chờ kích thước Zero (Zero capacity queue) được sử dụng ở đâu?

A. Trong hệ thống phân tán

B. **Trong giao tiếp đồng bộ**

C. Trong giao tiếp không đồng bộ

D. Trong hệ thống lưu trữ đám mây


Dung lượng có hạn hoặc dung lượng vô hạn là một tính chất của đối tượng nào sau đây?

A. CPU

B. Bộ nhớ chính

C. **Hàng đợi thông điệp (Message queue)**

D. Ổ cứng

Khi một tiến trình cha gọi fork() sinh ra tiến trình con, tiến trình con thừa kế cái gì từ cha nó?

A. Chỉ mã nguồn

B. **Bộ nhớ và nguồn tài nguyên**

C. Chỉ bộ nhớ

D. Chỉ nguồn tài nguyên

Nhiệm vụ của PCB (Process Control Block) là gì?

A. **Lưu trữ thông tin cần thiết để quản lý tiến trình**

B. Lưu trữ mã nguồn của tiến trình

C. Lưu trữ dữ liệu của tiến trình

D. Lưu trữ kết quả thực thi của tiến trình

Một tiến trình mang trạng thái “Ready” có thể chuyển sang trạng thái nào sau đây?

A. **Running**

B. Blocked

C. Terminated

D. New

Bước chuyển trạng thái nào sau đây là không tồn tại?
A. Từ Ready sang Running

B. Từ Running sang Blocked

C. **Từ Blocked trực tiếp sang Terminated mà không qua Ready**

D. Từ Running sang Ready

Hệ điều hành cần chuyển CPU đang xử lý tiến trình B sang xử lý cho tiến trình A. Hệ điều hành
phải làm công việc nào trước tiên?

A. **Lưu trạng thái của tiến trình B vào PCB của nó**

B. Xóa tiến trình B khỏi bộ nhớ

C. Tăng ưu tiên của tiến trình A

D. Giảm ưu tiên của tiến trình B

PCB (Process Control Block) của một tiến trình có đặc điểm gì sau đây?

A. Chứa mã nguồn của tiến trình

B. **Chứa thông tin về trạng thái, bộ đếm chương trình, bộ đăng ký CPU, và thông tin quản lý
bộ nhớ**

C. Chứa dữ liệu đầu vào của tiến trình

D. Chứa kết quả đầu ra của tiến trình

Các hàng đợi dành cho các tiến trình được xây dựng bằng cấu trúc dữ liệu nào?

A. Mảng

B. Cây

C. **Danh sách liên kết**

D. Bảng băm

Hai (2) hình thức giao tiếp phổ biến giữa server và client là gì?

A. Email và FTP
B. **Sockets và RPC (Remote Procedure Call)**

C. HTTP và HTTPS

D. TCP và UDP

Trong UNIX, đường ống loại nào được thiết kế cho giao tiếp giữa các tiến trình có quan hệ cha
– con?

A. Named pipe

B. **Anonymous pipe**

C. Half-duplex pipe

D. Full-duplex pipe

Có bao nhiêu tiến trình được tạo ra khi thực thi đoạn mã dưới đây, bao gồm cả tiến trình ban
đầu?

```c

int main() {

fork();

fork();

fork();

return 0;

```

A. 2

B. 4

C. **8**

D. 16

Mục tiêu và hạn chế của chuyển ngữ cảnh là gì?


A. **Mục tiêu là cho phép hệ điều hành chia sẻ CPU giữa nhiều tiến trình, hạn chế là tiêu tốn
thời gian CPU**

B. Mục tiêu là tăng tốc độ thực thi tiến trình, hạn chế là giảm bảo mật

C. Mục tiêu là giảm sử dụng bộ nhớ, hạn chế là tăng thời gian chờ

D. Mục tiêu là tăng cường đa nhiệm, hạn chế là giảm hiệu suất

Trong mã nguồn của tiến trình con, phát biểu nào sau đây đúng?

A. Tiến trình con không thể thực thi cùng một mã nguồn như tiến trình cha

B. **Tiến trình con bắt đầu thực thi từ điểm mà lời gọi fork() được thực hiện**

C. Tiến trình con phải được viết bằng một ngôn ngữ lập trình khác

D. Tiến trình con không có quyền truy cập vào các biến của tiến trình cha

Phát biểu nào đúng đối với cơ chế “đường ống” (Pipe) được sử dụng trong IPC?

A. Đường ống cho phép giao tiếp hai chiều giữa các tiến trình

B. **Đường ống là một cơ chế IPC cho phép truyền dữ liệu theo một hướng từ tiến trình này
sang tiến trình khác**

C. Đường ống chỉ có thể sử dụng trong giao tiếp giữa các tiến trình không có quan hệ cha-con

D. Đường ống không thể sử dụng để truyền dữ liệu lớn

Chương 2

System call (Lời gọi hệ thống) là gì?

A. Một chương trình con

B. **Một cơ chế để các chương trình ứng dụng yêu cầu dịch vụ từ hệ điều hành**

C. Một lỗi hệ thống

D. Một cơ chế bảo mật


Giao diện dòng lệnh, giao diện đồ hoạ hay màn hình cảm ứng được gọi chung là gì?

A. Phần cứng

B. **Giao diện người dùng (User Interface - UI)**

C. Hệ điều hành

D. Phần mềm ứng dụng

API của Linux là thư viện nào?

A. **GNU C Library (glibc)**

B. Java Development Kit (JDK)

C. Windows API

D. POSIX API

Dịch vụ của hệ điều hành là gì?

A. **Các chức năng cung cấp cho người dùng và chương trình ứng dụng**

B. Các chức năng quản lý phần cứng

C. Các chức năng bảo mật

D. Các chức năng mạng

Trình liên kết (Linker) là gì?

A. **Một công cụ dùng để kết hợp các tệp tin mã đối tượng thành một chương trình thực thi**

B. Một công cụ dùng để biên dịch mã nguồn

C. Một công cụ dùng để tạo mã đối tượng

D. Một công cụ dùng để phân tích cú pháp mã nguồn

Đối tượng nào sử dụng dịch vụ của hệ điều hành?

A. **Người dùng và chương trình ứng dụng**


B. Chỉ người dùng

C. Chỉ chương trình ứng dụng

D. Chỉ hệ thống mạng

Chức năng nào không phải là một chức năng cơ bản của một Hệ điều hành?

A. Quản lý tài nguyên

B. **Phát triển ứng dụng**

C. Quản lý bộ nhớ

D. Quản lý tệp tin

Chức năng nào sau đây là một trong những chức năng chính của một hệ điều hành?

A. **Quản lý tiến trình**

B. Tạo mã nguồn mở

C. Phân tích cú pháp mã nguồn

D. Tạo giao diện đồ hoạ

Nhóm các lời gọi thuộc bộ quản lý tiến trình là nhóm nào sau đây?

A. **System calls liên quan đến quản lý tiến trình**

B. System calls liên quan đến quản lý tệp tin

C. System calls liên quan đến quản lý bộ nhớ

D. System calls liên quan đến quản lý mạng

Các lập trình viên thông qua phương tiện gì để tiếp cận các lời gọi hệ thống?

A. **APIs và thư viện hệ thống**

B. Trình duyệt web

C. Giao diện dòng lệnh


D. Giao diện đồ hoạ

Vui lòng gửi yêu cầu mới để tiếp tục cung cấp các câu hỏi dạng multi choice với đáp án được in
đậm cho phần còn lại của danh sách.

Lợi điểm của phương pháp thiết kế nguyên khối (Monolithic) của một hệ điều hành là gì?

A. **Hiệu suất cao do tính chặt chẽ của các thành phần**

B. Dễ dàng quản lý và bảo trì

C. Tính linh hoạt và mở rộng cao

D. An toàn và bảo mật tốt hơn

Khuyết điểm của phương pháp thiết kế phân lớp (Layered) của một hệ điều hành là gì?

A. Dễ dàng quản lý và bảo trì

B. **Hiệu suất có thể bị giảm do giao tiếp giữa các lớp**

C. Tính linh hoạt và mở rộng cao

D. An toàn và bảo mật tốt hơn

Chức năng của các System Calls (Lời gọi hệ thống) là gì?

A. Tạo mã nguồn mở

B. Phân tích cú pháp mã nguồn

C. **Cung cấp cách thức để chương trình ứng dụng yêu cầu dịch vụ từ hệ điều hành**

D. Tạo giao diện đồ hoạ

Ứng dụng bị lỗi sẽ tạo ra tập tin nào để lưu lại bộ nhớ của tiến trình?

A. Log file

B. **Core dump file**


C. Backup file

D. Configuration file

Các máy ảo sử dụng phương pháp tiếp cận nào?

A. **Ảo hóa phần cứng**

B. Phân chia thời gian

C. Đa nhiệm

D. Đa người dùng

Phương pháp thiết kế nào mà cung cấp hầu hết các dịch vụ dưới dạng ứng dụng người dùng
và các tiến trình liên lạc bằng truyền thông điệp?

A. Nguyên khối (Monolithic)

B. Phân lớp (Layered)

C. **Microkernel**

D. Mô-đun (Modular)

Nhân hệ điều hành có vai trò gì?

A. **Quản lý tài nguyên hệ thống và cung cấp các dịch vụ cơ bản**

B. Phát triển ứng dụng

C. Tạo giao diện người dùng

D. Quản lý mạng

Mục tiêu của việc “Phân chia thời gian sử dụng CPU” cho các tiến trình là gì?

A. Tăng cường bảo mật

B. **Tối ưu hóa sử dụng CPU và giảm thời gian chờ của các tiến trình**

C. Tăng cường khả năng mở rộng

D. Giảm chi phí


Công việc nào sau đây phù hợp nhất khi phát triển một hệ điều hành theo định hướng người sử
dụng?

A. Tối ưu hóa cho máy chủ

B. **Tập trung vào giao diện người dùng và trải nghiệm người dùng**

C. Tối ưu hóa cho tính toán khoa học

D. Tối ưu hóa cho mạng và truyền thông

Chương 1

1. Hệ điều hành có vai trò gì với các phần mềm?

A. Quản lý tài nguyên hệ thống

B. Cung cấp giao diện người dùng

C. Hỗ trợ phát triển phần mềm

D. **Tất cả các phương án trên**

2. Ngắt là gì?

A. Lỗi hệ thống

B. **Tín hiệu từ phần cứng hoặc phần mềm**

C. Quá trình khởi động lại máy tính

D. Cập nhật phần mềm

3. Ảo hoá là gì?

A. **Tạo ra môi trường ảo**

B. Lưu trữ dữ liệu trên đám mây

C. Chia sẻ tài nguyên hệ thống

D. Mô phỏng hệ điều hành


4. Mô hình một hệ thống máy tính có nhiều người dùng và sử dụng hệ điều hành gồm những
thành phần nào?

A. CPU, RAM, ổ cứng

B. Hệ điều hành, ứng dụng, người dùng

C. Máy chủ, máy trạm, mạng

D. **Tất cả các phương án trên**

5. Nhân (kernel) của hệ điều hành là gì?

A. Giao diện người dùng

B. **Phần mềm quản lý tài nguyên hệ thống**

C. Bộ nhớ chính

D. Ổ cứng

6. Hai chế độ (mode) hoạt động thông dụng nhất của các Hệ điều hành là chế độ nào?

A. **Chế độ người dùng và chế độ hệ thống**

B. Chế độ an toàn và chế độ nguy hiểm

C. Chế độ đơn nhiệm và chế độ đa nhiệm

D. Chế độ thời gian thực và chế độ ảo hoá

7. Các mục tiêu của hệ điều hành là gì?

A. Tối ưu hiệu suất hệ thống

B. Quản lý tài nguyên hệ thống

C. Cung cấp giao diện người dùng

D. **Tất cả các phương án trên**

8. Hệ điều hành có vai trò gì đối với các phần mềm ứng dụng chạy bên trong hệ thống?

A. Cung cấp tài nguyên cần thiết


B. Quản lý quyền truy cập

C. Điều phối hoạt động của ứng dụng

D. **Tất cả các phương án trên**

9. Với một hệ thống máy tính chạy hệ điều hành đa nhiệm, thì bộ nhớ chính sẽ chứa nội dung
gì?

A. Chỉ dữ liệu của một chương trình

B. **Dữ liệu của nhiều chương trình đang chạy**

C. Chỉ hệ điều hành

D. Chỉ ứng dụng đang sử dụng

10. Để bộ xử lý có thể đọc các lệnh của một chương trình và thực thi nó, các lệnh đó cần phải
lưu trữ ở đâu?

A. Trên ổ cứng

B. **Trong RAM**

C. Trên đám mây

D. Trên bộ nhớ ngoại vi

11. Để cho công việc của lập trình viên thuận lợi và hiệu quả, Hệ điều hành cần cung cấp cái
gì?

A. Công cụ lập trình

B. Tài liệu hướng dẫn

C. Hỗ trợ kỹ thuật

D. **Tất cả các phương án trên**

12. Các lệnh / chỉ thị đặc quyền (privilege instruction) có tính chất gì?

A. **Chỉ có thể thực hiện bởi hệ điều hành**

B. Chỉ có thể thực hiện bởi người dùng có quyền hạn cao
C. Chỉ có thể thực hiện bởi phần cứng

D. Chỉ có thể thực hiện bởi ứng dụng

13. GPL là gì?

A. **Giấy phép phần mềm tự do**

B. Giao thức lập trình

C. Giao diện lập trình ứng dụng

D. Giấy phép phần mềm độc quyền

14. Hệ điều hành quản lý bộ nhớ chính với các công việc bao gồm

A. Phân bổ bộ nhớ

B. Quản lý bộ nhớ ảo

C. Giải phóng bộ nhớ không sử dụng

D. **Tất cả các phương án trên**

15. “Người sử dụng được định danh bằng ID và mật khẩu, họ có hoặc không quyền chạy một
số chương trình”, là mô tả nhiệm của bộ quản lý nào bên trong hệ điều hành?

A. **Quản lý tài khoản người dùng**

B. Quản lý tài nguyên hệ thống

C. Quản lý bảo mật

D. Quản lý quyền truy cập

16. Môi trường điện toán máy khách – máy chủ (client – server) có đặc trưng gì?

A. Máy khách và máy chủ là độc lập

B. Máy khách yêu cầu dịch vụ từ máy chủ

C. Máy chủ cung cấp dịch vụ cho nhiều máy khách

D. **Tất cả các phương án trên**


17. Mối quan hệ của đa nhiệm và đa chương có thể mô tả như thế nào?

A. **Đa nhiệm cho phép chạy nhiều chương trình cùng một lúc**

B. Đa chương cho phép chạy nhiều nhiệm vụ cùng một lúc

C. Đa nhiệm và đa chương là hai khái niệm không liên quan

D. Đa nhiệm và đa chương là hai khái niệm giống nhau

18. Khó khăn chủ yếu mà lập trình viên phải đối mặt khi lập trình một hệ điều hành trong môi
trường thời gian thực là gì?

A. Quản lý bộ nhớ

B. **Đảm bảo thời gian phản hồi nhanh**

C. Tối ưu hiệu suất hệ thống

D. Quản lý tài nguyên hệ thống

19. Hệ điều hành thời gian thực (Real time OS) có đặc điểm gì?

A. Thời gian phản hồi nhanh

B. Hỗ trợ đa nhiệm

C. Quản lý tài nguyên hệ thống hiệu quả

D. **Tất cả các phương án trên**

20. GNU là gì?

A. **Hệ điều hành tự do**

B. Giao thức mạng

C. Giao diện người dùng đồ họa

D. Giấy phép phần mềm tự do

You might also like