thumbnail

Tổng Hợp Đề Thi Ôn Tập Môn Hệ Điều Hành Thời Gian Thực - Miễn Phí Có Đáp Án

Bộ đề thi ôn tập môn Hệ Điều Hành Thời Gian Thực cung cấp các câu hỏi về các nguyên lý, thuật toán và ứng dụng của hệ điều hành thời gian thực. Bộ đề thi này giúp sinh viên nắm vững các khái niệm cơ bản, cách thức hoạt động và giải quyết vấn đề trong môi trường hệ thống thời gian thực. Miễn phí và có đáp án chi tiết, bộ đề giúp sinh viên củng cố kiến thức và chuẩn bị tốt cho kỳ thi.

Từ khoá: Hệ Điều Hành Thời Gian Thực ôn tập hệ điều hành đề thi hệ điều hành kiểm tra hệ điều hành bài thi hệ điều hành miễn phí có đáp án hệ điều hành thời gian thực thuật toán hệ điều hành ứng dụng hệ điều hành kỳ thi hệ điều hành lập trình hệ điều hành kỹ thuật hệ điều hành học hệ điều hành

Số câu hỏi: 459 câuSố mã đề: 12 đềThời gian: 1 giờ

65,079 lượt xem 5,003 lượt làm bài


Chọn mã đề:


Bạn chưa làm Mã đề 1!!!

 

Xem trước nội dung:

