#AirOS

1 messages · Page 1 of 1 (latest)

delicate bloom
#

this is my first os

earnest cloak
#

64-bit unix like os on limine and flanterm trl

earnest cloak
gritty oriole
#

no

earnest cloak
#

fuck

delicate bloom
#

i thought it was fine

shrewd glen
#

it is lol

delicate bloom
#

im confused

shrewd glen
#

just ignore them

delicate bloom
#

ok

#

anyways im going to work on VFS now

earnest cloak
#

enjoy your uhhh

64 bit unix like os on limine and flanterm trl

earnest cloak
#

flanterm as well
good terminal but i wanna make my own

delicate bloom
#

why do you have problems with them

vital portal
vital portal
delicate bloom
#

like, limitations?

earnest cloak
#

i want an os to use on my older laptops

#

so i have a slight problem with it being long mode only

vital portal
#

Limine is not long mode only

#

it supports multiboot 1 and 2

earnest cloak
#

i use limine with mb2

vital portal
#

ah

earnest cloak
#

never had an issue with it

#

easier to set up on a disk image than grub imo

#

if i make a 64 bit version of my os im gonna use its boot protocol

delicate bloom
#

i dont really know what you're talking about, this is my first os im kind of new to this lol

delicate bloom
#

will do

earnest cloak
#

nobody uses 2005 computers anyways

#

you're doing good i still need to finish up my vmm :/ (never learned what that shit is even supposed to do, address spaces??)

vital portal
#

there were x86-64 computers in 2005 :^)

earnest cloak
vital portal
#

yeah, but like, after 2010, basically everything was 64-bit

delicate bloom
#

64 bit cats?

earnest cloak
#

at most 2007

vital portal
#

nah

#

plenty of Netbooks were 32-bit

earnest cloak
#

these are netbooks though they're supposed to just browse the web

#

back then a 32 bit processor was enough for that (and to do it somewhat well)

#

they were cheap as well too

#

ngl netbooks were a pretty good entry to pc's

delicate bloom
#

i have 3 cats

#

2 of them are kittens

earnest cloak
earnest cloak
delicate bloom
#

need to install air OS on them

earnest cloak
#

i shall conclude all cats are powered by dec alpha

delicate bloom
#

real

earnest cloak
delicate bloom
#

i is doing vfs right now

earnest cloak
#

air powered™

earnest cloak
delicate bloom
#

pls send help the vfs is eating me

earnest cloak
#

what does your vmm do

#

geniunely

delicate bloom
#

it maps memory

earnest cloak
#

im gonna die if i dont know what a fucking vmm does

#

oh

#

FUCK WHAT WAS I DOING THEN

delicate bloom
#

and unmaps memory

#

it manages virtual memory

earnest cloak
#

i thought it did something fancier than just that

#

i finished that already so long ago :'(

#

what was i doing i need to reconsider life now

#

i was going to do a struct array of mapped and unmapped areas tho

#

idk that might be helpful but thats a whole different story

#

rip

delicate bloom
#

yeah it mostly just manages memory

#

sometimes tho it explodes

earnest cloak
#

oof

delicate bloom
#

and that isnt very fun when it explodes

earnest cloak
#

idk i had a few people tell me my vmm wasn't done and so like i asked them what a vmm does and they had a heart attack explaining and the explanation was somewhat ass

earnest cloak
delicate bloom
#

they overthinking the vmm it just manages virtual memory!

earnest cloak
#

overengineering is ass

vital portal
earnest cloak
vital portal
#

look

#

what people in hobby OSDev spaces typically call "virtual memory manager" isn't really virtual memory management

#

virtual memory management refers to managing pages which may not necessarily currently be in RAM

#

e.g. pages that are swapped out on disk

delicate bloom
#

i like to think of it as managing virtual memory

earnest cloak
#

oh so it manages swap and stuff

vital portal
#

yes

earnest cloak
#

cool

#

im planning for my vmm to just have a list of info about different mapped areas

