Description: introduction
1. Purpose
Aim to setup a small system above the OS layer , implement the message queue of process or thread and simulate the function of watchdog used to detect the deadlock of the system.
2. Method
Using window API to create serval thread and create a message queue for each thread to control the message exchange between the different treads.
3. Files
Projectmain.h------ structs , enums ,and claim of functions
ThreadSemaphore.c------- extend the Windows semaphore API
ThreadQueue.c------- message queue file (send to, receive from ,create and destroy queue )
ThreadFrame.c-- 1) create all the task for test
2) control the message handling
3) control the thread running
4)functions of watchdog
5) a hardware timer simulator to create timeout message every 1 sec
4 task :
Thread_IDLE,-- lowest prority , interact with user and obtain a semaphore which will be waitted by Thread_LOST later
File list (Check if you may need any files):
OS_project_Thread
.................\OS_project_Thread.ncb
.................\OS_project_Thread.sln
.................\Thread_OS
.................\.........\Debug
.................\.........\.....\BuildLog.htm
.................\.........\.....\threadFrame.obj
.................\.........\.....\ThreadQueue.obj
.................\.........\.....\ThreadSemaphore.obj
.................\.........\.....\Thread_OS.exe
.................\.........\.....\Thread_OS.ilk
.................\.........\.....\Thread_OS.pdb
.................\.........\.....\vc70.idb
.................\.........\.....\vc70.pdb
.................\.........\projectmain.h
.................\.........\threadFrame.cpp
.................\.........\ThreadQueue.cpp
.................\.........\ThreadSemaphore.cpp
.................\.........\Thread_OS.vcproj