Câu 1: 0.25 điểm
Chọn phương án đúng điền vào vị trí …(8)… cho đoạn code dưới đây#define mainONE_SHOT_TIMER_PERIOD pdMS_TO_TICKS( 3333 )#define mainAUTO_RELOAD_TIMER_PERIOD pdMS_TO_TICKS( 500 )int main( void ){TimerHandle_t xAutoReloadTimer, xOneShotTimer;BaseType_t xTimer1Started, xTimer2Started;xOneShotTimer = ……(8)……   ("OneShot", mainONE_SHOT_TIMER_PERIOD, pdFALSE,0,prvOneShotTimerCallback );xAutoReloadTimer = xTimerCreate("AutoReload", mainAUTO_RELOAD_TIMER_PERIOD, pdTRUE,0, prvAutoReloadTimerCallback );if( ( xOneShotTimer != NULL ) && ( xAutoReloadTimer != NULL ) ){xTimer1Started = xTimerStart( xOneShotTimer, 0 );xTimer2Started = xTimerStart( xAutoReloadTimer, 0 );if( ( xTimer1Started == pdPASS ) && ( xTimer2Started == pdPASS ) ){vTaskStartScheduler();}}for( ;; );}
A.  
xTimer2Started
B.  
xTimerCreate
C.  
xOneShotTimer
D.  
xAutoReloadTimer
Câu 2: 0.25 điểm
Chọn phương án đúng điền vào vị trí …(16)… cho đoạn code dưới đâyBaseType_t vReadMailbox ( Example_t *pxData){TickType_t xPreviousTimeStamp;BaseType_t xDataUpdated;xPreviousTimeStamp = pxData -> xTimeStamp;xQueuePeek (xMailbox, pxData, portMAX_DELAY);if( pxData -> xTimeStamp > xPreviousTimeStamp){ xDataUpdated = …(16)… }else{xDataUpdated = pdFALSE;}return xDataUpdated;}
A.  
pdFALSE;
B.  
pxData
C.  
xMailbox
D.  
pdTRUE;
Câu 3: 0.25 điểm
Ngắt chương trình được khôi phục khi
A.  
không khôi phục
B.  
khi chương trình quan trọng đang chạy
C.  
được khôi phục tùy ý
D.  
khi kết thúc chương trình quan trọng đang chạy
Câu 4: 0.25 điểm
Điều nào sau đây bao gồm quy trình I / O của riêng nó?
A.  
phần cứng
B.  
nhân
C.  
hệ điều hành
D.  
trình quản lý ứng dụng
Câu 5: 0.25 điểm
Chọn phương án đúng điền vào vị trí …(8)… cho đoạn code dưới đâyBaseType_t vReadMailbox ( Example_t *pxData){TickType_t xPreviousTimeStamp;BaseType_t xDataUpdated;xPreviousTimeStamp = pxData -> xTimeStamp;…(8)…( xMailbox, pxData, portMAX_DELAY );if( pxData->xTimeStamp > xPreviousTimeStamp ){xDataUpdated = pdTRUE;}else{xDataUpdated = pdFALSE;}return xDataUpdated;}
A.  
xTimeStamp
B.  
xPreviousTimeStamp
C.  
xDataUpdated
D.  
xQueuePeek
Câu 6: 0.25 điểm
Chọn phương án đúng điền vào vị trí …(4)… cho đoạn code dưới đâyBaseType_t vReadMailbox ( Example_t *pxData){TickType_t xPreviousTimeStamp;BaseType_t …(4)…;xPreviousTimeStamp = pxData->xTimeStamp;xQueuePeek( xMailbox, pxData, portMAX_DELAY );if( pxData->xTimeStamp > xPreviousTimeStamp ){xDataUpdated = pdTRUE;}else{xDataUpdated = pdFALSE;}return xDataUpdated;}
A.  
vReadMailbox
B.  
xPreviousTimeStamp
C.  
xDataUpdated
D.  
xMailbox
Câu 7: 0.25 điểm
Kết quả của hàm void ATaskFunction( void *pvParameters ); là
A.  
Con trỏ void *pvParameters
B.  
Giá trị biến pvParameters
C.  
Giá trị cụ thể
D.  
Không trả về kết quả gì
Câu 8: 0.25 điểm
Thay đổi tham số nào trong đoạn lệnh dưới đây để xOneShotTimer chuyển từ hoạt động kiểu AUTO-RELOAD sang kiểu ONE-SHOT xAutoReloadTimer = xTimerCreate("AutoReload", mainAUTO_RELOAD_TIMER_PERIOD, pdTRUE,0, prvAutoReloadTimerCallback );
A.  
"AutoReload" -> "OneShot"
B.  
mainAUTO_RELOAD_TIMER_PERIOD -> mainONE_SHOT_TIMER_PERIOD
C.  
pdTRUE -> pdFALSE
D.  
prvAutoReloadTimerCallback -> prvOneShotTimerCallback
Câu 9: 0.25 điểm
Đoạn chương trình dưới đây mô tả điều gì
A.  
Tác vụ 1 được thực hiện trước và chạy cho đến khi xong
B.  
Tác vụ 2 được thực hiện trước và chạy cho đến khi xong
C.  
Tác vụ 1 được thực hiện đến một điểm nhất định, nó báo hiệu cho tác vụ 2 và sau đó chờ tín hiệu quay trở lại
D.  
Hai tác vụ đang chồng lấn tránh chấp tài nguyên
Câu 10: 0.25 điểm
Hàm nào dưới đây thực hiện gửi dữ liệu đến hàng đợi
A.  
xQueueCreate()
B.  
xQueueReset()
C.  
xQueueSend()
D.  
xQueueSendToFront()
Câu 11: 0.25 điểm
VxWorks tập trung xung quanh ____________
A.  
wind microkernel
B.  
nhân linux
C.  
nhân unix
D.  
không có nhân tố nào được đề cập
Câu 12: 0.25 điểm
Hàm vPrintString() trong đoạn code dưới đây hoạt động khi nàostatic void vReceiverTask( void *pvParameters ){int32_t lReceivedValue;BaseType_t xStatus;const TickType_t xTicksToWait = pdMS_TO_TICKS( 100 );for( ;; ){if( uxQueueMessagesWaiting( xQueue ) != 0 ){vPrintString( "Queue should have been empty!\r" );}xStatus = xQueueReceive( xQueue, &lReceivedValue, xTicksToWait );if( xStatus == pdPASS ){vPrintStringAndNumber( "Received = ", lReceivedValue );}else{ vPrintString( "Could not receive from the queue.\r" );}}}
A.  
Khi dữ liệu đang được nhận từ hàng đợi
B.  
Khi nhận dữ liệu từ hàng đợi THÀNH CÔNG
C.  
Khi nhận dữ liệu từ hàng đợi KHÔNG THÀNH CÔNG
D.  
Không có ý nào đúng
Câu 13: 0.25 điểm
Để đảm bảo an toàn cho dữ liệu khi ghi đè thì cần sử dụng hàm nào dưới đây
A.  
xQueueOverwriteFromISR()
B.  
xQueueOverwrite()
C.  
xQueueSendToBack()
D.  
xQueuePeek ()
Câu 14: 0.25 điểm
Chọn phương án đúng điền vào vị trí …(9)… cho đoạn code dưới đâystatic void vHandlerTask ( void *pvParameters );static void vPeriodicTask( void *pvParameters );static uint32_t ulExampleInterruptHandler( void );SemaphoreHandle_t xBinarySemaphore;int main( void ){xBinarySemaphore = xSemaphoreCreateBinary();  if( xBinarySemaphore != NULL ){ xTaskCreate( vHandlerTask, "Handler", 1000, NULL, 3, NULL ); xTaskCreate(……(9)……, "Periodic", 1000, NULL, 1, NULL ); vPortSetInterruptHandler( mainINTERRUPT_NUMBER, ulExampleInterruptHandler ); vTaskStartScheduler(); } for( ;; ); return 0;}
A.  
xTaskCreate
B.  
vPeriodicTask
C.  
xSemaphoreCreateBinary
D.  
vHandlerTask
Câu 15: 0.25 điểm
Khi sử dụng heap_2.c thì hàm nào để gọi kiểu cấp phát bộ nhớ trực tiếp
A.  
malloc()
B.  
free()
C.  
vPortFree()
D.  
pvPortMalloc()
Câu 16: 0.25 điểm
Độ dài hàng đợi của hộp tin nhắn mailbox trong đoạn chương trình dưới làtypedef struct xExampleStructure {TickType_t xTimeStamp;uint32_t ulValue;} Example_t;QueueHandle_t xMailbox;void vAFunction( void ){xMailbox = xQueueCreate( 1, sizeof( Example_t ) ); }
A.  
1
B.  
uint32_t
C.  
sizeof()
D.  
0
Câu 17: 0.25 điểm
Hàm nào dưới đây sử dụng cấp phát động vùng nhớ
A.  
xTimerCreateStatic()
B.  
xTaskCreate()
C.  
xQueueCreateStatic()
D.  
xTaskCreateStatic()
Câu 18: 0.25 điểm
Tệp tin (file) cung cấp thông tin cấu trúc bộ nhớ chương trình cho RTOS nào dưới đây cho phép giải phóng bộ nhớ, nhưng không kết hợp các khối trống liền kề
A.  
heap_1.c
B.  
heap_2.c
C.  
heap_4.c
D.  
heap_5.c
Câu 19: 0.25 điểm
Đánh dấu ngắt (tick interrupt) là
A.  
Khoảng thời gian chạy hai tác vụ
B.  
Khoảng thời gian chuyển tác vụ
C.  
Khoảng thời gian chạy một tác vụ
D.  
Không có ý nào đúng
Câu 20: 0.25 điểm
Đoạn chương trình dưới đây thực hiện những việc gìstatic void prvNewPrintString( const char *pcString ){xSemaphoreTake( xMutex, portMAX_DELAY );{printf( "%s", pcString );fflush( stdout );}xSemaphoreGive( xMutex );}
A.  
Yêu cầu quyền truy cập tài nguyên
B.  
Hiển thị một chuỗi
C.  
Trả lại tài nguyên đã dùng xong
D.  
Tất cả các ý trên
Câu 21: 0.25 điểm
Trong hệ điều hành thời gian thực ____________
A.  
tất cả các quy trình đều có cùng mức độ ưu tiên
B.  
một nhiệm vụ phải được hoàn thành trước thời hạn của nó
C.  
lập lịch quy trình chỉ có thể được thực hiện một lần
D.  
nhân không bắt buộc
Câu 22: 0.25 điểm
Hàm nào dưới đây thiết lập lại hàng đợi về giá trị ban đầu
A.  
xQueueCreate()
B.  
xQueueReset()
C.  
xQueueSendToBack()
D.  
xQueueSendToFront()
Câu 23: 0.25 điểm
Chức năng của hộp tin nhắn
A.  
Gửi dữ liệu từ tác vụ này sang tác vụ khác
B.  
Từ quy trình dịch vụ ngắt đến một tác vụ
C.  
Tất cả các ý trên
D.  
Dữ liệu đi qua hàng đợi từ Sender đến Receiver
Câu 24: 0.25 điểm
Tham số 50 (chữ đậm) trong đoạn chương trình tạo hàng đợi dưới đây làQueueHandle_t xQueue;int main( void ){ xQueue = xQueueCreate( 50, sizeof( int32_t ) );if( xQueue != NULL ) {xTaskCreate( vSenderTask, "Sender1", 1000, ( void * ) 100, 1, NULL );xTaskCreate( vSenderTask, "Sender2", 1000, ( void * ) 200, 1, NULL );xTaskCreate( vReceiverTask, "Receiver", 1000, NULL, 2, NULL );vTaskStartScheduler(); }else{}for( ;; );}
A.  
Thời gian Suppend khi tạo hàng đợi
B.  
Kích thước của hàng đợi
C.  
Số phần tử (chiều dài) của hàng đợi
D.  
Không có ý nào đúng
Câu 25: 0.25 điểm
Tham số nào cấu hình để Software Timer hẹn giờ một lần trong đoạn chương trình dưới đâyxOneShotTimer = xTimerCreate( "OneShot",mainONE_SHOT_TIMER_PERIOD,pdFALSE,/* The timer’s ID is initialized to 0. */0,/* prvTimerCallback() is used by both timers. */prvTimerCallback );
A.  
OneShot
B.  
mainONE_SHOT_TIMER_PERIOD
C.  
pdFALSE
D.  
prvTimerCallback
Câu 26: 0.25 điểm
Khi thực hiện gửi nhận dữ liệu từ hàng đợi thì
A.  
Mức ưu tiên của tác vụ gửi dữ liệu lớn hơn tác vụ nhận dữ liệu
B.  
Mức ưu tiên của tác vụ nhận dữ liệu lớn hơn tác vụ gửi dữ liệu
C.  
Mức ưu tiên ngang nhau
D.  
Không có ý nào đúng
Câu 27: 0.25 điểm
Điều kiện CẦN và ĐỦ để bộ lập lịch hoạt động trong đoạn chương trình dưới đây#define mainONE_SHOT_TIMER_PERIOD pdMS_TO_TICKS( 3333 )#define mainAUTO_RELOAD_TIMER_PERIOD pdMS_TO_TICKS( 500 )int main( void ){TimerHandle_t xAutoReloadTimer, xOneShotTimer;BaseType_t xTimer1Started, xTimer2Started;xOneShotTimer = xTimerCreate("OneShot", mainONE_SHOT_TIMER_PERIOD, pdFALSE,0,prvOneShotTimerCallback );xAutoReloadTimer = xTimerCreate("AutoReload", mainAUTO_RELOAD_TIMER_PERIOD, pdTRUE,0, prvAutoReloadTimerCallback );if( ( xOneShotTimer != NULL ) && ( xAutoReloadTimer != NULL ) ){xTimer1Started = xTimerStart( xOneShotTimer, 0 );xTimer2Started = xTimerStart( xAutoReloadTimer, 0 );if( ( xTimer1Started == pdPASS ) && ( xTimer2Started == pdPASS ) ){vTaskStartScheduler();}}for( ;; );}
A.  
( xOneShotTimer != NULL ) && ( xAutoReloadTimer != NULL )
B.  
( xTimer1Started == pdPASS ) && ( xTimer2Started == pdPASS )
C.  
xOneShotTimer != NULL
D.  
xAutoReloadTimer != NULL
Câu 28: 0.25 điểm
RAM do hàm xSemaphoreCreateBinaryStatic() tạo được cấp phát do
A.  
Cấp phát từ RTOS heap
B.  
Cấp phát từ bộ nhớ chương trình
C.  
Phần cứng thiết bị
D.  
Trình viết ứng dụng
Câu 29: 0.25 điểm
Trong lập lịch vòng (Round-Robin Scheduling) Kernel cung cấp quyền kiểm soát cho tác vụ tiếp theo trong dòng nếu
A.  
Nhiệm vụ hiện tại không có việc phải làm trong khoảng thời gian của nó
B.  
Nhiệm vụ hiện tại hoàn thành trước khi kết thúc phần thời gian của nó
C.  
Thời gian kết thúc.
D.  
Tất cả các ý trên
Câu 30: 0.25 điểm
CHƯƠNG 4 Quản lý thời gian Timer Chức năng của Software Timer management
A.  
Thực hiện lập lịch cho các tác vụ
B.  
Thiết lập thời gian thực hiện các tác vụ
C.  
Tự động gọi lại tác vụ khi đến thời gian thực thi
D.  
Tất cả các ý trên
Câu 31: 0.25 điểm
Đa nhiệm là
A.  
Quá trình lập lịch và chuyển CPU giữa các tác vụ
B.  
Quá trình thực hiện chỉ một tác vụ đơn lẻ
C.  
Quá trình hoàn thành lần lượt các tác vụ
D.  
không có phương án nào đúng
Câu 32: 0.25 điểm
Giá trị của con trỏ *x trong tác vụ thực thi sau khi tác vụ có độ ưu tiện cao hoàn thành và OS quay về tác vụ trước đó làHình ảnh
A.  
 *x = 1