#

struct array idk

earnest cloak
vital portal
earnest cloak
vital portal
#

not individual pages

earnest cloak
#

that might be simpler though

#

what should i do instead

vital portal
#

what do you do for your PMM?

earnest cloak
#

i can send link for implementation

vital portal
#

and ig equivalent to an array

#

but, searching by address might be slow

#

so maybe some kind of self-balancing tree structure

vital portal
delicate bloom
#

i think i have the vfs done?

#

ii broke the printk

#

there we go

#

vfs complete yay

earnest cloak
delicate bloom
#

not much

earnest cloak
#

:c

#

rip

delicate bloom
#

im very proud of the vfs implementation

earnest cloak
#

congratulations

delicate bloom
#

i can vfs

earnest cloak
#

now add the file systems meme

earnest cloak
earnest cloak
delicate bloom
#

I WILL LATER I SWEAR PLS SPARE ME!!!

earnest cloak
delicate bloom
#

AahhhHHHHHHH

earnest cloak
#

fat32 is somewhat simple hopefully

delicate bloom
#

i would do fat12 and fat16 before fat32

earnest cloak
#

im pretty sure you can do all of them at the same time

delicate bloom
#

i guess

earnest cloak
#

fat32 is im pretty sure an extension of fat16

#

idk you can just do it all at the same time

delicate bloom
#

i'd do fat12 first tho

earnest cloak
#

true

delicate bloom
#

but i would need a block device before i even did any of those, right?

#

i could do nvme, floppy, sata, idk

earnest cloak
#

i wanna ask why you'd probably never use floppies

earnest cloak
#

you need device drivers before the filesystems

delicate bloom
#

makes sense

#

ramfs works for now, atleast until i have userspace

earnest cloak
delicate bloom
#

i read on one of the threads here that nvme was easy???

earnest cloak
#

idk how it is easy

#

its very modern

delicate bloom
#

idk how on earth it could be easy

earnest cloak
#

it has probably more technologies than a nuclear reactor

delicate bloom
#

nothing NVMe smells easy

earnest cloak
#

nothing smells easy

delicate bloom
#

nothing easy

earnest cloak
#

nothing easy everything evil

delicate bloom
#

nothing nothing

earnest cloak
#

everything nothing

#

64 bit cat driver when

delicate bloom
#

64 bit cat driver some day maybe

earnest cloak
#

add cat support

#

what are you gonna do next actually

delicate bloom
#

uhh

#

idk

earnest cloak
#

do you have a uhhh

delicate bloom
#

i never expected to get this far really

earnest cloak
#

slab allocator or whatever they call it

earnest cloak
delicate bloom
#

no i have buddy allocator

earnest cloak
#

over the buddy one

#

so like

#

you have a page

#

and what if a program wants 64 bytes

#

it wont need the whole page

#

so there is a second allocator which splits up pages into [insert number here] byte segments

delicate bloom
#

ohhh so it has smaller segments instead of full pages?

earnest cloak
#

if your program thingamabob requests 128 bytes then just feed it two 64 byte segments

earnest cloak
#

it's a page in a page

#

i need to add that into my os as well

#

idk a slab allocator is a specific implementation though

#

it's used in solaris iirc

delicate bloom
#

eh for now buddy allocator alone works, maybe a slab allocator can be added later on

earnest cloak
#

maybe idk

#

might be a waste of memory though

#

how big are your pages

delicate bloom
#

i forgor lemme check 1s

#

#define PAGE_SIZE 0x1000

#

so 4096 bytes

earnest cloak
#

the classic 4096 bytes

#

so like it wont waste too much memory

#

i was asking because you might have like 4 mb huge pages

#

in that case that would be concerning

delicate bloom
#

4 mb pages arent that great for just buddy allocators without slab allocator cause lots of waste then

earnest cloak
#

true

#

id probably have to implement slab in my case because i have a few memory constraints

delicate bloom
#

like what?

