What stuff do I need to know to write my own operating system like terry? are there any books I can read

what stuff do I need to know to write my own operating system like terry? are there any books I can read

Attached: 55.png (213x237, 8K)

Other urls found in this thread:

wiki.osdev.org/Barebones#Booting_the_Operating_System
infiltec.com/j-h-wrld.htm
en.wikipedia.org/wiki/BMP_file_format
en.wikipedia.org/wiki/WAV
tldp.org/LDP/tlk/tlk.html
jobs.ticketmaster.com/ListJobs/ByCustom/TM-Job-Function/Keyword-Engineering-Tech
ethoberon.ethz.ch/WirthPubl/ProjectOberon.pdf
twitter.com/NSFWRedditImage

have you heard the God's voice?

Attached: priest.png (231x218, 6K)

yes but He didn't tell me what to do, just that I needed to do something

You need to know what you need to know

Legit need to know this as well.
I know about the OS Dev wiki but I have no idea if there are any concise books. It seems all the relevant info is scatered all over the place. Even the linux kernel has terrible documentation.

I looked at the wiki and got stuck during the "build your own gcc cross compiler" section, idk if that is because I'm a retard or gcc just takes insanely long to compile (i have an i3)

yeah but where do I start? I already know C at an okay level but I don't know what to do beyond that

Him who knows that I know what he seeks to know, knows it well. While he who knows not, knows not what I know or know not.

If you haven't written a C++ to Go compiler don't even bother

My OS class used pic related as the textbook, but I learned far more from the lectures

Attached: Operating system concpets 8th Edition.jpg (500x500, 42K)

You have to be the best programmer that ever fucking lived

>what stuff do I need to know to write my own operating system like terry? are there any books I can read
Operating Systems: Design and Implementation
Modern Operating Systems

Both by Tanenbaum.

Don't bother with x86. It is a massive pain in the ass, like enabling 32-bit memory addresses through the Intel 8042 PS/2 controller. Or well, dealing with all the legacy garbage in general.

>Tanenbaum
cuck+kike

I actually have that book and it's pretty good just had to nae-nae on ol' tanenbaum for a quick second :D

why would he write a compiler for a meme language

because if you can't write a DFA for C++ then you're a literal brainlet

this one and OSD textbooks are very repulsing to me because I can't put up with learning hours of theoretical concepts and not seeing it in action. something like LFS would be nice but the stable release of the book can't keep up with all the big changes in the gnu buildutils over patches. i havent checked out the unstable book yet so I can't say for sure

gcc takes a while to compile but it doesn't take absolutely forever even on my old Phenom II 965 chip (got a Ryzen now though, much faster).

Enable threaded compilation and it won't take several hours, even on a slow chip. Also, if you've got a lot of RAM it's worthwhile to set up a ramdisk for the compilation itself as that is much faster.

wiki.osdev.org/Barebones#Booting_the_Operating_System

Don't bother with your own bootloader. I'm serious, I made that mistake and it's an absolute clusterfuck and not very fun either.

Once you've gotten into your kernel, you can look at trying to implement a keyboard driver for basic input.

This is bullshit. You just have to be able to read documentation.

not op but can i do this windows? i read something about mingw/cygwin but everything else was gibberish to me

Err, I'm not an authority on this since I haven't used Windows except for brief run-ins with it for over 10 years now.

Take a look at WSL or just use cygwin/mingw32 if you want to use *nix tools for it. Or install Linux or a BSD in a VM. Unfortunately Windows itself is already a bad platform to work with ASM and C on, and then it also lacks some of the necessary tools to develop an operating system.

I have no idea how the Windows developers themselves deal with it.

>I have no idea how the Windows developers themselves deal with it.

cl.exe

I want to reimplement project Oberon in Ada but really can never follow larger projects to completion

make a repository on (((github))) maybe we can collaborate

Funnily enough, I regarded myself as an accomplished programmer until I took my OS course.
I fucking hated it and didn't finish any of the assignments since I couldn't get my threads to cooperate with one another. I'd build entire mathematical back-ends for calculations only to have the data go off into oblivion and never return.
It fucking broke me. I'm literally a technician who rides a desk while avoiding anything to do with writing software [spoiler]and I love it.[/spoiler]

what course material were you using senpai?

how can you boot from files that are compiled inside a VM? can VM files be copied into the original system?

you learned that programming is shit, total fool's errand

Me I wanna know how to use TempleOS itself and modify it to my liking, I want KDE and network on it.
Where can I learn HolyC and what shell TOS uses?

if you target ARM you don't need to build the cross compiler

but the problem is ARM's documentation being a scattered mess

templeOS with networking is available on github. it's called "shrine" but I think terry would consider adding networking into temple blasphemy

Terry would approve of us modifying his OS against the CoC fuckery. You can keep everything that makes TempleOS with more.

this 2bqh, environmental engineering looks more and more attractive every day to me

Our needs are changing now... TempleOS might be the key

I'm pretty sure Terry talked about how he would add networking to TempleOS in one of his videos

I doubt terry would give a shit about what goes in loonix atheists world, templeOS with its temple program was/is only intended to be your personal phoneline to God

C and 8086 assembly. God speed user.

>8086 assembly
any good books or references for this?

so there's at least three people here interested in this. Should we start an IRC channel or something for moral support?

