Questions tagged [osdev]

Operating System development: kernel, shell, networking, cross-compiling, etc.

An operating system is the base software that runs atop computers. It has at least two important roles:

  • it manages access to the underlying hardware, regulating competing access to the same resources from multiple programs;
  • it presents an extended machine for programs that is easy to understand and use.

Operating system development comprises several topics, like:

  • kernel;
  • supporting operating system utilities (e.g. the shell, networking, etc.);
  • cross compiling.

Resources

This community wiki contains links to several interesting resources and courses to get started on operating system development:

What are some resources for getting started in operating system development?

1093 questions
-2
votes
1 answer

How systemcalls are handled by the kernel?

I used to think of systemcalls as blackboxes, later I discovered that it sends an interrupt(0x80) to the kernel which calls the appropriate interrupt handler. However I'm still unable to understand what's really happening underneath the hood, what…
Trey
  • 474
  • 2
  • 9
  • 32
-2
votes
2 answers

Convert string of hexadecimal to decimal in c

I am writing an operating system in C and assembly, and in implementing the EXT2 file system I have encountered a problem. I need to convert FOUR bytes of hexadecimal to decimal in c. An example would be to convert 00 00 01(10000) to 65536.I need to…
Zach S
  • 86
  • 1
  • 7
-2
votes
2 answers

MP Specification for AMD, how to use code to boot multiprocessors as regards to AMD

I am trying to write an os that support multiprocessor, however I don't know how to bootstrap multiprocessor for AMD, and I have searched the AMD homepage to find the MP Specification, but haven't find it, can anyone tells me the link address?
-3
votes
1 answer

How to do a linear frame buffer in assembly

I am using Bochs and trying to develop a simple operating system, using Assembly and C. I have chosen to use 1024x768 at 24bpp, but I cannot write to the majority of the screen as 0xa0000 to 0xaffff does not have enough space (only 64 KB). I am…
-3
votes
1 answer

absolute physical memory reference

Consider a program that uses absolute physical memory references movl ($0x100), %eax movl ($0x104), %ebx movl %eax, ($0x104) movl %ebx, ($0x100) This program works fine when it is loaded at address 0x0, but not when it is…
-3
votes
1 answer

Asm: Moving assembly instructions to specific address

Well, I am trying to find an assembly instruction that moves whole instructions to a specific address(which is independent of the size of the instruction). If there is no such instruction, could anybody give me some ideas on how multithreading could…
-3
votes
1 answer

Compiler warnings when implementing outl

For a class project I am implementing a kernel level network driver which makes use of writing various values to ports. I've created macros for outb and outw which all work fine, but outl continues to give compiler warnings. Defined like…
tVoss42
  • 554
  • 4
  • 16
-3
votes
1 answer

Using pointer as an array - C

I found in C code at this page: uint16_t* terminal_buffer; What does it mean? Is it the same as uint16_t *terminal_buffer;? Than variable terminal_buffer is accesed like an array: terminal_buffer[index] = make_vgaentry(' ', terminal_color); Can…
pruky
  • 1
  • 1
-4
votes
1 answer

How do I create a text wrapper for the kernel?

I studied the content from the osdev.org website and built a compiler, launched a test kernel, but I thought, how can I create a primitive text shell for the kernel with commands? Maybe someone can explain to me with an example how to implement…
1 2 3
72
73