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
Other urls found in this thread:
wiki.osdev.org
infiltec.com
en.wikipedia.org
en.wikipedia.org
tldp.org
jobs.ticketmaster.com
ethoberon.ethz.ch
twitter.com
have you heard the God's voice?
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
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
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
Look at what the nigger did to graphic files formats: en.wikipedia.org
Sound file formats: en.wikipedia.org
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
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
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.
>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