I'm currently learning ARM assembly to port the HolyC compiler to ARM, so I can port TempleOS to ARM.

I know ARM arch32 and arch64 very well, and have built many OSes and, a few desktop environments.

i wanna write a multitasking operating system for the NES

yeah do it, just don't put it on freenode because that server is AIDS

Learn 6502

there must be an osdev discord

i know it, which i why i won't be attempting said feat

>TempleOS_Terry_Davis 1 point 3 years ago
>No. Networking is not really in the plans.

>goto coursera.com
>complete nand to tetris course
>you are now master of computes

Pretty sure he was speculating about how it would work on one of his videos. Not like he was going to do it but it didn't seem like he was necessarily against it

holy shit this fucking genius madman

"A nigger respects complicated programs. The more complicated the more the little niggers respect it. Ask a nigger to design a operating system task scheduler! It's hilarious watching a nigger make priority schedulers.

I make my programs simple.

I have an electrical engineering degree. I am a master of differential equations.

Physics>Engineer>Computer Science> Psychology.

The nigger standard model is 20 pages instead of two and it's really really complicated.

When a computer scientist builds something he says, "What all features might we possibly need?"

When I design I make it as simple as possible.

Hello world joke: infiltec.com/j-h-wrld.htm

Look at what the nigger did to graphic files formats: en.wikipedia.org/wiki/BMP_file_format

Sound file formats: en.wikipedia.org/wiki/WAV

Any nigger can make it complicated. A nigger makes it as complicated as possible. I am a genius. I make it simple."

>Discord
Pls. Go fuck yourself.

#npc_osdev @irc.rizon.net
I'll be logged in more or less an hour

tldp.org/LDP/tlk/tlk.html

shows data structures used in the linux kernel and breaks it into easy to understand parts. just clikc the damn link

I'm in the room, there's no one here

looks nice
thanks

discord is nonfree spyware but it does have some advantages like persistent logging of useful information and file sharing/storage

is it best to use a BSD while trying to learn from K&R C?

You don't do that. You can create an image for the VM and format it with ext2 like so:

$ dd if=/dev/zero of=image.img bs=512 count=50000
$ fdisk -u image.img

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): o
Created a new DOS disklabel with disk identifier 0x28b91ea1.

Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-49999, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-49999, default 49999):

Created a new partition 1 of type 'Linux' and of size 23.4 MiB.

Command (m for help): w
The partition table has been altered.
Syncing disks.

# losetup -o 1048576 /dev/loop0 image.img
# mke2fs /dev/loop0
# losetup --detach /dev/loop0


Now you've got a partition table and an ext2 partition table. All you need to do now is write your bootloader to the MBR and put your shit on the ext2 partition by mounting it with the loopback driver.

>loopback driver
what does that mean

Attached: 1.jpg (280x180, 8K)

or he could start with qemu which can load ELFs

>I can't put up with learning hours of theoretical concepts and not seeing it in action
Are you me dude?
How do we escape this curse?

Assuming you never ran the "losetup --detach /dev/loop0" command:

# mkdir /mnt/loop
# mount /dev/loop0 /mnt/loop

Now you've got a virtual hard drive image mounted in /mnt/loop.

I am assuming he is using a bootloader. If you wanna load an ELF directly, go ahead.

how do you mean? like boot an ELF file that was made inside a qemu VM or an ELF made outside qemu?

no

You need a good CoC for any project user

Oberon is awesome, get yourself some amphetamines and get to work boii

to what end?

What needs are changing?

Start with the hardware.
Knowing how to engineer a computer chip and circuits is (surprisingly) very helpful when it comes to programming instructions that tell chips and circuits how to act.
Learn assembly.
Design a language and create a compiler for it.
You ought to be able to take it from there on your own.

Don't get too caught up in emulating the design patterns of others, just because it looks easier to make something that works that way.

consider an OS that runs using JIT compilation-
arbitrary instructions, cross compat
instruction vulnerabilities patchable...

networking on ring 0?
that just might be insane enough to work

sounds terrible

probably.

jobs.ticketmaster.com/ListJobs/ByCustom/TM-Job-Function/Keyword-Engineering-Tech

ethoberon.ethz.ch/WirthPubl/ProjectOberon.pdf

Attached: OberonScreen.png (509x386, 56K)

>tells you more or less 1h
>1:00
>wtf where are you dude
I was getting home from work, chill

>want to register a nick
>rizon can't even auth mails correctly so my mail server rejects it
holy kek

If you were smart enough to do so, you'd already be doing it. You also wouldn't be asking questions here. Jow Forums is full of retards,

You are all fucking faggots. No one mentioned The Minix Book, AKA Operating Systems: Design and Implementation by Tanenbaum.
It's the one book that Linus used to start working on Linux.

See

Terry just made something that works inside a virtual machine, outside of that environment its useless. You could build a replacement for Firefox with a plugin system and his own language and it would be the same

If it works in a VM it likely works on metal.

There's a lot of cool shit in TempleOS, but it's not a usable operating system for today's environment one way or another simply because it all runs in ring 0.

Nah fuck this shit. Rizon can't even send emails properly

>He's so autistic he doesn't want to nick himself anon47365 and wants a real nick

I want to hide my reverse DNS