Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Trắc nghiệm 7 8 9 HĐH

Total questions: 43

Worksheet time: 23mins

Name
Class
Date
1.

Cho kịch bản trên shell bash có tên run.sh, lệnh nào sau đây thêm quyền thực thi cho kịch bản?

a)

chown utx run.sh

b)

add utx run.sh

c)

chmod u+r+x run.sh

d)

chmod u+x run.sh

2.

Lệnh nào sau đây cho phép thực thi kịch bản run.sh trên shell bash KHÔNG đúng cách:

a)
b)
d)

sh < run.sh

3.

Trên hệ điều hành Ubuntu, một user đã tạo một file kịch bản có tên script1.sh trong thư mục hiện hành nhưng khi thực thi bằng lệnh ./script1.sh thì hệ thống báo lỗi không tìm thấy file hoặc thông báo:"Permission denied". Nguyên nhân có thể là:

a)

Người dùng quên không tạo file

b)

Người dùng gõ sai tên file

c)

Người dùng chưa cấp quyền thực thi cho kịch bản

d)

File bị lỗi

4.

Đâu là khai báo và khởi tại mảng chứa danh sách các file và thư mục con trong thư mục /home/nmhung/exam đúng trong kịch bản shell bash trên ubuntu?

a)

files=/home/nmhung/exam/

b)

