Exemplo n.º 1
0
int main()
{
        KernelInit();

        SchedulerStartup();

        TimesRead = 0;
        TimesWritten = 0;

        SchedulerCreateThread(
                        & Reader1,
                        5,
                        Reader1Stack,
                        STACK_SIZE,
                        Reader,
                        NULL,
                        TRUE);
        SchedulerCreateThread(
                        & Reader2,
                        5,
                        Reader2Stack,
                        STACK_SIZE,
                        Reader,
                        NULL,
                        TRUE);
        SchedulerCreateThread(
                        & Reader3,
                        5,
                        Reader3Stack,
                        STACK_SIZE,
                        Reader,
                        NULL,
                        TRUE);
        SchedulerCreateThread(
                        & Writer1,
                        5,
                        Writer1Stack,
                        STACK_SIZE,
                        Writer,
                        NULL,
                        TRUE);
        SchedulerCreateThread(
                        & Writer2,
                        5,
                        Writer2Stack,
                        STACK_SIZE,
                        Writer,
                        NULL,
                        TRUE);

        KernelStart();
        return 0;
}
Exemplo n.º 2
0
int main()
{
        //Initialize the kernel structures.
        KernelInit();

        SchedulerStartup();

        //Initialize variables
        DeathCount = 0;
        TotalDeath = 0;
        StallCount = 0;
        TotalStall = 0;

        //Initialize Threads
        SchedulerCreateThread(
                        &DeathThread,
                        1,
                        DeathThreadStack,
                        STACK_SIZE,
                        DeathThreadMain,
                        NULL,
                        TRUE);

        SchedulerCreateThread(
                        &StallThread,
                        1,
                        StallThreadStack,
                        STACK_SIZE,
                        StallThreadMain,
                        NULL,
                        TRUE);

        SchedulerCreateThread(
                        &RestartThread,
                        1,
                        RestartThreadStack,
                        STACK_SIZE,
                        RestartThreadMain,
                        NULL,
                        TRUE);

        KernelStart();
        return 0;
}
Exemplo n.º 3
0
int main()
{
        //Initialize the kernel structures.
        KernelInit();

        SchedulerStartup();

        //Initialize Threads
        SchedulerCreateThread(
                        &TestThread1,
                        2,
                        TestThread1Stack,
                        STACK_SIZE,
                        Test1ThreadMain,
                        &Value1,
                        TRUE);

        SchedulerCreateThread(
                        &TestThread2,
                        4,
                        TestThread2Stack,
                        STACK_SIZE,
                        Test1ThreadMain,
                        &Value2,
                        TRUE);

        SchedulerCreateThread(
                        &TestThread3,
                        8,
                        TestThread3Stack,
                        STACK_SIZE,
                        Test1ThreadMain,
                        &Value3,
                        TRUE);

        KernelStart();
        return 0;
}
Exemplo n.º 4
0
int main()
{
  KernelInit();
  SchedulerStartup();
  SetupPipe(MessageBuffer1, &Pipe1, &ProducerContext1, &ConsumerContext1, 1, 2);
  SetupPipe(MessageBuffer2, &Pipe2, &ProducerContext2, &ConsumerContext2, 3, 4);
  SetupPipe(MessageBuffer3, &Pipe3, &ProducerContext3, &ConsumerContext3, 5, 6);

  SchedulerCreateThread(
      &Producer1,
      QUANTUM,
      ProducerStack1,
      STACK_SIZE,
      ProducerMain,
      & ProducerContext1,
      TRUE );
  SchedulerCreateThread(
      &Producer2,
      QUANTUM,
      ProducerStack2,
      STACK_SIZE,
      ProducerMain,
      & ProducerContext2,
      TRUE );
  SchedulerCreateThread(
      &Producer3,
      QUANTUM,
      ProducerStack3,
      STACK_SIZE,
      ProducerMain,
      & ProducerContext3,
      TRUE );
  SchedulerCreateThread(
      &Consumer1,
      QUANTUM,
      ConsumerStack1,
      STACK_SIZE,
      ConsumerMain,
      & ConsumerContext1,
      TRUE );
  SchedulerCreateThread(
      &Consumer2,
      QUANTUM,
      ConsumerStack2,
      STACK_SIZE,
      ConsumerMain,
      & ConsumerContext2,
      TRUE );
  SchedulerCreateThread(
      &Consumer3,
      QUANTUM,
      ConsumerStack3,
      STACK_SIZE,
      ConsumerMain,
      & ConsumerContext3,
      TRUE );

  WatchdogEnable( TIMEOUT );
  KernelStart();
  return 0;
}