Font size
WorksheetsOntap_TN_NTMT
Total questions: 142
Worksheet time: 1hrs 11mins
Hệ thống máy tính là gì?
Thiết bị chỉ dùng để chơi game
Hệ thống gồm phần cứng và phần mềm hoạt động để xử lý dữ liệu
Một tập hợp thiết bị điện tử không liên quan
Công cụ chỉ để lưu trữ thông tin
Sơ đồ tổng quát của hệ thống máy tính gồm?
CPU – RAM – ROM
CPU – Bộ nhớ – Thiết bị vào/ra
Chuột – Bàn phím – Màn hình
Mạng LAN – Router – Switch
Thành phần chính của hệ thống máy tính là gì?
CPU, bộ nhớ, I/O
CPU, GPU, Sound card
Bàn phím, chuột, màn hình
Ram, ổ cứng, loa
Ứng dụng thực tế của hệ thống máy tính?
Giải trí, làm việc, học tập
Chỉ dùng trong nghiên cứu khoa học
Chỉ để xử lý văn bản
Không có ứng dụng thực tế
Thế hệ máy tính được phân loại dựa vào?
Hệ điều hành
Công nghệ phần cứng sử dụng (đèn điện tử, transistor, IC…)
Kích thước máy tính
Giá thành sản phẩm
Nguyên lý “Stored Program” là gì?
Chương trình được lưu trong ngăn kéo
Chương trình và dữ liệu được lưu trong bộ nhớ
Tách dữ liệu ra khỏi máy tính
CPU không thể truy cập bộ nhớ
Đặc điểm của máy tính Von Neumann là gì?
Dùng nhiều CPU chạy song song
Dùng chung bộ nhớ cho chương trình và dữ liệu
Không có ALU
Không hỗ trợ nhập/xuất dữ liệu
Nút thắt Von Neumann là gì?
Tốc độ CPU quá nhanh so với bộ nhớ và băng thông truyền dữ liệu thấp
CPU quá chậm
Bộ nhớ không hoạt động
Dữ liệu không thể được lưu trữ
Máy tính Harvard khác Von Neumann ở điểm nào?
Harvard dùng chung bộ nhớ cho dữ liệu và chương trình
Harvard tách riêng bộ nhớ chương trình và bộ nhớ dữ liệu
Harvard không có CPU
Harvard không có bộ nhớ
Ứng dụng của kiến trúc Von Neumann?
Dùng trong đa số máy tính cá nhân hiện nay
Chỉ dùng trong robot
Chỉ dùng trong máy tính cổ
Không còn được sử dụng nữa
Kiến trúc máy tính giống Von Neumann được dùng trong smartphone là gì?
x86
MIPS
ARM
RISC-V
Vai trò của hệ thống bus trong máy tính là gì?
Truyền dữ liệu và tín hiệu điều khiển
Tăng tốc độ CPU
Lưu trữ dữ liệu
Điều khiển nguồn
Theo vai trò, bus được chia thành các loại nào?
Bus song song và bus nối tiếp
Bus dữ liệu – Bus địa chỉ – Bus điều khiển
Bus nội bộ – Bus ngoại vi
Bus ROM – Bus RAM
Theo phạm vi kết nối, bus được chia thành loại nào?
Bus nội bộ và bus hệ thống
Bus RAM và bus CPU
Bus điều khiển và bus tín hiệu
Bus nguồn và bus xung
Chu kỳ truyền dữ liệu trên bus diễn ra như thế nào?
Truyền liên tục không cần đồng bộ
Truyền theo gói
Truyền theo chu kỳ đồng hồ
Truyền bằng tín hiệu analog
Độ rộng bus quyết định điều gì?
Dung lượng lưu trữ
Số bit truyền trong một lần
Tốc độ CPU
Tốc độ ổ cứng
Băng thông của bus được tính bằng cách nào?
Tốc độ bus × độ rộng bus
Tốc độ CPU × RAM
Số thiết bị kết nối
Dung lượng cache
Mô hình phân cấp bộ nhớ gồm những cấp nào?
RAM → Cache → HDD
SSD → RAM → CPU
Thanh ghi → Cache → RAM → SSD/HDD
ROM → RAM → CPU
RAM gồm những loại nào?
PROM và EPROM
DRAM và SRAM
Flash và EEPROM
DDR và HDD
Đặc điểm của PROM, EPROM và EEPROM?
PROM ghi 1 lần; EPROM xóa bằng UV; EEPROM xóa/ghi bằng điện
Cả 3 đều ghi 1 lần
EPROM và EEPROM không ghi lại được
EEPROM xóa bằng UV
Cache là gì?
Bộ nhớ chính
Bộ nhớ tốc độ cao nằm giữa CPU và RAM
Cache Hit là gì?
CPU tìm thấy dữ liệu trong cache
CPU tìm thấy dữ liệu trong RAM
CPU ghi dữ liệu vào cache bị lỗi
CPU tắt cache
Công thức AMAT là gì?
Hit rate × Miss rate
Hit time – Miss penalty
Miss rate × Cache size
Hit time + Miss rate × Miss penalty
Cache nhiều tầng (multi-level) gồm?
L1, L2, L3
RAM 1, RAM 2
CPU 1, CPU 2
SSD, HDD
Kiểu tổ chức cache Direct-mapped là gì?
Mỗi block RAM ánh xạ đến 1 vị trí duy nhất trong cache
Block có thể vào bất kỳ vị trí nào
Chia cache thành nhiều tập
Không sử dụng bit kiểm tra
Loại cache miss không thể tránh được là gì?
Conflict miss
Capacity miss
Compulsory miss
System miss
Chính sách thay thế cache phổ biến gồm?
LRU, FIFO, Random
LRU, SSD, RAM
FIFO, USB, HDD
Round Robin
CPU gồm những thành phần chính nào?
ROM, RAM
ALU, CU, thanh ghi
HDD, SSD, RAM
ALU, GPU
Sơ đồ tổng quát của CPU gồm?
ALU – Thanh ghi – CU
ROM – RAM – HDD
Cache – HDD – GPU
Bus – nguồn – mainboard
ALU và CU thực hiện chức năng gì?
ALU điều khiển, CU tính toán
ALU tính toán, CU điều khiển
Cả hai đều lưu dữ liệu
Cả hai đều là bộ nhớ
CU là gì và nhiệm vụ của nó là gì?
Bộ tính toán, thực hiện phép toán số học
Bộ điều khiển, quản lý hoạt động CPU
Bộ nhớ tạm thời, lưu dữ liệu
Bộ chuyển đổi điện áp
Thanh ghi là gì và có các loại nào?
Bộ nhớ ngoài; gồm HDD và SSD
Bộ nhớ nhanh trong CPU; gồm PC, IR, MAR, MBR
Bộ nhớ đệm của ổ cứng
Bộ nhớ tạm của GPU
Các giai đoạn của chu trình lệnh là gì?
Fetch – Decode – Execute
Load – Save – Exit
Read – Write – Jump
Copy – Paste – Run
Thanh ghi PC là gì?
Lưu dữ liệu tính toán
Lưu địa chỉ của lệnh kế tiếp
Lưu kết quả ALU
Lưu mã máy của lệnh hiện tại
Thanh ghi IR có chức năng gì?
Lưu địa chỉ RAM
Lưu lệnh đang thực thi
Lưu dữ liệu từ bàn phím
Lưu trạng thái CPU
Đặc điểm của Hardwired Control và Microprogrammed Control là gì?
Hardwired dễ sửa, Microprogrammed cứng nhắc
Hardwired nhanh, Microprogrammed linh hoạt
Hardwired chậm, Microprogrammed chậm hơn
Cả hai đều giống nhau
Pipeline là gì và lợi ích của nó?
Nối CPU với GPU, tăng tốc độ xung nhịp
Chia xử lý thành nhiều giai đoạn, tăng throughput
Dùng để truyền dữ liệu qua mạng
Lưu dữ liệu tạm
Pipeline kinh điển có bao nhiêu tầng?
2 tầng
3 tầng
4 tầng
5 tầng (IF – ID – EX – MEM – WB)
Công thức thời gian thực thi của Pipeline?
(n + k – 1) × chu kỳ
n × k × chu kỳ
n/k
n × tốc độ CPU
Công thức tính Speedup của Pipeline là gì?
Speedup = 1 / (n – k)
Speedup = Thời gian tuần tự / Thời gian pipeline
Speedup = k × n
Điều kiện để Pipeline đạt hiệu quả là gì?
Các lệnh phải độc lập và không gây xung đột
Tốc độ xung nhịp phải thấp
CPU chỉ chạy 1 tiến trình
Không cần đồng bộ giữa các stage
Ngoài mô hình Pipeline kinh điển, còn có các mô hình nào?
Pipeline tĩnh
Pipeline động, Superpipeline, Superscalar
Pipeline song song với cache
Pipeline nghịch đảo
Ưu điểm và hạn chế của Pipeline là gì?
Ưu: tăng hiệu năng. Nhược: tăng độ trễ
Ưu: giảm chi phí. Nhược: tốn ít phần cứng
Ưu: xử lý tuần tự hơn. Nhược: khó quản lý
Ưu: giảm tốc độ CPU. Nhược: giảm thông lượng
Có các loại xung đột nào trong Pipeline?
Điều khiển – Bộ nhớ – Cấu trúc
Dữ liệu – Điều khiển – Cấu trúc
Mạch – Nhịp – Mã máy
Tốc độ – Dòng dữ liệu – Tính toán
Có các kỹ thuật tối ưu Pipeline nào?
Thêm RAM và tăng xung CPU
Dự đoán nhánh, forwarding, hazard detection, stall hợp lý
Xóa các stage
Giảm độ dài lệnh
Tập lệnh là gì? Có các kiến trúc tập lệnh nào?
Danh sách file phần mềm; kiến trúc CMOS
Bộ lệnh CPU hiểu; kiến trúc RISC và CISC
Mã nguồn; kiến trúc BIOS
Binary của hệ điều hành
Lệnh máy là gì? Cấu trúc gồm gì?
Lệnh cấp cao; gồm hàm + biến
Lệnh CPU hiểu trực tiếp; gồm opcode + toán hạng
Lệnh hệ điều hành; gồm kernel + shell
Lệnh lập trình web; gồm thẻ + thuộc tính
Có các loại lệnh máy nào? Ưu, nhược điểm?
Tính toán, điều khiển, vào/ra; ưu: mạnh, nhược: ít dùng
Số học, logic, nhảy, load/store; ưu: đơn giản, nhược: cần nhiều lệnh
Hệ thống, đa nhiệm, tài nguyên; ưu: nhanh, nhược: nặng
Điều khiển, dịch vụ; ưu: đa dạng, nhược: chậm
Smartphone thường dùng loại lệnh và kiến trúc nào?
CISC – x86
RISC – ARM
ARM – x86_64
MIPS – CISC
Toán hạng là gì? Toán hạng nằm ở đâu?
Là opcode; nằm trong ALU
Là dữ liệu/địa chỉ mà lệnh tác động; nằm trong thanh ghi, bộ nhớ hoặc ngay trong lệnh
Là thanh ghi; nằm ngoài CPU
Là bộ nhớ phụ; nằm trên ổ cứng
Mã lệnh là gì? Có các nhóm lệnh cơ bản nào?
Chuỗi ký tự; nhóm logic, đồ họa
Mã nhị phân CPU hiểu; nhóm số học–logic–nhảy–load/store
Mã nguồn; nhóm điều khiển web
File phần mềm; nhóm IO
Chế độ địa chỉ là gì? Vai trò của nó?
Cách CPU truy cập tiến trình; giúp tăng tốc độ IO
Cách CPU xác định địa chỉ toán hạng; giúp linh hoạt truy cập dữ liệu
Cách CPU chọn lệnh; giúp nạp chương trình nhanh
Cách RAM quản lý file
Có các chế độ địa chỉ nào? Ví dụ?
Trực tiếp, gián tiếp, thanh ghi, dịch chuyển; ví dụ: MOV A, 5
Nhị phân, thập phân; ví dụ: 1001
Nén, giải nén; ví dụ: gzip
Cache, pipeline; ví dụ: L1
Hệ điều hành là gì? Lịch sử phát triển?
Phần mềm chơi game; phát triển từ Android
Phần mềm quản lý tài nguyên; phát triển từ batch → time-sharing → đa nhiệm → hiện đại
Trình duyệt; phát triển từ Netscape
Mạng máy tính; phát triển từ LAN
Vai trò của hệ điều hành đối với máy tính?
Làm đẹp giao diện
Quản lý tài nguyên, cung cấp môi trường chạy chương trình
Giảm nhiệt độ CPU
Tăng dung lượng RAM
Thành phần cốt yếu của HĐH?
Kernel, Shell, System programs
File Office, Driver game, API web
Trình duyệt, CPU ảo, mạng
BIOS, firmware, bus
Các chức năng chính của HĐH?
Tính toán số học
Quản lý CPU, bộ nhớ, tiến trình, file, thiết bị; các chức năng liên kết hỗ trợ nhau
Dịch mã lệnh
Thiết kế giao diện
Lời gọi hệ thống (system call) là gì?
Lệnh Python
Cơ chế để chương trình yêu cầu dịch vụ từ kernel; thực thi qua trap/switch mode
Chức năng của driver
API mạng
Phân biệt system call – thư viện – API?
Giống nhau hoàn toàn
System call chạy trong kernel; thư viện là hàm trung gian; API là đặc tả giao diện
API chạy trong kernel
Thư viện là phần cứng
Tiến trình là gì? So sánh tiến trình và chương trình?
Tiến trình là file .exe; chương trình là RAM
Tiến trình là chương trình đang chạy; chương trình chỉ là mã tĩnh
Tiến trình là CPU; chương trình là ROM
Tiến trình là bộ nhớ ảo; chương trình là bộ nhớ chính
Tiến trình có các thành phần chính nào?
CPU, RAM, ổ cứng
PCB, mã chương trình, dữ liệu, stack, heap
File hệ thống và driver
Kernel và shell
Tiến trình cha – con – zombie là gì?
Cha là hệ điều hành, con là CPU, zombie là RAM
Cha tạo ra tiến trình khác; con là tiến trình được tạo; zombie là tiến trình kết thúc nhưng chưa được thu dọn
Cha chạy nhanh hơn; con chạy chậm hơn; zombie chạy ẩn
Zombie là tiến trình bị lỗi
Cơ chế tạo tiến trình con trong Linux và Windows khác nhau thế nào?
Linux dùng thread, Windows dùng BIOS
Linux dùng fork(); Windows dùng CreateProcess(); khác biệt lớn nhất: fork sao chép tiến trình hiện tại, Windows tạo mới hoàn toàn
Linux dùng API web
Windows không tạo tiến trình mới
Cây tiến trình là gì? Các tiến trình gốc?
Danh sách file; root là BIOS
Cấu trúc phân cấp cha–con; Linux: init/systemd; Windows: System và smss.exe
Cấu trúc CPU
Danh sách thư viện
Các thuộc tính quan trọng của tiến trình?
Dung lượng RAM và GPU
PID, trạng thái, bộ đếm chương trình (PC), thanh ghi, quyền, thông tin bộ nhớ, thông tin lịch trình
Ổ cứng và card âm thanh
Phiên bản kernel
Vì sao phải chia tiến trình thành nhiều trạng thái? Trạng thái gồm?
Vì CPU quá yếu; gồm 2 trạng thái
Để quản lý, chuyển đổi và lập lịch hiệu quả; gồm New, Ready, Running, Blocked, Terminated
Vì RAM đầy
Vì GPU cần hỗ trợ
Luồng (thread) là gì? Quan hệ với tiến trình?
Luồng là phần cứng
Luồng là đơn vị thực thi nhỏ nhất; tiến trình chứa một hoặc nhiều luồng
Luồng là file exe
Luồng là RAM
Các luồng chia sẻ và không chia sẻ tài nguyên nào?
Không chia sẻ gì
Chia sẻ mã, dữ liệu, heap; không chia sẻ stack và thanh ghi
Chia sẻ stack
Không chia sẻ bộ nhớ
Ưu nhược điểm của đa luồng?
Ưu: chậm; Nhược: tốn GPU
Ưu: tận dụng CPU tốt, tăng tốc độ; Nhược: dễ xảy ra tranh chấp tài nguyên và lỗi đồng bộ
Ưu: giảm bộ nhớ; Nhược: không lập lịch được
Ưu: giảm điện năng; Nhược: tăng RAM
Khi nào dùng luồng và khi nào dùng tiến trình?
Luồng cho tác vụ nhẹ, chia sẻ dữ liệu; tiến trình cho tác vụ độc lập, cô lập an toàn
Luồng cho tác vụ nặng; tiến trình cho tác vụ nhỏ
Luồng cho đồ họa; tiến trình cho web
Dùng ngẫu nhiên
PCB là gì? Thành phần của PCB gồm gì?
File cấu hình; gồm GPU và RAM
Cấu trúc lưu thông tin tiến trình; gồm PID, trạng thái, PC, thanh ghi, thông tin bộ nhớ, thông tin lập lịch
Bộ nhớ đệm; gồm cache và TLB
File exe; gồm mã nguồn
TCB là gì? Thành phần gồm gì?
Cấu trúc mạng; gồm IP và port
Cấu trúc quản lý luồng; gồm ID luồng, thanh ghi, stack, trạng thái
Trình điều khiển I/O; gồm driver và cache
RAM ảo; gồm heap và page
Lập lịch CPU là gì? Thành phần nào thực hiện?
Phân chia RAM; do MMU thực hiện
Quyết định tiến trình nào dùng CPU; do scheduler thực hiện
Tăng tốc CPU; do BIOS thực hiện
Điều khiển nguồn; do kernel thực hiện
Scheduler được kích hoạt khi nào?
Khi RAM đầy
Khi tiến trình vào/ra trạng thái, ngắt xảy ra, hoặc CPU rỗi
Khi mở file
Khi shutdown
Có các tiêu chí đánh giá thuật toán lập lịch nào?
Tuổi thọ CPU và độ sáng màn hình
Từ góc nhìn người dùng: thời gian chờ, thời gian đáp ứng; từ hệ thống: throughput, hiệu suất CPU
Dung lượng ổ cứng
Tốc độ mạng
Thuật toán lập lịch chia thành nhóm nào?
Nhóm đồ họa và nhóm mạng
Không ưu tiên: FCFS, SJF, RR; Ưu tiên: Priority, Multilevel Queue
Nhóm GPU và nhóm CPU
Nhóm file và nhóm tiến trình
Ưu nhược điểm của các thuật toán lập lịch?
FCFS nhanh nhất; RR chậm nhất
SJF tối ưu thời gian trung bình nhưng cần dự đoán CPU; RR công bằng nhưng overhead cao
Priority không có starvation
Tất cả như nhau
Race Condition là gì? Giải quyết bằng cách nào?
Dữ liệu bị truy cập bởi 1 tiến trình; giải bằng tăng RAM
Nhiều tiến trình truy cập chung gây sai lệch; giải bằng khóa, semaphore, mutex
Không có race condition
Giải bằng kernel
Ba yêu cầu của bài toán vùng găng?
Nhanh – nhẹ – đẹp
Mutual exclusion, progress, bounded waiting
Mạnh – bền – rẻ
Không cần điều kiện
Có các cơ chế đồng bộ nào?
BIOS và GPU
Mutex, semaphore, monitor; đặc điểm: đảm bảo truy cập tuần tự và tránh race condition
API web
SMTP
Deadlock là gì? Điều kiện xảy ra deadlock?
CPU quá nóng; cần 1 điều kiện
Các tiến trình chờ nhau vô hạn; 4 điều kiện: loại trừ lẫn nhau, giữ–chờ, không thu hồi, chờ vòng
RAM đầy
File bị khóa
Phương pháp mô hình hóa deadlock?
Mạng xã hội
Đồ thị cấp phát tài nguyên (RAG); mô tả quan hệ tiến trình–tài nguyên
Cây thư mục
Bảng mã ASCII
Các phương pháp xử lý deadlock?
Restart máy tính
Phòng tránh, phòng ngừa, phát hiện – phục hồi
Tăng CPU
Xóa file temp
Vai trò của bộ quản lý bộ nhớ?
Quản lý ổ cứng
Cấp phát, thu hồi, bảo vệ và ánh xạ địa chỉ
Tăng tốc GPU
Chống virus
Không gian địa chỉ logic là gì? Phạm vi?
Địa chỉ RAM vật lý; từ 0 → 1 TB
Địa chỉ CPU nhìn thấy; nếu CPU dùng n-bit thì từ 0 → 2n−1
Địa chỉ mạng
Địa chỉ MAC
Không gian địa chỉ vật lý là gì? Phạm vi?
Địa chỉ do ổ cứng quyết định
Địa chỉ thật trên RAM; phạm vi dựa vào dung lượng RAM (ví dụ 8 GB → 0 → 8GB−1)
Địa chỉ của CPU
Địa chỉ của tiến trình
Kỹ thuật phân vùng bộ nhớ là gì? Dùng ở đâu?
Chia ổ cứng thành nhiều phân vùng; dùng cho Windows
Chia bộ nhớ thành nhiều vùng cho tiến trình; dùng trong hệ điều hành cổ điển
Chia mạng thành subnet
Chia file thành block
Thuật toán cấp phát trong phân vùng?
BFS, DFS
First-Fit, Best-Fit, Worst-Fit
Dijkstra
Bubble Sort
Ưu nhược điểm của phân vùng?
Ưu: nhanh; Nhược: tốn điện
Ưu: đơn giản; Nhược: phân mảnh ngoài, khó mở rộng
Ưu: không phân mảnh; Nhược: phức tạp
Ưu: tiết kiệm GPU; Nhược: chậm
Mục đích và khái niệm của phân trang?
Tăng tốc CPU
Chia bộ nhớ thành khung trang–trang, loại bỏ phân mảnh ngoài, dùng bảng trang để ánh xạ
Chia file PDF
Gửi dữ liệu mạng
Địa chỉ logic trong phân trang gồm thành phần nào?
Khung trang + offset
Số hiệu trang + độ dời
MAR + MBR
PC + IR
Địa chỉ vật lý được ánh xạ thế nào trong phân trang?
Trang + RAM
Số hiệu trang tra bảng trang → khung trang → ghép với độ dời
CPU tự đoán vị trí
Ổ cứng lưu trực tiếp
Bảng trang là gì? Mỗi phần tử gọi là gì?
Danh sách file; phần tử gọi là FTE
Cấu trúc quản lý mạng; phần tử là MTU
Bảng ánh xạ trang–khung; phần tử là PTE
Bảng chia sẻ tiến trình; phần tử là PCB
Cấu trúc PTE gồm gì?
Chỉ số tiến trình
Số khung trang, bit hợp lệ, bit bảo vệ, bit tham chiếu, …
Mã lệnh CPU
Địa chỉ IP
Quá trình dịch địa chỉ logic sang vật lý diễn ra thế nào?
CPU tự tính toán
Số hiệu trang → tra bảng trang → lấy khung trang → cộng offset
RAM gửi trực tiếp
GPU xử lý
Ưu nhược điểm của phân trang và vấn đề hiệu năng?
Ưu: đơn giản; nhược: tốn CPU
Ưu: không phân mảnh ngoài; nhược: bảng trang lớn, phải tra bảng → chậm
Ưu: không phân mảnh; nhược: không thể mở rộng
Ưu: tiết kiệm điện; nhược: nóng máy
Lỗi trang là gì? Các loại lỗi trang?
Khi truy cập trang chưa có trong bộ nhớ; gồm lỗi trang nhẹ và lỗi trang nặng
Khi CPU quá nhiệt; gồm lỗi phần mềm và phần cứng
Khi tiến trình kết thúc; gồm lỗi đóng và mở
Khi mạng nghẽn; gồm lỗi truyền và nhận
TLB là gì? Hoạt động thế nào?
Bộ nhớ USB
Bộ nhớ đệm bảng trang; tra nhanh: nếu TLB hit → lấy khung trang ngay, nếu miss → tra bảng trang
Bộ nhớ GPU
Cache ổ cứng
Công thức EMAT là gì?
EMAT = CPU × RAM
EMAT = TLB_hit_rate × (t_TLB + t_mem) + TLB_miss_rate × (t_TLB + 2×t_mem)
EMAT = RAM/CPU
EMAT = 1/tốc độ
Phân đoạn là gì? Có các đoạn nào?
Chia file thành block; code, data
Chia bộ nhớ theo logic chương trình; các đoạn chính: code, data, stack
Chia tiến trình thành thread
Nén dữ liệu
Cấu trúc địa chỉ logic trong phân đoạn gồm những thành phần nào?
Số hiệu trang + độ dời
Số hiệu đoạn + độ dời
Base + limit
Khung + offset
Bảng đoạn là gì? Cấu trúc của mục bảng đoạn gồm gì?
Bảng ánh xạ trang–khung; mỗi mục là PTE
Bảng ánh xạ đoạn; mỗi mục gồm base và limit
Bảng phân mảnh; mỗi mục là kích thước
Bảng tiến trình; mỗi mục là PID
Quá trình ánh xạ địa chỉ trong phân đoạn là gì?
offset → tra bảng trang → frame + offset
segment → tra bảng đoạn → kiểm tra limit → physical = base + offset
page → tra TLB → physical
logical → encrypt → physical
Ưu nhược điểm của phân đoạn; thực tế sử dụng?
Ưu: loại bỏ phân mảnh; Nhược: khó chia; dùng riêng lẻ
Ưu: gần logic chương trình, bảo vệ; Nhược: phân mảnh ngoài; thường kết hợp với phân trang
Ưu: nhanh hơn phân trang; Nhược: chậm khi nạp
Ưu: tiết kiệm đĩa; Nhược: tốn CPU
Bộ nhớ ảo (virtual memory) là gì và vì sao cần?
RAM ảo lý mở rộng bằng phần mềm; cần để chạy nhiều tiến trình và chạy chương trình lớn hơn RAM
Ổ đĩa cứng; cần để lưu file
Cache CPU; cần để tăng tốc ALU
Bộ nhớ GPU; cần cho đồ họa
Hoán trang (swapping/paging) là gì; so sánh với phân trang thường?
Hoán trang = đổi toàn bộ tiến trình; phân trang = chia theo byte
Hoán trang = di chuyển trang giữa RAM và đĩa theo yêu cầu; phân trang là chia địa chỉ thành trang–khung (không nhất thiết hoán trang)
Hoán trang = xóa bộ nhớ; phân trang = nhân bản bộ nhớ
Hoán trang = tăng tốc CPU; phân trang = giảm tốc
Trang (page) và khung (frame) là gì? Quan hệ?
Page là khung vật lý; frame là phần mềm
Page là phần trên đĩa/logic; frame là khung vật lý trong RAM; page được nạp vào một frame
Cả hai đều là thanh ghi CPU
Page là opcode; frame là operand
Lỗi trang (page fault) là gì và khi nào xảy ra?
Khi CPU lỗi thời
Khi truy cập trang không có trong RAM (phải nạp từ đĩa)
Khi ổ cứng đầy
Khi cache đầy
Quá trình xử lý lỗi trang gồm bước nào?
Tắt máy → khởi động lại
Trap vào OS → chọn frame → nạp trang từ đĩa → cập nhật bảng trang → tiếp tục thực thi
Ghi log rồi bỏ qua
Chuyển sang chế độ an toàn
Các thuật toán thay thế trang phổ biến gồm?
BFS, DFS, Dijkstra
FIFO, LRU, Optimal, Clock, NFU/Aging
Round Robin, FCFS, SJF
RSA, AES, MD5
Thuật toán thay trang FIFO là gì? Ưu điểm và nhược điểm?
Loại trang lâu không dùng; nhanh nhưng tốn phần cứng
Loại trang vào trước ra trước; đơn giản nhưng dễ gây lỗi Belady
Loại trang dùng nhiều nhất; chậm nhưng chính xác
Loại trang có độ dời lớn nhất; khó triển khai
Thuật toán thay trang LRU là gì? Ưu/nhược?
Loại trang mới dùng gần nhất; tốn ít chi phí
Loại trang lâu không được dùng nhất; hiệu quả nhưng tốn theo dõi
Loại trang dùng nhiều nhất; nhanh
Loại trang có limit nhỏ nhất; chậm
Thuật toán thay trang Optimal là gì? Vì sao khó dùng?
Loại trang được dùng gần nhất; vì quá chậm
Loại trang có tuổi cao nhất; vì tốn bộ nhớ
Loại trang sẽ dùng xa nhất trong tương lai; khó vì cần biết trước tương lai
Loại trang lớn nhất; do phần cứng không hỗ trợ
Thrashing là gì? Nguyên nhân và cách khắc phục?
RAM đầy → tăng xung CPU
CPU chạy quá nhanh
Hệ thống dành quá nhiều thời gian hoán trang; do thiếu frame; khắc phục bằng tăng RAM hoặc dùng working-set
Ổ cứng lỗi
Kích thước trang ảnh hưởng hiệu suất như thế nào?
Trang lớn → giảm phân mảnh nội nhưng tăng bảng trang
Trang nhỏ → giảm tra bảng trang
Trang lớn → giảm số entry TLB
Trang lớn → giảm số lỗi trang, nhưng tăng phân mảnh nội
TLB hoạt động như thế nào?
Lưu file gần nhất
Bộ nhớ đệm ánh xạ địa chỉ; tra trước bảng trang, nếu trúng (hit) thì đổi địa chỉ nhanh
Lưu tiến trình
Sao chép RAM
EMAT (có TLB và xét lỗi trang) được tính như thế nào?
EMAT = 1 / hit rate
EMAT = TLB_hit_rate × TLB_time + TLB_miss_rate × (Memory_time × 2) + Page_fault_rate × Page_fault_time
EMAT = Memory_time × 10
EMAT = TLB_time − Memory_time
Phần quản lý hệ thống tập tin là gì?
Quản lý CPU
Quản lý bộ nhớ
Quản lý lưu trữ: file, thư mục, không gian đĩa
Quản lý luồng
Hệ thống tập tin (file system) là gì? Chức năng chính?
Quản lý tiến trình
Tổ chức lưu trữ file; chức năng: lưu, đọc/ghi, bảo vệ, quản lý không gian đĩa
Tăng tốc CPU
Quản lý RAM
Các loại hệ thống tập tin phổ biến và đặc điểm?
NTFS, FAT32, ext4; khác nhau ở bảo mật, kích thước file, độ ổn định
SQL, NoSQL, MongoDB
HTML, CSS
TCP, UDP
Tập tin (file) là gì? Thuộc tính cơ bản?
Đơn vị lưu trữ dữ liệu; thuộc tính: tên, loại, kích thước, quyền, thời gian
Chỉ là thư mục; thuộc tính: màu sắc
Là tiến trình; thuộc tính: PID
Là thiết bị mạng; thuộc tính: IP
Thư mục là gì? Cấu trúc thông dụng?
File đặc biệt để chứa file; cấu trúc: cây, đồ thị
Khu vực RAM
CPU cache
Thiết bị ảo
Các thao tác cơ bản trên file là gì?
Copy, paste, reboot
Tạo, mở, đọc, ghi, đóng, xóa
Ping, tracert
Run, compile
Các phương pháp cấp phát file?
FAT, NTFS
Liên tục – nhanh nhưng phân mảnh; Liên kết – không phân mảnh nhưng truy cập chậm; Chỉ mục – linh hoạt nhưng tốn overhead
CPU, GPU
ROM, RAM
Quản lý không gian trống trên đĩa?
Dùng CPU để đếm
Dùng RAM để lưu
Bitmap – đánh dấu bit; Linked list – nối các khối trống
Sử dụng GPU
Symbolic link là gì? Khác Hard link?
Symlink trỏ tới đường dẫn file, có thể trỏ khác ổ; Hard link trỏ tới inode, không khác hệ thống file
Symlink là bản sao file; Hard link là nén file
Symlink là hash file; Hard link là copy file
Symlink là shortcut; Hard link là RAM
Bảo mật file gồm gì?
Tăng tốc CPU
Quyền truy cập và ACL
Tắt máy nhanh
Tăng dung lượng
Journaling là gì? Vì sao quan trọng?
Ghi log thay đổi trước khi thực hiện để tránh mất dữ liệu
Lưu file media
Tối ưu GPU
Quét virus
Quản lý đĩa (disk management) là gì?
Quản lý tiến trình
Quản lý hoạt động đĩa: bộ điều khiển, scheduler, bộ đệm
Quản lý internet
Quản lý CPU
Định dạng đĩa (disk formatting) là gì?
Tăng tốc CPU
Chuẩn bị đĩa để lưu trữ: low-level + partition + logical format
Làm sạch RAM
Đặt mật khẩu
Phân vùng đĩa (partitioning) là gì? Các loại phân vùng?
Chia đĩa thành nhiều vùng; gồm primary, extended, logical
Chia RAM
Chia CPU
Chia mạng
Lập lịch truy cập đĩa là gì? Vì sao cần?
Sắp xếp thứ tự xử lý yêu cầu đĩa để giảm thời gian di chuyển đầu đọc
Sắp xếp tiến trình CPU
Sắp xếp mạng
Tăng dung lượng ổ cứng
Các thuật toán lập lịch đĩa?
FCFS, SSTF, SCAN, C-SCAN, LOOK, C-LOOK
FIFO, LIFO
DFS, BFS
A*, UCS
Ưu nhược điểm các thuật toán lập lịch đĩa?
FCFS công bằng nhưng chậm; SSTF nhanh nhưng dễ starvation; SCAN/LOOK ổn định; C-SCAN/C-LOOK phân phối đều
FCFS nhanh nhất; SSTF tránh starvation; SCAN/LOOK không dùng; C-SCAN/C-LOOK kém ổn định
FCFS tối ưu seek; SSTF công bằng nhất; SCAN/LOOK chỉ dành cho SSD; C-SCAN/C-LOOK làm chậm đầu đọc
Các thuật toán cho kết quả giống nhau, không có ưu nhược điểm khác biệt
RAID là gì? Mục đích và các cấp độ phổ biến?
Mảng đĩa độc lập; mục đích: tăng tốc + an toàn; gồm RAID 0,1,5,10
Thuật toán CPU
Giao thức mạng
Định dạng file
RAID 0, RAID 1, RAID 5, RAID 10 là gì?
RAID 0 – striping; RAID 1 – mirroring; RAID 5 – parity; RAID 10 – mirror + stripe
Tăng xung CPU
Nén dữ liệu
Dùng GPU
Quản lý I/O là gì? Mục tiêu?
Tổ chức giao tiếp thiết bị; mục tiêu: hiệu quả, công bằng, trừu tượng hóa thiết bị
Tăng tốc CPU
Nén RAM
Sửa lỗi mạng
Device driver là gì?
Phần mềm trung gian điều khiển thiết bị
Phần cứng CPU
Bộ nguồn máy tính
Router
Ngắt (interrupt) là gì? Cơ chế?
Tín hiệu từ thiết bị yêu cầu CPU xử lý; CPU tạm dừng, lưu trạng thái, xử lý ISR
Tín hiệu tắt máy
Lỗi RAM
Reset hệ thống
DMA (Direct Memory Access) là gì?
Bộ điều khiển cho phép thiết bị truy cập RAM trực tiếp, giảm tải CPU
Tăng tốc GPU
Công cụ format đĩa
Bộ nhớ cache
Spooling là gì?
Cơ chế xếp hàng I/O, lưu dữ liệu vào bộ nhớ/đĩa để thiết bị xử lý dần
Tắt thiết bị sau khi sử dụng
Sao lưu dữ liệu của ổ cứng
Xoay vòng CPU trong hệ điều hành
Các lớp phần mềm I/O gồm những lớp nào?
User-level I/O, Device-independent I/O, Device Drivers, Hardware
CPU, RAM, ROM, Cache
BIOS, Kernel, Shell, Applications
NIC, Printer, Keyboard, Monitor