B.  
 *x = 2
C.  
 *x = 3
D.  
 *x = 4
Câu 33: 0.25 điểm
Giá trị của con trỏ *t trong tác vụ thực thi sau khi được ISR khởi chạy làHình ảnh
A.  
 *t = 1
B.  
 *t = 2
C.  
 *t = 3
Câu 34: 0.25 điểm
Ưu điểm của kỹ thuật tạo bộ nhớ trong đoạn code dưới đây#define RAM1_HEAP_SIZE ( 30 * 1024 )static uint8_t ucHeap[ RAM1_HEAP_SIZE ];const HeapRegion_t xHeapRegions[] ={{ ucHeap, RAM1_HEAP_SIZE },{ RAM2_START_ADDRESS, RAM2_SIZE },{ RAM3_START_ADDRESS, RAM3_SIZE },{ NULL, 0 } };
A.  
Không cần thiết phải sử dụng địa chỉ bắt đầu được mã hóa cứng
B.  
Địa chỉ được sử dụng trong cấu trúc HeapRegion_t sẽ được trình liên kết đặt tự động
C.  
Ứng dụng sẽ không liên kết nếu ucHeap quá lớn
D.  
Tất cả các ý trên
Câu 35: 0.25 điểm
Điều kiện được bộ lập lịch sử dụng để xác định xem một tác vụ có đi vào trạng thái Bị chặn hay không được chỉ định bởi tham số nào trong đoạn chương trình dưới đâyEventBits_t xEventGroupWaitBits( const EventGroupHandle_t xEventGroup,const EventBits_t uxBitsToWaitFor,const BaseType_t xClearOnExit,const BaseType_t xWaitForAllBits,TickType_t xTicksToWait );
A.  
xEventGroup
B.  
uxBitsToWaitFor và xWaitForAllBits
C.  
xWaitForAllBits
D.  
xClearOnExit
Câu 36: 0.25 điểm
Software Timer management được chia làm mấy loại
A.  
1
B.  
2
C.  
3
D.  
4
Câu 37: 0.25 điểm
Trường hợp nào sau đây là ví dụ về hệ điều hành tác vụ đơn lẻ?
A.  
android
B.  
windows
C.  
iOS
D.  
CP/M
Câu 38: 0.25 điểm
Chọn phương án đúng điền vào vị trí …(1)… cho đoạn code dưới đâystatic void …(1)…( void *pvParameters );static void vPeriodicTask( void *pvParameters );static uint32_t ulExampleInterruptHandler( void );SemaphoreHandle_t xBinarySemaphore;int main( void ){xBinarySemaphore = xSemaphoreCreateBinary();  if( xBinarySemaphore != NULL ){ xTaskCreate( vHandlerTask, "Handler", 1000, NULL, 3, NULL ); xTaskCreate( vPeriodicTask, "Periodic", 1000, NULL, 1, NULL ); vPortSetInterruptHandler( mainINTERRUPT_NUMBER, ulExampleInterruptHandler ); vTaskStartScheduler(); } for( ;; ); return 0;}
A.  
vHandlerTask
B.  
vPeriodicTask
C.  
*pvParameters
D.  
xBinarySemaphore
Câu 39: 0.25 điểm
Hàm vPrintStringAndNumber( …) trong đoạn code dưới đây thực hiện việcstatic void vReceiverTask( void *pvParameters ){int32_t lReceivedValue;BaseType_t xStatus;const TickType_t xTicksToWait = pdMS_TO_TICKS( 100 );for( ;; ){if( uxQueueMessagesWaiting( xQueue ) != 0 ){vPrintString( "Queue should have been empty!\r" );}xStatus = xQueueReceive( xQueue, &lReceivedValue, xTicksToWait );if( xStatus == pdPASS ){vPrintStringAndNumber( "Received = ", lReceivedValue );}else{ vPrintString( "Could not receive from the queue.\r" );}}}
A.  
Tên hàng đợi mà tác vụ nhận sẽ lấy dữ liệu
B.  
Địa chỉ của dữ liệu mà tác vụ nhận sẽ lấy dữ liệu
C.  
Xuất kết quả giá trị của dữ liệu nhận được
D.  
Không có ý nào đúng
Câu 40: 0.25 điểm
BÀI TẬP CHƯƠNG 6 Dòng code dưới đây thực hiện việc gìSemaphoreHandle_t xSemaphoreCreateBinary( void );
A.  
Tạo ra một Semaphore Nhị phân
B.  
Lấy đi một Semaphore Nhị phân
C.  
Gửi đi một Semaphore Nhị phân
D.  
Tạo ra một ngắt tác vụ

Đề thi tương tự

Tổng Hợp Đề Thi Ôn Tập Môn Chủ Nghĩa Xã Hội Khoa Học Miễn Phí Có Đáp ÁnĐại học - Cao đẳng

2 mã đề 94 câu hỏi 1 giờ

85,4076,564