41,14 → 41,9 |
#include "modules/cbs.h" |
|
#include "pthread.h" |
#include "time.h" |
#include "posix.h" |
|
#include "fsf_contract.h" |
|
#include "cbsstar.h" |
#include "posixstar.h" |
#include "modules/rr.h" |
#include "modules/dummy.h" |
|
#include "modules/sem.h" |
73,17 → 68,16 |
/*+ RR tick in us +*/ |
#define RRTICK 10000 |
|
extern int cbsstar_level; |
extern int posix_level; |
|
TIME __kernel_register_levels__(void *arg) |
{ |
struct multiboot_info *mb = (struct multiboot_info *)arg; |
int posix_level, cbsstar_level; |
|
EDF_register_level(EDF_ENABLE_ALL); |
posix_level = POSIX_register_level(RRTICK, RR_MAIN_YES, mb, 32); |
posix_level = POSIX_register_level(RRTICK, 1, mb, 32); |
cbsstar_level = CBSSTAR_register_level(4, 0); |
FSF_register_module(posix_level, cbsstar_level); |
dummy_register_level(); |
cbsstar_level = CBSSTAR_register_level(4, 0); |
|
// for the keyboard... |
CBS_register_level(CBS_ENABLE_ALL, 0); |
133,8 → 127,6 |
|
#define TASK_PERIOD 1000000 |
|
extern struct timespec maxdiffint; |
|
void *periodic_star(void *arg) |
{ |
struct timespec actual,end,next_time; |
169,8 → 161,6 |
pthread_mutex_lock(&mux); |
printf_xy(0,exec_shadow,WHITE,"Thread %3d Act_per_Second = %8d Mean = %8d Cycle = %8d", |
exec_shadow,actpersecond,mean,cycle); |
printf_xy(50,20,RED,"<DISTIME Ts%ld:Tns%ld>",maxdiffint.tv_sec,maxdiffint.tv_nsec); |
|
pthread_mutex_unlock(&mux); |
|
kern_gettime(&next_time); |