Câu hỏi: CSI106 - Phần 6: Hệ điều hành
36 câu trắc nghiệm kèm lời giải của môn Introduction to Computer Science - CSI106, xếp theo thứ tự nhập vào ngân hàng. Trang 2/2 — câu 21–36.
Danh sách câu hỏi
36/36 câuHết danh sách
21What is the fundamental difference in memory usage between monoprogramming and multiprogramming?4 lựa chọn
AMonoprogramming uses virtual memory, while multiprogramming does not
BMonoprogramming dedicates most memory to one program, while multiprogramming allows multiple programs concurrently.
CMultiprogramming loads programs entirely into memory, while monoprogramming uses demand paging
DMonoprogramming always stores programs on disk, multiprogramming in RAM
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Monoprogramming dedicates most memory to one program, while multiprogramming allows multiple programs concurrently.". Đơn chương trình dành gần như toàn bộ bộ nhớ chính cho một chương trình, chạy xong mới nạp chương trình kế tiếp; đa chương trình chia bộ nhớ cho nhiều chương trình cùng nằm trong đó và luân phiên dùng bộ xử lý, nhờ vậy lấp được thời gian chờ vào ra. "Monoprogramming uses virtual memory, while multiprogramming does not" sai vì bộ nhớ ảo ra đời để phục vụ đa chương trình. "Multiprogramming loads programs entirely into memory, while monoprogramming uses demand paging" sai vì nói ngược: nạp trọn chương trình vào bộ nhớ là cách của đơn chương trình, còn phân trang theo yêu cầu là kỹ thuật của đa chương trình. "Monoprogramming always stores programs on disk, multiprogramming in RAM" sai vì chương trình nào cũng phải vào bộ nhớ chính mới thi hành được, kể cả trong đơn chương trình.
AReady state
BHold state
CRunning state
DTerminated state
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Ready state". Job còn chờ bên ngoài bộ nhớ nằm ở trạng thái giữ; khi hệ điều hành cấp đủ bộ nhớ và nạp nó vào, nó trở thành tiến trình ở trạng thái sẵn sàng, tức đã đủ điều kiện chạy và chỉ còn chờ bộ định thời cấp bộ xử lý. "Hold state" sai vì đó là trạng thái trước khi được nạp, lúc job còn xếp hàng chờ tài nguyên. "Running state" sai vì tiến trình chỉ bước vào trạng thái đang chạy khi thực sự được cấp bộ xử lý, mà nhiều tiến trình cùng sẵn sàng thì mỗi thời điểm trên một lõi chỉ một tiến trình được chạy. "Terminated state" sai vì đó là trạng thái cuối, khi tiến trình đã chạy xong hoặc bị huỷ và tài nguyên được thu hồi.
AIt loads only the required pages as needed
BIt requires the entire program to be in memory
CIt uses variable-sized memory sections
DIt prevents programs from being swapped
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It loads only the required pages as needed". Phân trang theo yêu cầu chỉ nạp vào bộ nhớ những trang đang thực sự cần, các trang khác vẫn nằm trên đĩa và chỉ được mang vào khi xảy ra lỗi trang. Nhờ vậy chương trình bắt đầu chạy sớm hơn và một lượng bộ nhớ cho trước chứa được nhiều chương trình hơn. "It requires the entire program to be in memory" sai vì đòi cả chương trình phải ở trong bộ nhớ chính là cách làm của phân trang thông thường, đúng điều mà kỹ thuật này muốn tránh. "It uses variable-sized memory sections" sai vì khối có kích thước thay đổi là đặc điểm của phân đoạn; ở đây trang vẫn giữ kích thước cố định. "It prevents programs from being swapped" sai vì trang không hề được miễn thay ra, khi bộ nhớ thiếu chỗ hệ điều hành vẫn chọn trang để đẩy ra đĩa.
ATo organize files based on their content type
BTo store additional information about files, such as author, creation date, and keywords
CTo encrypt files for enhanced security
DTo compress files to save disk space
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To store additional information about files, such as author, creation date, and keywords". Trình quản lý tệp theo siêu dữ liệu lưu thêm các thông tin mô tả về tệp bên cạnh nội dung tệp, như tác giả, ngày tạo, ngày sửa, từ khoá hay nhãn; nhờ lớp mô tả đó người dùng tìm và sắp xếp tệp theo thuộc tính thay vì chỉ theo tên và vị trí thư mục. "To organize files based on their content type" sai vì gom tệp theo kiểu nội dung chỉ là một ứng dụng rút ra được từ siêu dữ liệu, chưa phải mục đích chính của cơ chế. "To encrypt files for enhanced security" sai vì mã hoá tệp là chức năng bảo mật, thực hiện trên chính nội dung chứ không phải trên thông tin mô tả. "To compress files to save disk space" sai vì nén tệp nhằm tiết kiệm dung lượng bằng cách biến đổi nội dung, hoàn toàn khác việc ghi thêm thông tin mô tả.
AManaging memory allocation for running processes
BInitializing the operating system into memory during startup
CScheduling processes for execution
DLoading device drivers
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Initializing the operating system into memory during startup". Bootstrapping là giai đoạn mồi máy: một đoạn mã nhỏ nằm sẵn trong ROM chạy trước, kiểm tra phần cứng rồi nạp phần cốt lõi của hệ điều hành từ đĩa vào bộ nhớ chính và trao quyền điều khiển cho nó, nhờ vậy hệ điều hành tự dựng được chính mình dù lúc đầu chưa có gì trong bộ nhớ. Phương án "Managing memory allocation for running processes" là công việc thường xuyên của bộ quản lý bộ nhớ sau khi hệ đã chạy, không phải bước mồi máy. Phương án "Scheduling processes for execution" là việc của bộ định thời, cũng chỉ diễn ra khi hệ điều hành đã nằm trong bộ nhớ. Phương án "Loading device drivers" có xảy ra trong tiến trình khởi động nhưng chỉ là một bước con, quá hẹp để định nghĩa bootstrapping.
26In a multiprogramming system, how are multiple programs typically managed in memory and executed?4 lựa chọn
AThey are loaded into memory simultaneously and executed concurrently.
BThey are loaded one after another sequentially.
CThey run sequentially, with each program completing before the next one starts.
DThey are stored in secondary storage until needed for execution.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "They are loaded into memory simultaneously and executed concurrently.". Đa chương nghĩa là nhiều chương trình cùng tồn tại trong bộ nhớ chính một lúc, mỗi chương trình chiếm một vùng riêng; khi một chương trình phải chờ thao tác vào ra, bộ xử lý chuyển ngay sang chương trình khác, nên tính theo thời gian người dùng cảm nhận thì chúng chạy xen kẽ và đồng hành. Phương án "They are loaded one after another sequentially." chỉ nói về thứ tự nạp và hàm ý mỗi lúc bộ nhớ chỉ giữ một chương trình, đánh mất đúng điểm cốt lõi. Phương án "They run sequentially, with each program completing before the next one starts." là mô tả của đơn chương, cách làm mà đa chương ra đời để thay thế. Phương án "They are stored in secondary storage until needed for execution." nói về chương trình còn nằm trên đĩa, chưa được nạp, nên không trả lời câu hỏi về cách quản lý trong bộ nhớ.
A
PagingB
SwappingC
SegmentationD
FragmentationLời giải
Mở trang câu hỏi này →Đáp án đúng: "Paging". Phân trang chia bộ nhớ vật lý thành các khung có kích thước bằng nhau và cố định, chia chương trình thành các trang cùng kích thước ấy, rồi nạp trang vào khung bất kỳ còn rỗng; nhờ các khối bằng nhau, hệ điều hành không bị kẹt những lỗ trống lẻ không ai dùng được. Phương án "Swapping" nói về việc chuyển cả một tiến trình giữa bộ nhớ chính và đĩa để nhường chỗ, không phải cách chia bộ nhớ thành khối. Phương án "Segmentation" cũng chia nhưng theo từng đoạn logic như mã, dữ liệu, ngăn xếp, và các đoạn có kích thước khác nhau, trái với điều kiện kích thước cố định. Phương án "Fragmentation" là tên của hiện tượng phân mảnh, tức hệ quả phát sinh khi cấp phát bộ nhớ, chứ không phải một cơ chế cấp phát.
AProcesses voluntarily yield control of the CPU.
BThe scheduler forcibly takes control of the CPU from running processes.
CProcesses are executed in a round-robin manner only.
DIt is exclusively used in real-time operating systems.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The scheduler forcibly takes control of the CPU from running processes.". Đa nhiệm có trưng dụng nghĩa là hệ điều hành chủ động lấy lại bộ xử lý khi lượng thời gian cấp cho tiến trình hết hoặc khi có tiến trình ưu tiên cao hơn sẵn sàng, nhờ đó một tiến trình hỏng hay vòng lặp vô tận cũng không treo được cả máy. Phương án "Processes voluntarily yield control of the CPU." mô tả đa nhiệm hợp tác, đúng kiểu không trưng dụng, nơi hệ điều hành phải đợi tiến trình tự nhường. Phương án "Processes are executed in a round-robin manner only." sai ở chữ chỉ: quay vòng là một thuật toán định thời có trưng dụng, nhưng trưng dụng còn dùng với định thời theo ưu tiên hay theo thời gian còn lại ngắn nhất. Phương án "It is exclusively used in real-time operating systems." bó hẹp sai, vì mọi hệ điều hành đa nhiệm phổ thông hiện nay đều trưng dụng.
A
lsB
psC
mvD
catLời giải
Mở trang câu hỏi này →Đáp án đúng: "ps". Lệnh này in danh sách tiến trình đang chạy cùng mã số và trạng thái của chúng, nhờ đó người dùng biết tiến trình nào tồn tại để theo dõi hay kết thúc, nên nó thuộc nhóm lệnh quản lý tiến trình trong UNIX. Phương án "ls" liệt kê nội dung thư mục, tức làm việc với hệ thống tệp chứ không dính tới tiến trình. Phương án "mv" di chuyển hoặc đổi tên tệp và thư mục, cũng là lệnh của hệ thống tệp. Phương án "cat" nối và in nội dung tệp ra đầu ra chuẩn, thường dùng để xem nhanh một tệp văn bản; nó đọc dữ liệu tĩnh trên đĩa, không cho biết gì về các chương trình đang thi hành trong bộ nhớ.
AConcurrent execution of multiple processes
BEfficient utilization of system resources
CDynamic allocation of memory
DShared memory space among processes
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Efficient utilization of system resources". Phải nói thẳng rằng đây là một câu hỏng của đề gốc: lựa chọn này chỉ chốt được bằng loại trừ, chứ bản thân nó không đúng với đơn chương. Cả ba lựa chọn sai đều là đặc trưng của đa chương nên bị loại chắc chắn: "Concurrent execution of multiple processes" đòi nhiều tiến trình chạy đồng hành, điều đơn chương không làm được vì bộ nhớ chỉ giữ một chương trình người dùng; "Dynamic allocation of memory" là cấp phát động để nhiều chương trình chia nhau bộ nhớ; "Shared memory space among processes" cũng đòi nhiều tiến trình cùng tồn tại mới có gì để chia sẻ. Cần biết thêm rằng đơn chương thực ra dùng tài nguyên kém hiệu quả, bộ xử lý ngồi không mỗi lần chương trình chờ vào ra, và chính nhược điểm đó mới là lý do đa chương ra đời.
31Which scheduling algorithm gives priority to processes with the shortest expected processing time?4 lựa chọn
AFirst-Come, First-Served (FCFS)
BShortest Job Next (SJN)
CRound-Robin (RR)
DPriority Scheduling
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Shortest Job Next (SJN)". Giải thuật này mỗi lần chọn tiến trình có thời gian xử lý dự kiến ngắn nhất trong số đang chờ, nhờ đó thời gian chờ trung bình nhỏ nhất, nhưng đổi lại cần ước lượng được độ dài công việc và dễ làm các công việc dài bị bỏ lại mãi. Phương án "First-Come, First-Served (FCFS)" phục vụ theo đúng thứ tự tới, không hề xét độ dài, nên một công việc rất dài đứng trước sẽ chặn cả hàng. Phương án "Round-Robin (RR)" chia cho mỗi tiến trình một lát thời gian bằng nhau rồi xoay vòng, nên nó công bằng theo lượt chứ không ưu tiên việc ngắn. Phương án "Priority Scheduling" chọn theo mức ưu tiên được gán từ bên ngoài, thường theo tầm quan trọng hoặc theo loại người dùng, và mức đó có thể không liên quan gì tới thời gian chạy dự kiến.
32Which component of an operating system is responsible for managing access to input/output devices?4 lựa chọn
AMemory manager
BProcess manager
CDevice manager
DFile manager
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Device manager". Bộ quản lý thiết bị theo dõi mọi thiết bị vào ra, xếp hàng các yêu cầu truy cập, quyết định yêu cầu nào được phục vụ trước và gọi trình điều khiển tương ứng, nhờ đó nhiều tiến trình cùng muốn dùng một máy in hay một ổ đĩa vẫn không tranh chấp. Phương án "Memory manager" lo cấp phát và thu hồi bộ nhớ cho các tiến trình, theo dõi vùng trống và dùng các kỹ thuật như phân trang. Phương án "Process manager" lo tạo, lập lịch, chuyển trạng thái và kết thúc tiến trình, cùng việc xử lý bế tắc giữa chúng. Phương án "File manager" lo tệp và thư mục ở mức logic: tên, quyền truy cập, cấu trúc cây và chỗ lưu dữ liệu trên thiết bị, nhưng khi cần thao tác thật trên thiết bị thì chính nó phải nhờ bộ quản lý thiết bị.
A
PartitioningB
PagingC
SegmentationD
SwappingLời giải
Mở trang câu hỏi này →Đáp án đúng: "Paging". Trong kỹ thuật phân trang, bộ nhớ vật lý được chia thành các phần bằng nhau gọi là khung, còn không gian của chương trình chia thành các trang cùng kích thước đó, nên mỗi trang nạp được vào bất kỳ khung trống nào mà không cần cả chương trình nằm liền một dải. Phương án "Partitioning" chia bộ nhớ thành các vùng để cấp cả khối cho một chương trình, các vùng có thể không bằng nhau và cách này sinh ra phân mảnh. Phương án "Segmentation" chia theo đơn vị logic của chương trình như mã, dữ liệu, ngăn xếp, nên các đoạn có kích thước khác nhau theo nhu cầu chứ không đều. Phương án "Swapping" không phải cách chia bộ nhớ mà là kỹ thuật đưa chương trình từ bộ nhớ ra thiết bị lưu trữ rồi nạp lại khi cần để nhiều chương trình dùng chung bộ nhớ hạn hẹp.
A
UNIXB
LinuxC
WindowsD
AndroidLời giải
Mở trang câu hỏi này →Đáp án đúng: "UNIX". Hệ này được thiết kế ngay từ đầu cho máy phục vụ nhiều người cùng đăng nhập: đa người dùng, đa nhiệm, cơ chế quyền theo chủ sở hữu và nhóm, tiến trình cách ly nhau, nên nó là hệ gắn với tiêu chí ổn định trong môi trường nhiều người dùng. Phải nói thẳng rằng đề gốc để lọt hai lựa chọn khó phân định, vì phương án "Linux" là hệ cùng họ, thừa hưởng đúng mô hình nhiều người dùng đó và cũng nổi tiếng ổn định; chốt theo bản gốc đặt ra chuẩn ấy chứ không phải vì bản sao kém hơn. Phương án "Windows" hướng tới máy cá nhân với giao diện đồ hoạ là trọng tâm, khả năng nhiều người dùng đến sau và phát triển mạnh ở dòng dành riêng cho máy phục vụ. Phương án "Android" là hệ cho thiết bị di động, mỗi máy gắn với một chủ và được tối giản để tiết kiệm pin, nên không nhắm tới môi trường nhiều người dùng.
ATo design and develop software applications and tools for various purposes
BTo manage system hardware and software resources efficiently
CTo establish connections and facilitate communication between multiple computers in a network
DTo encrypt user data and protect it from unauthorized access and threats
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To manage system hardware and software resources efficiently". Hệ điều hành là lớp trung gian giữa phần cứng và chương trình người dùng: nó cấp phát bộ xử lý, bộ nhớ, thiết bị vào ra và tệp cho các tiến trình, giải quyết tranh chấp giữa chúng, đồng thời che chi tiết phần cứng sau các hàm hệ thống. Phương án "To design and develop software applications and tools for various purposes" là việc của người lập trình cùng bộ công cụ phát triển, hệ điều hành chỉ cung cấp môi trường để các công cụ đó chạy. Phương án "To establish connections and facilitate communication between multiple computers in a network" là chức năng của chồng giao thức mạng và các dịch vụ mạng, một phần việc mà hệ điều hành hỗ trợ nhưng không phải mục đích tồn tại của nó. Phương án "To encrypt user data and protect it from unauthorized access and threats" chỉ là một phần trong nhiệm vụ bảo vệ, hẹp hơn nhiều so với việc quản lý toàn bộ tài nguyên.
36When a program is selected by the operating system and moved to the hold state, what does it become?4 lựa chọn
A
JobB
ProcessC
DeadlockD
PartitionLời giải
Mở trang câu hỏi này →Đáp án đúng: "Job". Theo cách gọi tên trạng thái trong môn này, một chương trình nằm trên bộ lưu trữ trở thành công việc từ lúc được hệ điều hành chọn và đưa vào trạng thái chờ, rồi vẫn là công việc suốt thời gian xếp hàng đợi được cấp bộ nhớ và tài nguyên. Phương án "Process" chỉ đúng ở bước sau: chương trình thành tiến trình khi đã được nạp vào bộ nhớ và cấp đủ tài nguyên để chuyển sang trạng thái sẵn sàng chạy, nên dùng từ này cho trạng thái chờ là đi trước một nhịp. Phương án "Deadlock" không phải một dạng của chương trình mà là tình trạng nhiều tiến trình giữ tài nguyên của nhau và chờ nhau vô tận. Phương án "Partition" là vùng bộ nhớ được chia ra để cấp cho một công việc, tức một thứ tài nguyên mà công việc chờ nhận, chứ không phải tên gọi của bản thân chương trình.