files=(/home/nmhung/exam/*)

c)

files=/home/nmhung

d)

files=(/nmhung/exam/*)

5.

Cho mảng trong shell bash trên Ubuntu được khai báo như sau:

arr=(Exam Desktop Downloads)

Để lấy danh sách các phần tử trong mảng sử dụng cú pháp nào? (chọn 2)

a)

${arr[@]}

b)

${arr[*]}

c)

len(arr)

d)

${arr[#]}

6.

Đâu là phép toán đúng để thêm một phần tử vào mảng arr trong shell bash trên Ubuntu?

a)

arr+=("item")

b)

arr.add("item")

c)

arr=arr + ("item")

d)

arr=+("item")

7.

Trên shell bash của hệ điều hành Ubuntu:
Hãy cho biết sau khi thực hiện kịch bản trên giá trị của mảng arr gồm các phần tử là:

a)

banana cherry mango

b)

apple banana mango

c)

apple banana cherry

d)

apple cherry mango

8.

Trên hệ điều hành Ubuntu, đâu KHÔNG phải là ưu điểm của kịch bản shell (shell script) là:

a)

Một tập các lệnh trong kịch bản có thể thực thi nhiều lần mà không cần gõ lại

b)

Tiết kiệm thời gian gõ lệnh thủ công

c)

Giúp thực thi tự động một tập các lệnh theo một trình tự nhất định

d)

Giúp thực thi các lệnh nhanh hơn

9.

Đâu là khai báo và khởi tạo mảng gồm 4 phần tử đúng trong kịch bản shell bash trên Ubuntu? (chọn 2)

a)

arr=(exam  bt Desktop Downloads)

b)

arr=("exam" "bt" "Desktop" "Downloads")

c)

arr=[exam bt Desktop Downloads]

d)

arr=(exam, bt, Desktop, Downloads)

10.

Cho danh sách các tiến trình và thời gian thực thi tương ứng trong bảng sau:

Nếu bộ lập lịch sử dụng chiến lược công việc ngắn nhất thì tiến trình nào được thực thi đầu tiên?

Giả sử, tất cả các tiến trình đều vào danh sách sẵn sàng cùng một thời điểm.

a)

P1

b)

P2

c)

P3

d)

P4

11.

Cho danh sách các tiến trình và thời gian thực thi tương ứng trong bảng sau:

Nếu bộ lập lịch sử dụng chiến lược công việc ngắn nhất thì tiến trình nào được thực thi cuối cùng?

Giả sử, tất cả các tiến trình đều vào danh sách sẵn sàng cùng một thời điểm.

a)

P1

b)

P2

c)

P3

d)

P4

12.

Nếu một hệ thống gồm các công việc được xử lý theo lô và không có tương tác với môi trường bên ngoài thì nên sử dụng thuật toán lập lịch nào?

a)

Công việc ngắn nhất (Shortest Job First)

b)

Hàng đợi đa mức (Multiple Queues)

c)

Xoay vòng (Round-Robin)

d)

Ưu tiên (Priority)

13.

Nếu các tiến trình được thực thi luân phiên nhau với một khoảng thời gian đều đặn thì bộ lập lịch sử dụng thuật toán nào?

a)

Công việc ngắn nhất (Shortest Job First)

b)

Dựa vào độ ưu tiên (Priority)

c)

Hàng đợi đa mức (Multiple Queues)

d)

Xoay vòng (Round-Robin)

14.

Cho hình ảnh hệ điều hành cấp phát bộ nhớ cho tiến trình như hình dưới đây. Khi thực thi chương trình, các biến toàn cục được cấp phát trong vùng nhớ nào?

a)

heap

b)

stack

c)

code

d)

data

15.

Trong quá trình thực thi một tiến trình, những vùng nhớ nào được cấp phát cho tiến trình này có kích thước KHÔNG cố định? (chọn 2)

a)

code

b)

data

c)

stack

d)

heap

16.

: Giả sử các tiến trình được phân vào các lớp hàng đợi với các thuật toán lập lịch như sau: Nếu người sử dụng chạy một chương trình chơi Game thì sẽ được xếp vào hàng đợi nào?

a)

Q1

b)

Q2

c)

Q3

17.

Nếu CPU lựa chọn các tiến trình để thực thi theo thứ tự ưu tiên được xác định trước thì bộ lập lịch sử dụng thuật toán nào?

a)

Dựa vào Độ ưu tiên (Priority)

b)

Xoay vòng (Round-Robin)

c)

Đa hàng đợi (Multiple Queues)

d)

Công việc ngắn nhất (Shortest Job First)

18.

Tiến trình là gì?

a)

Một thiết bị được cắm vào máy tính (ví dụ chuột)

b)

Một file chương trình được tải về nhưng chưa được cài đặt

c)

Một chương trình ứng dụng được cài đặt trên máy tính

d)

Một chuong trình được thực thi bởi CPU

19.

Khi một người dùng chạy một chương trình ứng dụng 2 lần riêng biệt (Mở 2 cửa sổ riêng biệt) thì bộ nhớ của 2 chương trình được cấp phát trong bộ nhớ RAM như thế nào?

a)

Vung nhớ code dùng cho 2 tiến trình, các vung data heap, stack là riêng biệt

b)

Các vùng nhớ heap, stack, data của mỗi tiến trình là dùng chung

c)

Các vùng nhớ code, data dùng chung cho 2 tiến trình, các vùng heap, stack là riêng biệt

d)

Các vùng nhớ heap, stack, code, data của mỗi tiến trình là riêng biệt

20.

API nào được dùng đẻ tạo tiến trình trong Windows?

a)

Create Thread()

b)

CreatProcess()

c)

StarProcess()

d)

InitProcess()

21.

API nào sau đây được sử dụng để đợi trên Mutex khi tiến trình muốn truy cập vào vùng tài nguyên dùng chung?

a)

ReleaseMutex()

b)

WaitForSingleObject()

c)

CreateMutex()

d)

CloseHandle()

22.

Hậu quả của việc hủy tiến trình bất ngờ là gì?

a)

Mất dữ liệu, rò rỉ bộ nhớ

b)

CPU bị giảm hiệu suất ngay lập tức

c)

Hệ điều hành tự động phục hồi tiến trình

d)

Tiến trình được lưu lại để chạy lần sau

23.

Khi sử dụng API SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS) cho một tiến trình, điều gì xảy ra?

a)

Tiến trình chuyển sang trạng thái dừng

b)

Tiến trình bị hủy ngay lập tức

c)

Tiến trình được ưu tiên sử dụng CPU nhiều hơn

d)

Tiến trình bị giảm quyền truy cập CPU

24.

Việc rò rỉ bộ nhớ thường xảy ra ở vùng nhớ nào nhất khi cấp phát cho tiến trình?

a)

Stack

b)

Heap

c)

Code

d)

Data

25.

Hằng số nào thể hiện mức độ ưu tiên cao nhất của một tiến trình?

a)

ABOVE_NORMAL_PRIORITY_CLASS

b)

NORMAL_PRIORITY_CLASS

c)

IDLE_PRIORITY_CLASS

d)

HIGH_PRIORITY_CLASS

26.

Công cụ nào sau đây có thể sử dụng để quan sát các vùng nhớ cho từng tiến trình?

a)

Resource Monitor

b)

Task Manager

c)

VMMap

d)

Windows Memory Diagnostic

27.

Điều gì xảy ra khi một chương trình ghi vào vùng nhớ chưa được cấp phát?

a)

Chương trình chạy nhanh hơn

b)

Hệ điều hành tự động cấp phát vùng nhớ

c)

Lỗi lỗi truy cập bộ nhớ không hợp lệ

d)

Không có vấn đề gì xảy ra

28.

Lệnh nào sau đây có thể gây dò rỉ bộ nhớ?

a)

int x = 10;

b)

int* heap = (int*)malloc(10 * sizeof(int));

c)

char ch = 'A';

d)

float y = 2.5;

29.

API nào sau đây được sử dụng để tiến trình giải phóng các tài nguyên được bảo vệ Mutex?

a)

ReleaseMutex()

b)

WaitForSingleObject()

c)

SetPriorityClass()

d)

CloseHandle()

30.

Hiện tượng tràn bộ nhớ xảy ra trong trường hợp nào sau đây:

a)

Tiến trình truy cập ra ngoài phạm vi của mảng

b)

Tiến trình truy xuất đến địa chỉ bộ nhớ chưa được cấp phát

c)

Một vòng lặp chạy vô hạn không giải phóng bộ nhớ

d)

Tiến trình ghi dữ liệu vào vùng nhớ có kích thước nhỏ hơn số byte cần ghi

31.

Tại sao việc thay đổi độ ưu tiên của tiến trình là quan trọng?

a)

Giúp tiến trình sử dụng ít RAM hơn

b)

Giúp tiến trình chạy nhanh hơn mọi lúc

c)

Giúp CPU hiệu quả hơn, tăng hiệu suất xử lý các chương trình quan trọng

d)

Giảm xung đột giữa tiến trình và hệ điều hành

32.

Hàm nào được sử dụng để hủy tiến trình trong Windows?

a)

TerminateProcess()

b)

ExitProcess()

c)

CloseProcess()

d)

KillProcess()

33.

Đâu là các vấn đề về bộ nhớ mà người lập trình cần chú ý viết một chương trình (chọn 2)?

a)

Vấn đề về khởi tạo giá trị cho các biến toàn cục

b)

Vấn đề rò rỉ bộ nhớ

c)

Vấn đề tràn bộ nhớ

d)

Vấn đề về khởi tạo giá trị cho các biến cục bộ

34.

Hãy cho biết đoạn code dùng để làm gì?

a)

Tạo một tiến trình notepad.exe trong Windows

b)

Thay đổi độ ưu tiên của tiến trình đang chạy (notepad.exe) trong Windows

c)

Đồng bộ giữa hai tiến trình notepad.exe trong Windows

d)

Hủy một tiến trình đang chạy (notepad.exe) trong Windows

35.
a)

Có, vì con trỏ chưa được giải phóng khi kết thúc chương trình

b)

Không, vì không có sự cấp phát bộ nhớ nào

c)

Có, nhưng chỉ khi chương trình chạy lâu dài

d)

Không vì con trỏ đã được giải phóng khi kết thúc chương trình

36.

Chương trình sau có thể dẫn đến lỗi gì?

a)

Lỗi tràn bộ nhớ (Stack Overflow)

b)

Không có vấn đề về bộ nhớ nhưng chạy vô hạn

c)

Không có lỗi gì

d)

Lỗi rò rỉ bộ nhớ

37.

Chương trình sau có thể gây ra lỗi gì?

a)

Không có lỗi gì

b)

Rò rỉ bộ nhớ (Memory Leak)

c)

Tràn bộ nhớ (Buffer Overflow)

d)

Truy cập bộ nhớ không hợp lệ (Segmentation fault)f

38.
a)

Đồng bộ giữa hai tiến trình chạy trong Windows

b)

Thay đổi độ ưu tiên của tiến trình đang chạy trong Windows

c)

Hủy một tiến trình đang chạy trong Windows

d)

Tạo một tiến trình cho một ứng dụng bất kỳ trong Windows

39.
a)

Tràn bộ nhớ (Buffer Overflow)

b)

Rò rỉ bộ nhớ

c)

Không có lỗi

d)

Truy cập bộ nhớ không hợp lệ (Segmentation fault)

40.
a)

Tràn bộ nhớ (Stack Overflow)

b)

Không có lỗi gì

c)

Rò rỉ bộ nhớ (Memory leak)

d)

Truy cập bộ nhớ không hợp lệ (Segmentation fault)

41.
a)

Đồng bộ giữa các tiến trình chạy trong Windows

b)

Thay đổi độ ưu tiên của tiến trình đang chạy trong Windows

c)

Tạo một tiến trình cho một ứng dụng bất kỳ trong Windows

d)

Hủy một tiến trình đang chạy trong Windows

42.
a)

Thay đổi độ ưu tiên của tiến trình đang chạy dựa vào Handle

b)

Hủy một tiến trình đang chạy trong Windows dựa vào Handle

c)

Đồng bộ giữa hai tiến trình chạy trong Windows dựa vào Handle

d)

Tạo một tiến trình cho một ứng dụng bất kỳ trong Windows

43.
a)

Có, xảy ra lỗi tràn bộ nhớ

b)

Có, xảy ra vấn đề tranh chấp tài nguyên

c)

Có, xảy ra rò rỉ bộ nhớ

d)

Không, chương trình chạy bình thường