Example #1
0
void kernel_main() {
  gdt_install();
  idt_install();
  isrs_install();
  irq_install();
  terminal_initialize();
  memory_manager_init();
  enable_interrupts();
  timer_install();
  keyboard_install();
  shell_init();

  terminal_writestring("Hello, kernel World!\n");
  terminal_writestring("Here is some text in a new line\n");
  terminal_writestring("Here is some more text\n");
  terminal_writestring("Here is a new line\n");
  terminal_writestring("Here is some text after terminal scroll\n");
  char str[] = "A string";
  char ch = 'c';
  int integer = 45;
  printf("This is a test for printf.\nThis is a char %c and this a string %s\n", ch, str);
  printf("This is an int %d. This is the same in hex %x\n", integer, integer);

  for (size_t i = 0; i < 5; i++) {
    printf("This is line number %d\n", i);
  }

  puts("waiting for 2 sec\n");
  timer_wait(2);
  puts("waiting complete\n");

  char buffer[200];
  gets(buffer);
  printf("%s\n", buffer);
  while(1) {
    shell();
  }

}
Example #2
0
int main(int argc, char *argv[]) {
	clock_t begin, end;
	float time_spent;

	int items = 1000;
	double size = 64;

	if ( argc != 2 ) {
		return 0;
	} else if (atoi(argv[1]) == 1) {

		memory_manager_init();
		begin = clock();
	  	 	for (int i = 0; i < items; ++i) {
	  	 	  	void *l  = memory_manager_allocate(size);  
	  	 	  	memory_manager_free(l);
	  	 	  	size++;
	  	 	}  
	  	end = clock();
	  	time_spent = ((float)(begin - end)) / CLOCKS_PER_SEC;
	  	printf("custom time: %lf \n", time_spent);
	    memory_manager_shutdown();

	} else if (atoi(argv[1]) == 2) {
	    begin = clock();
	  	 for (int i = 0; i < items; ++i) {
	  	 	  	void *l = remalloc(size);  
	  	 	  	free(l);
	  	 	  	size++;
	  	  }  
	  	end = clock();
	  	time_spent = ((float)(begin - end)) / CLOCKS_PER_SEC;
	  	 printf("malloc time: %lf \n", time_spent);
	}
   return 0;
}