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
609
votes
28 answers

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

One thing I've always wanted to do is develop my very own operating system (not necessarily fancy like Linux or Windows, but better than a simple boot loader which I've already done). I'm having a hard time finding resources/guides that take you…
Giovanni Galbo
  • 12,963
  • 13
  • 59
  • 78
306
votes
4 answers

How to run a program without an operating system?

How do you run a program all by itself without an operating system running? Can you create assembly programs that the computer can load and run at startup, e.g. boot the computer from a flash drive and it runs the program that is on the CPU?
user2320609
  • 2,059
  • 3
  • 13
  • 6
116
votes
20 answers

How can I build a small operating system on an old desktop computer?

This might be in vain, as I know writing an operating system is unbearably complicated (especially by oneself). I don't expect to build the next linux, or windows. I know it will be horrible, and buggy, and won't work, but that's fine. I want to…
Carson Myers
  • 37,678
  • 39
  • 126
  • 176
66
votes
15 answers

Resources to develop an operating system

I'm planning to write an operating system and I don't know very much about operating systems. Are there any good resources or books to read in order for me to learn? What are your recommendations?
Agusti-N
  • 3,956
  • 10
  • 40
  • 47
48
votes
25 answers

How are Operating Systems "Made"?

Creating an OS seems like a massive project. How would anyone even get started? For example, when I pop Ubuntu into my drive, how can my computer just run it? (This, I guess, is what I'd really like to know.) Or, looking at it from another angle,…
stalepretzel
  • 15,543
  • 22
  • 76
  • 91
35
votes
13 answers

Developing an operating system for the x86 architecture

I am planning to develop an operating system for the x86 architecture. What options of programming languages do I have? What types of compilers are there available, preferably on a Windows environment? Are there any good sources that will help me…
Jeff
  • 351
  • 4
  • 3
32
votes
6 answers

Does a LibC os exist?

I remember hearing about an embeddable OS that is essentially just libc (maybe it had support for c++). It didn't have a kernel, pipes or any of the other stuff you expect from an os. I tried looking for it in wikipedia but I didn't see it…
user34537
24
votes
1 answer

Simple kernel won't boot in GRUB

I'm learning a bit of OS development from OSDev.org. I have a kernel and I'm trying to boot in GRUB Legacy (0.97) using qemu. However, when I type kernel 200+9, I get the message [Multiboot-elf, <0x100000:0x80:0x4008>(bad), entry=0x10000c] This is…
gsgx
  • 12,020
  • 25
  • 98
  • 149
20
votes
12 answers

What's the best way to get to know linux or BSD kernel internals?

I'd like to gain better knowledge of operating system internals. Process management, memory management, and stuff like that. I was thinking of learning by getting to know either linux or BSD kernel. Which one kernel is better for learning…
Michał Piaskowski
  • 3,800
  • 2
  • 34
  • 46
20
votes
3 answers

Writing an OS with UEFI

I haven't been coding much lately, but I've decided I want to start working on OS development again. Recently I heard about a system better than BIOS. I want to develop an OS for a platform that uses EFI rather than BIOS. I don't know where to…
Hudson Worden
  • 2,263
  • 8
  • 30
  • 45
19
votes
17 answers

For kernel/OS is C still it?

I like operating systems and would eventually like to become a OS developer mostly working on kernels. In the future will C still be the language of choice and what else should I be trying to learn?
Recursion
  • 2,915
  • 8
  • 38
  • 51
19
votes
6 answers

Roadblocks in creating a custom operating system

It seems to me that the most common overly ambitious project that programmers (esp. Comp. Sci. grads) try to tackle is building your own operating system. (Trying to create your own programming language + compiler is probably even more common but…
Dinah
  • 52,922
  • 30
  • 133
  • 149
19
votes
9 answers

Best Educational Operating System For Study?

What's the best operating system to study in order to write your own x86 operating system from scratch?
mudgen
  • 7,213
  • 11
  • 46
  • 46
17
votes
2 answers

Legacy BIOS bootloader to bootstrap real-mode code in second stage

I am working on writing my own operating system. So far, my code exceeds 512 bytes, which is too large to fit in a simple boot sector. I understand that I now have to write a bootloader that reads arbitrary code that may or may not be greater than a…
Michael Petch
  • 46,082
  • 8
  • 107
  • 198
16
votes
2 answers

Linux memory segmentation

Looking into the internals of Linux and memory management, I just stumbled upon the segmented paging model that Linux uses. Correct me if I am wrong, but Linux (protected mode) does use paging for mapping a linear virtual address space to the…
explogx
  • 1,159
  • 13
  • 28
1
2 3
72 73