earnest cloak
#

i mean its still a lot

#

the 400 mb might just overflow fast on that poor pentium 3

delicate bloom
#

oof

earnest cloak
#

yeah :/

#

im considering having 64 bit support (not switching outright) but idek

delicate bloom
#

my qemu flags use 8G memory:
QEMUFLAGS := -m 8G -serial stdio
-device VGA,xres=800,yres=600

earnest cloak
#

mine uses 4 gb

#

max for 32 bit unless PAE (page addr extension)

#

which makes that 64 gb i think

delicate bloom
#

32 bit then 4G makes sense, im using Limine tho so 8G is fine in my case

#

plus my host computer has 64G

earnest cloak
earnest cloak
delicate bloom
#

o

earnest cloak
delicate bloom
#

i just spilt a drink all over my desk

#

o

earnest cloak
#

clean up your table

#

o

delicate bloom
#

i just cleaned up my table

#

o

earnest cloak
#

oof
o

#

i meant nice
o

delicate bloom
#

yes

#

o

earnest cloak
#

idk how to stop talking with

o

#

infinite loop of
o

delicate bloom
#

ooooo

earnest cloak
#

gnome disk utility fucked up my usb

o

delicate bloom
#

o no
o

earnest cloak
#

i wanted windows xp

o

delicate bloom
#

oof
o

earnest cloak
#

also can i shamelessly give you my os thread as well

o

#

trl

o

delicate bloom
#

yes
o

earnest cloak
#

#1402126181884625098

o

delicate bloom
#

o very nice o

earnest cloak
#

indeed

o

delicate bloom
#

how long have u been working on it?

#

o

earnest cloak
#

uhhhhh

o

#

idk

o

#

right after i nuked my last os

o

delicate bloom
#

i checked its a month or so
o

earnest cloak
#

nice

o

delicate bloom
#

mine has been in the works for around two weeks
o

earnest cloak
#

also can i friend you for the funnies and also lets stop talking with o im going insane

o

earnest cloak
earnest cloak
#

yeses

#

sent

#

ok anyways we survived the o

#

what was it for anyways

delicate bloom
delicate bloom
earnest cloak
lofty axle
#

NVMe is so easy to get going

earnest cloak
delicate bloom
#

you need to do pci and mmio and other stuff, right?

delicate bloom
#

added PIT handler

lofty axle
#

mmio isn’t an argument either; you access lapic and ioapic via mmio

delicate bloom
#

i guess

#

just seems like a lot

shrewd glen
#

nvme is pretty easy yeah

#

only thing easier than it is virtio

lofty axle
#

yeah

#

ig if you want to test out on real hardware, nvme probably is the easiest way

delicate bloom
#

anyways my os boots on real hardware just tested it, i think the vfs might be a bit unstable for both vm and real hardware right now, but thats not too big of a deal... i hope...

lofty axle
delicate bloom
#

probably

#

but thats enough dev for today i think

lofty axle
earnest cloak
#

are my priorities weird everyone seems to do a shit ton before PIT

delicate bloom
#

idk, i didnt think about PIT cause i kind of wanted the pmm/vmm and heap, then i thought about a vfs, and only then i thought about PIT

delicate bloom
earnest cloak
#

I WILL NEVER BE DONE WITH THE MEMORY MANAGERS

delicate bloom
#

YOU JUST MANAGE MEMORY!!!

#

AHHH

delicate bloom
#

JUST CAST THE MANAGE MEMORY SPELL!!!

earnest cloak
#

uhhhh

delicate bloom
#

i cast Manage Memory!!

earnest cloak
#

sudo chatgpt --prompt "manage memory" --force --give-code

delicate bloom
#

sudo chatgpt --prompt "manage memory" --force --give-code --big-smarts

#

got to make sure it has the big smarts!

earnest cloak
#

yes

#

if no big smarts

#

the world ends or something idk

earnest cloak
#

i apologize to the air os person

delicate bloom
#

carl