Operating Systems

How do I into OS programming? It seems like a really interesting area, but also incredibly complicated even if you go way back to boomer OSs from the 80s.

Attached: mpv-shot0002.jpg (1920x1080, 220K)

Other urls found in this thread:

0xax.gitbooks.io/linux-insides/content/
pdos.csail.mit.edu/6.828/2017/xv6.html
github.com/dbader/potatoes
github.com/klange/toaruos
twitter.com/SFWRedditGifs

The term you're looking for is "Systems Software Research."

i want to nakadashi aocchi

What does that have to do with operating systems?

Learn from Terry's work, unironically.

It is related a fair amount in my opinion
t. Systems engineer

Huh? Do you also ask how buns are related to hot dogs?

Get on the serenity project and learn with us.
We are making the boomer unix os of the 21st century.
Make sure you know C/C++/unix shell
(not kling btw)

Are you a Canadian cuck or a guy from Moscow?

Only when they are aocchi's buns and not my hot dog

I'd fill Hifumi like a Twinkie.

Attached: 570ccf877e284e70751835ddd11c9f6f1462548815_full.jpg (600x533, 77K)

i want to nakadashi hifumi-senpai

None i'm greek with denbts

Read the 64 bit Isa
Cry
Somehow have the energy to start the project

go to wiki.osdev.org
learn how to read a datasheet
cry a lot

write linux kernel modules
learn assembly
look through manuals

I know C++, am working on C. Should I just jump straight down to assembly and do C after I become comfortable with that?

thanks for the suggestion, I'll give it a look

waste of time. learn to do something actually useful

You can make an OS in C++. You don't need C. You also don't need to know asm because most of the time when you need it it's some dumb shit like invlpg and lgdt.

Be an insufferable cunt that everyone hates to work with

What is more useful than learning the body that runs your program!s? Study data structures and algorithms feels so farcical without having a deeper understanding of hardware and low level systems

there are more people working on it? i thought it was a one man thing

Indeed, most people just settle with releasing yet another fucking loonix distro based on another loonix distro based on whatever the fuck.

>serenity
Why the fuck would you waste time on another Unix clone? GNU/Linux won, get over it. Contribute to something interesting like 9front or haiku.

Attached: 1548706987984.png (1152x900, 16K)

there are quite a few people. i contributed like 50 lines to the shell. not big into C++ so it's not so fun catching up with all the new language features, but the project is great and there's a lot of different stuff to do.

Tanenbaum "modern operating systems" 5th edition

Maybe you should study some english.

Making an OS could be a good learning experience, I guess.

> why would you waste your time on a unix-clone, instead you should waste your time in a unix-clone
Because i want to learn how to make an operating system.
Serenity is quite young and not nearly enough as convuluted as linux.
Also when devs are also the people working on the ui and userland we get people that can work on anything the system has.
Kling is the main dev but a lot of people contribute. I myself,still a rookie in uni, want to learn how unix works and possibly write some of the missing userland.

You make babies with waifu, and since learning about OS programming is hard for old guys like myself i'll make my kid's learn about OS programming so they can do it for me.

Everything.
Nothing.

I'd get nenechi (19!!!!!) pregnant with triplets

>19

wow she's old. Too old in fact, I bet her eggs have gone sour already.

Learn C. (tcpl 2nd ed)
With that out of the way, read operating systems design and implementation 3rd edition.
Then go write some code. Helping minix3 would be a good start.

I would rather ahagon.

this. 12 or gtfo

this is white supremacy

Actually I remember some people making hobby OSs project. Why would anybody try a hobby OS out?

Attached: Starfire_1.png (1107x707, 838K)

thing that helped me personally was getting and embedded fw/sw dev job and do baremetal programming. I learned 32-bit ARM Cortex-M architecture into great details, migrating my knowledge to x86 was easy from that point.
C is must know, C++ is optional choice. Both need to work with linker and object files anyway. Learning to read ASM is not hard, the small things you need are usually easy to copy-paste from existing implementations. But you need to understand ABI, call conventions and registers. Also CPU features since part of kernel is actually CPU driver.
Read some OS book and go through some online uni course.
>Tanenbaum is classic but I hate that guy and how he writes
>dinosaur book
>three easy pieces
>ThinkOS
>The Design and Implementation of the FreeBSD Operating System
>Introduction to OS Abstractions Using Plan 9 from Bell Labs
>Plan 9 nemo book
this will teach you some abstractions OSs use, some modern features like virtual memory and rings, separation from that such as processes, syscalls, IPC; resource management such as VFS. note that those most;y describe OS design from 80s so don't get caught in the dogma, exploring ideas is important even if it leads nowhere
learn about loaders and linkers, how thinks work in binary is good to know anyway
write your own toy OS. desu dealing with x86_64 is not pleasant if you don't really know what you are doing, so x86 is preferred. or ARM if you have some cheap board. you don't need to build any driver framework for toying, most of the work will be exploring classic peripherals and writing drivers for them. don't expect too much. building things from scratch is lot of fun! QEMU is your friend
explore existing OSs, some are actually easy to read
>pre-1.0 linux releases
>plan 9
>helenos
>xv6
>barrelfish
>fuchsia is surprisingly readable
templeos is kinda misfit, it's riddled with wonderful concepts, drastically streamlined, kinda alien as it's not unix at all. I like it because I have never seen non-unix OS before

On the easy to read department, I agree about helenos, having read some myself.
I would add Minix3 and Netbsd.

some helpful resources:
>www.bottomupcs.com
>pages.cs.wisc.edu/~remzi/OSTEP/
>0xax.gitbooks.io/linux-insides/content/
>wiki.osdev.org is classic but kinda trash desu
>os.phil-opp.com is nice but rust
>littleosbook.github.io
>pdos.csail.mit.edu/6.828/2017/xv6.html
>www.jamesmolloy.co.uk/tutorial_html/
>www.osdever.net/bkerndev/Docs/intro.htm
>github.com/dbader/potatoes
>github.com/klange/toaruos
>and newly serenity. the graphics stack is nice to follow, kinda unique between toy OSs that are mostly console-based
the benefit is simple: you learn basics to get into the existing complexity easier

What does this have to do with cumming inside Aocchi?

I prefer ahagon.

everything

Attached: magic.png (270x270, 156K)

what kinda os are you interested in