theyneversleep has quit [Remote host closed the connection]
alpha2023 has joined #osdev
netbsduser has quit [Ping timeout: 268 seconds]
Turn_Left has quit [Read error: Connection reset by peer]
heat has quit [Quit: Client closed]
k_hachig has quit [Ping timeout: 240 seconds]
aejsmith has quit [Ping timeout: 256 seconds]
gog has quit [Ping timeout: 255 seconds]
aejsmith has joined #osdev
ramenu has joined #osdev
k_hachig has joined #osdev
k_hachig has quit [Ping timeout: 264 seconds]
theruran has quit [Quit: Connection closed for inactivity]
navi has quit [Ping timeout: 252 seconds]
<geist>
nooo!
aejsmith has quit [Ping timeout: 256 seconds]
aejsmith has joined #osdev
cow321 has joined #osdev
k_hachig has joined #osdev
cow321 has quit [Remote host closed the connection]
cow321 has joined #osdev
cow321_ has joined #osdev
cow321 has quit [Ping timeout: 268 seconds]
cow321_ is now known as cow321
<zzo38>
I had set up a NNTP for discussion of the operating system design that I intended to do.
<zzo38>
The abstract system call interface can be defined, and then ABI of systems calls with specific instruction sets can be defined, and then the other specifications also can be made up, too.
Arthuria has quit [Ping timeout: 255 seconds]
<zzo38>
The abstract message format is a sequence of bytes and/or capabilities. A "capability" in this case is similar than a file descriptor in UNIX, as though it can only refer to a UNIX socket which has been created with the socketpair function, although with some differences (many of the operations available in UNIX are not available).
goliath has joined #osdev
<zzo38>
The kernel only knows of the message format like that, although a convention will be defined for higher-level interfaces for the format of these messages. For purpose of emulation and network transparency, the same endianness, integer sizes, etc are used for all computer types.
<zzo38>
Maybe, there might even be possible to generate wrappers for C libraries that use opaque objects, that they can be used in the same process or in a separate process and the program can be written in mostly the same way in either case.
rustyy has joined #osdev
<zzo38>
Do you like this? Do you have other comment/opinion relating to this?
aejsmith has quit [Ping timeout: 255 seconds]
aejsmith has joined #osdev
<geist>
hmmm
<geist>
sounds fairly interesting
cow321 has quit [Ping timeout: 252 seconds]
k_hachig has quit [Ping timeout: 246 seconds]
cow321 has joined #osdev
janemba has joined #osdev
cow321 has quit [Read error: Connection reset by peer]
cow321 has joined #osdev
pebble|2 has joined #osdev
cow321 has quit [Read error: Connection reset by peer]
<bslsk05>
'Demolition Man Illuminate clip' by Karl Jonsson (00:00:38)
<pog>
don't you have something to do, don't you have someone to PESSIMIZE
<GeDaMo>
:P
<nikolapdp>
posix_pogspawn
<pog>
POSIX
<pog>
more like
<pog>
idk
<nikolapdp>
ILLUMOS
<pog>
YES
<pog>
ILLUMOS
<nikolapdp>
so what os related projects is everyone working on
<pog>
i debugged some things that i was struggling to debug recently
<pog>
and now i'm moving on to deciding how to reimplement physical memory management
<zid>
I do that every 4 weeks
<zid>
then decide to ride bikes
<zid>
and chase squirrels instead
<zid>
I've so far absolutely hated every method I've come up with equally at least
<GeDaMo>
That doesn't seem fair unless the squirrels also have bicycles :|
<zid>
GeDaMo: Squirrels have built in hover technology
spare has quit [Remote host closed the connection]
<pog>
squirrels can climb trees
<zid>
the bicycle barely helps
<pog>
a bike cannot generally
<zid>
They just float across the ground at 30mph
<nikolapdp>
just write something and move on
<nikolapdp>
or you'll forever reimplement physical memorey management
<zid>
noooo
<zid>
you have to like it
<nikolapdp>
then force yourself to like it
<pog>
this is a small part of my larger overall refactoring
<pog>
i think i'm making a microkernel
<zid>
I could never bring myself to do that
janemba has joined #osdev
<pog>
but i heard that microkernels are better
<pog>
and that linux is not a microkernel'
<pog>
so i'm going to do what linux doesn't out of principle
<zid>
microkernels are great if you ignore all the things that they're no good at
<zid>
which some people are mentally capable of doing
<nikolapdp>
pog is opposite of heat
<pog>
yes
<nikolapdp>
i'd probably end up writing a sort of a hybrid
<nikolapdp>
like fs drivers in userspace or something
<zid>
yea fs drivers in userspace seems.. roughly fine
<zid>
fuse is slow but I don't think it *has* to be
<zid>
I think it just happens to be
<nikolapdp>
it certainly doesn't have to be this slow
<zid>
You might be able to make it faster than an in-kernel driver even
<nikolapdp>
memory sharing would go a long way to speed it up
<zid>
if you consider the bottleneck to be 'how many syscalls do I need to do', then perhaps usermode fs could win out, by making dirent lookups from cache not need a syscall etc
<nikolapdp>
also some device drivers in userspace are also probably fine too
<mcrod>
that looks like those ramen cups which are 40 cents
<nikolapdp>
lol literally
<zid>
It was $2 actually
<mcrod>
if so, they are *extremely* unhealthy
<zid>
which poisons does it contain?
<zid>
(fucking hate that shit, total pet peeve)
<zid>
I'm not a 500lbs american, I can eat whatever the fuck I want
<nikolapdp>
lol
<zid>
Either it's poison or it isn't
<nikolapdp>
good counterpoint
pog has quit [Remote host closed the connection]
<mcrod>
the sodium content in some of those cheap ramen cups is bad, very very bad for you, whether or not you're an american or a plain british man
<zid>
high salt intake is only shown to do anything if you have a pre-existing condition
<zid>
like from being a 500lbs american
<mjg>
don't eat ramen ffs
<mjg>
isn't this eastern hotdog counterpart
<zid>
brb pizza cooked
<nikolapdp>
yum pizzy
<mcrod>
high salt content and pizza on top of it?
<mcrod>
i wish i was your age again
* mcrod
old
<nikolapdp>
):
<mcrod>
for the record, i have high blood pressure and i'm nowhere near obese
<nikolapdp>
well depending on how old you are, that's not uncommon
<mcrod>
i'm 29
<mcrod>
but it started when i was 27
<nikolapdp>
ok not old enough
<nikolapdp>
lol, never mind
<mcrod>
some of it was psychologically induced
<mcrod>
but in my latest round of blood work my cholesterol is way too high
<nikolapdp>
you're too young to have cholesterol issues
<zid>
The trick is to not be 500lbs, and then you can have as much salt as you like, and it's still only like, 3 grams, because it's on 1800kCal instead of 8000kCal
<zid>
(This pizza is 1.6g and almost a thousand kCal)
<nikolapdp>
heh
<nikolapdp>
unless you have preexisting issues
<mcrod>
there's a genetic predisposition to cholesterol/high blood pressure issues on my dad's side
<zid>
I'm saying you can't get to dangerous intake levels
<zid>
unless you're overeating
<zid>
or literally eating salt
<mcrod>
what are your feelings on smoking cigarettes occassionally?
<zid>
presumably they're all poisoned to death 5x over
<nikolapdp>
yeah clearly
<zid>
mcrod: probably fine, the damage isn't purely cumulative
<zid>
if you out heal it you only really have to care about random chance fucking you
<zid>
(cigarettes fairly radioactive etc, could technically cause lung cancer in one puff, or a million puffs)
gog has joined #osdev
cow321 has quit [Read error: Connection reset by peer]
<kof673>
mcrod, i strongly suspect your cat has an excalibur ...around dorado, the golden dolphin/swordfish > Arthur, son of the Great Bear, is the equivalent of Sut-Har of the Dog-Star > the Dog-Star, Bar-Sutekh, or Sut-Anubis
<mcrod>
what
janemba has quit [Read error: Connection reset by peer]
<kof673>
i thought you named it anubis lol
<zid>
It's stochastic.
<kof673>
it appears in alchemy land right there lol you will have to cross-reference :)
Arthuria has joined #osdev
<zid>
Fun way to think about it is the combination of the two facts that wounds cause cancer, and smoking is peppering your lungs with tiny wounds from shotgunning hot smoke particles into them
<zid>
wounds cause cancer because cell division causes cancer, and wounds stimulate a lot of cell division
<zid>
okay last fun cancer fact, we're in the shitty part of the bell-curve for cancer. Animals with many fewer cells, like mice, don't really get cancer, the statistics just aren't there for it to happen very often. Animals with many *more* cells, like whales, get a lot of cancer, but the tumors are so small relative to their bodysize that they can basically ignore it.
<zid>
Thank you for coming to my tedx talk
<gog>
fancy rats get cancer all the time
<nikolapdp>
you're welcome zid
<zid>
We pretty much tell them to
<nikolapdp>
not that we had a choice :P
<zid>
"Here's half your bodyweight in uranium for breakfast"
<zid>
"huh til uranium is toxic"
<nikolapdp>
well better mice than us
cow321 has joined #osdev
<zid>
I think they've bred the cancer rats to get more cancer, knocked out some cell repair genes or whatever
<zid>
ah no, they've literally knocked out their T cells
<mcrod>
god
<mcrod>
I cannot believe Zephyr is the hot new RTOS in town
<zid>
They're *incredibly* immunosupressed, so any cancer cell is guarenteed to grow into a nice big tumor
<nikolapdp>
mcrod why can't you believe it
<nikolapdp>
it's the only one i've heard mentioned in a while
<mcrod>
because it is wildly complicated for really no reason
<zid>
vxworks for life
<mcrod>
at work we use freertos, but that will no longer be the case moving forward, it'll be zephyr
<nikolapdp>
mcrod: sure, isn't that the theme of software in $CURRENT_YEAR
<zid>
nikolapdp: I feel like microkernels, rtoses etc, are a domain where "I keep hearing about it" means "nobody uses it"
<zid>
Because nobody *talks* about industrial control software
<nikolapdp>
eh fair
<mcrod>
nikolapdp yes
<mcrod>
the technical term is enshittification
<nikolapdp>
indeed
<nikolapdp>
and when you avoid it, you're seen as a weirdo
<mcrod>
it's the increased CO2 in the atmosphere, or the microplastics
<nikolapdp>
wat
<mcrod>
i'm joking you dummy
<zid>
meh, microplastics are boring and probably totally inert
<nikolapdp>
well that remains to be seen since there's been no significant research there that i am aware of
<mcrod>
but yes, i have no idea why people masturbate to making things as complicated as they can possibly be
<mcrod>
things that are complex naturally do exist, but to deliberately make things such is just harmful
<mcrod>
hm that was weird
<mcrod>
why did that happen
<nikolapdp>
what was
<zid>
no, complex naturally generally makes them *less* bioavailable
<zid>
That's the thing about polymers, unless they unravel into monomers, they're not really going to react with much, it's sort of the *point* of them
<mcrod>
oh so I guess irccloud did something funny
<mcrod>
i saw my sentence three times
<zid>
like, teflon is almost entirely inert, that's *why* nothing sticks to it. Unless you heat it to a couple hundred degrees and it starts to decompose, then it's a ridiculous poison :D
<mcrod>
zid
<mcrod>
i wasn't talking about that *at all.*
<mcrod>
by "things that are complex naturally do exist", I was talking about shit like black holes
<zid>
what
<zid>
the fuck
<mcrod>
what
<zid>
That is the *least* meaningful thing I've seen said all week
* nikolar
eats popcorn
<mcrod>
too bad
<zid>
mcrod: Catterpillars are bourgeoisie
janemba has joined #osdev
<zid>
caterpillars*
<mcrod>
you're not playing elden ring shadow of the erdtree are you
<zid>
yes, because that'd make that make sense
<mcrod>
these are unrelated questions
<mcrod>
keep up
<zid>
That's exactly my complaint.
<zid>
Have you considered having a conversation, not a word salad
cow321 has quit [Read error: Connection reset by peer]
<mcrod>
ok, we will now switch to the following
<mcrod>
RTOS
<mcrod>
zephyr sucks
<zid>
we were already there!
<mcrod>
we will now switch to the following: video games
node1 has quit [Ping timeout: 250 seconds]
<mcrod>
are you going to play the elden ring DLC
<zid>
No I don't think my gpu will run it
<zid>
they bumped the system reqs and they were already pretty op
<zid>
I'll watch someone play through it ofc though
node1 has joined #osdev
<mcrod>
we will now switch to the following: nothing
<nikolapdp>
ooh context switching
cow321 has joined #osdev
<zid>
GeDaMo: Did you ever expedite any monsters?
<mcrod>
:D
<zid>
isles of sea of sky is too hard so I started replaying that instead (I say replaying, I just mean I started over, it's not like I 100%'d the first time)
<nikolapdp>
* you and me
<nikolapdp>
he tends to have that effect on people it seems
<zid>
nikolapdp are you talking to ghosts
<nikolapdp>
wouldn't you like to know
<mcrod>
probably
<zid>
I assume he was trying to privmsg shittalk but missed
<mcrod>
who, me?
<zid>
pdpirc not ergonomic enough
<nikolapdp>
i need colours
<zid>
nikolapdp: was it me you were shittalking?
<nikolapdp>
wouldn't you like to know
<mcrod>
maybe i'll wake up tomorrow and my illness will be completely cured
<nikolapdp>
i do wonder if i can use ansi escape codes here
<nikolapdp>
mcrod let's hope so
<mcrod>
well it's almost over with
<mcrod>
it's just that my nose is basically shut down
<nikolapdp>
annoyin
<nikolapdp>
hah
<nikolapdp>
it works
<nikolapdp>
i can output colour
<zid>
My client has never even heard of ANSI sadly, I think it still strips it though
<zid>
I can do this though
<nikolar>
how
<nikolar>
it's fancy
<zid>
to stop people HACKING ME
<nikolar>
how does that stop
<zid>
if I parse ansi willy nilly then they can just inject random shit into my terminal
<zid>
including the macros
<nikolar>
no i meant how did you do the thing
<zid>
Standard KHALED MARDEM BAY TECHNOLOGY
<zid>
\x2 or something
<nikolar>
ah
<zid>
ah, bold is 0x2, italic 0x1d, underline 0x1f, strike 0x1e, colour is 0x03
<bslsk05>
'DEF CON 31 - Weaponizing Plain Text ANSI Escape Sequences as a Forensic Nightmare - STÖK' by DEFCONConference (00:40:31)
<zid>
re the other thing
<nikolar>
i wonder
<nikolar>
how do i add swap to bsd 2.11
<zid>
swapon
<zid>
if that doesn't work I am out of ideas
<nikolar>
swapon hasn't been implemented under 2.11BSD.
<nikolar>
lol
<nikolar>
no, you're supposed to add a disk to fstab as swap
cow321 has quit [Read error: Connection reset by peer]
<nikolar>
but i don't know how exactly
<zid>
oh that makes sense
<zid>
in the eff stab
<nikolar>
eff stab?
<zid>
(fstab looks like f stab not fs tab)
<nikolar>
ah lol
xenos1984 has quit [Read error: Connection reset by peer]
<zid>
'st' being a highly bredable set of morphemes compared to 'fs'
<nikolar>
indeed
<dostoyevsky2>
is swap difficult to implement in bsd2.11?
<zid>
it's implemented already
<zid>
he just doesn't have any
<dostoyevsky2>
If it were to have demand paging of executables... well, you'd have that part
<nikolar>
i don't know how to enable it
<nikolar>
it's probably already trying to swap
<nikolar>
swap was basically necessary when you had a couple of mb of ram at most
<nikolar>
(technically up to 4mb but that's pretty rare)
<dostoyevsky2>
bsd2-src/sbin/swapon/
<zid>
just go look at the fstab parser nikolar
<zid>
or just change the fs type from whatever to swap and see if it magically works :P
<zid>
on a different stolen entry
<nikolar>
yeah i need a swap device first i think
<dostoyevsky2>
> [bsd2-src/sbin/swapon/swapon.c] main() { puts("swapon hasn't been implemented under 2.11BSD."); exit(-1); }
<dostoyevsky2>
they even wrote a man page for it
<nikolar>
dostoyevsky2: i've just posted that dostoyevsky2
<nikolar>
they copied from 4.3 presumably
<dostoyevsky2>
yeah... can you do man swapon?
<zid>
do you have fsdisk or something
<zid>
idk bsd
<nikolar>
apparently /dev/swap is just a hardlink
<nikolar>
no, not yet
<nikolar>
on this version, the partitions are hardcoded in the drivers lol
cow321 has joined #osdev
<dostoyevsky2>
nikolar: Yeah, I was looking through the code, the problem is that swap is such a common name that it's hard to figure out if any kind of swap is implemented in the kernel itself... and that swapon with man pages and just a .c file printing its not implemented isn't helping
<nikolar>
huh wait, it might have work to just add /dev/swap
<nikolar>
ps works now at least
<nikolar>
btw dostoyevsky2, it matters which patch level you're looking at
<dostoyevsky2>
> #define _PATH_NETNIX "/netnix"
<nikolar>
diskpart was added later
<dostoyevsky2>
I wonder what netnix is
<nikolar>
but it's still 2.11
<nikolar>
ok well the networking doesn't fit into the kernel exactly
<nikolar>
that's why netnix is the other part of the kernel that's basically just for networking
aejsmith has quit [Ping timeout: 268 seconds]
k_hachig_ has joined #osdev
<dostoyevsky2>
But there is still only one kernel? Or are there technically two kernels?
<dostoyevsky2>
Which reminds me I wanted to learn more about tun devices in Linux... I suppose it's about defining networks that are handled in userland?
<dostoyevsky2>
but each time I try to understand the documentation I just don't understand anything
<nikolar>
i haven't worked with tun but the idea is that you're handling the packets on your own
<nikolar>
for example, vpns use it
<goliath>
yes, tun/tap devices are virtual network interfaces. Work exactly like a regular network interface, except the opposite end is a file descriptor inside a user space process.
gog has quit [Quit: byee]
<goliath>
reading on the fd returns packets "sent out" through the interface, writing causes the kernel to receive a package. For tun, it's IP packages, for tap, it's Ethernet frames.
gog has joined #osdev
gog has quit [Client Quit]
gog has joined #osdev
xenos1984 has joined #osdev
<dostoyevsky2>
I wonder if I could give a docker container its own tun/tap devices... I guess they already have one... but I could probably do some internet firewalling for each docker container via custom tun/tap devices... well, as far as it's possible on the ip layer
<dostoyevsky2>
nikolar: I wonder if swap relies on some MMU stuff that the pdp11 just didn't have, so they just removed that part from the kernel
gog has quit [Client Quit]
<nikolar>
swap is working
gog has joined #osdev
<nikolar>
like bsd 2.11 supports swap
<nikolar>
the swapon command just wasn't implenmented
gog has quit [Client Quit]
<dostoyevsky2>
it is... or did you just create a dumm /dev/swap so w/ps/top don't exit on start?
<nikolar>
dummy /dev/swap didn't work but hardlinking a disk seems to have worked maybe?
<nikolar>
ps works
<nikolar>
but i don't know how to check if i can actually swap
nikolapdp has joined #osdev
<nikolapdp>
can someone private message me
<nikolapdp>
well i am silly, i have another account
<nikolapdp>
ok, i think i am safe from missing private messages now that they are very red
m257 has joined #osdev
aejsmith has joined #osdev
node1 has quit [Quit: Client closed]
gog has joined #osdev
gog has quit [Remote host closed the connection]
<kof673>
can't you just malloc(64k) or whatever the per-process limit is, sleep(), and run a few simultaneously? you do have a c compiler?
<nikolapdp>
i do yeah
nikolapdp has quit [Remote host closed the connection]
<kof673>
or just...shell fork bomb whatever
<nikolar>
but how do i know that it's swapping
<kof673>
ps :)
<kof673>
i meant top...maybe there is another command...
<nikolar>
no top
<nikolar>
in this version
nikolapdp has joined #osdev
<nikolar>
a
nikolapdp has quit [Remote host closed the connection]
<nikolapdp>
zid: i mean you could probably load it into ram one page? at a time from disk
<Ermine>
lol
<nikolapdp>
whatever rom it is
<zid>
I can't follow that I don't know enough about pdp
<zid>
how big is a ram page
<nikolapdp>
8k i think
<zid>
I don't need all of the rom in ram
<zid>
I need 65535 bytes of free contiguous ram though
<nikolapdp>
yeah you aren't getting that lol
<zid>
exactly
<zid>
is there a way to hide data in .text?
<nikolapdp>
you'd need to remap on memory access
<nikolapdp>
i mean you could probably with some linker magic
<nikolapdp>
i don't know how the linker works exactl
<zid>
I mean, could you even address it
<zid>
like, can I implement memcpy(.text, .data, 4096)
<nikolapdp>
huh good question
<zid>
or vice versa
<nikolapdp>
i am not sure
<nikolapdp>
if you don't do split address space (ie code and data is in the same 64k of address space) i am sure you could
<nikolapdp>
but if you want 128k, you're dealing with split address spaces (64k for data and 64k for code) in which case i don't think you could copy out of .text
<nikolapdp>
well, memcpy
<zid>
exactly
<zid>
so I don't think I could even free up any ram by hiding the fixed rom bank in .text or anything sadly :(
<nikolapdp>
but, you do have access to up to 4mb of ram, you just can't access it all at the same time
<zid>
yea 4millibits is overkill
<nikolapdp>
so when the vm is addressing ram, you can just remap the page and access what you need in the vm
<zid>
I only need like, 80kB total of text + data, but the data *needs* to be there
<zid>
unless i do some horrendously slow bank swappin
<nikolapdp>
you can do it, it just won't be a flat memory
<nikolapdp>
i don't think it's slow really
<zid>
like, every instruction does a bank switch
<nikolapdp>
not very slow at least
<zid>
rather than just running natively
<nikolapdp>
like a lot of pdp-11s don't even have cache
<zid>
right but just the fact that instead of doing mem[HL] = 4;
<zid>
I am doing if(membank != HL%0x8000) bankswitch(8); ...
<zid>
adds a lot of instructions onto the critical path
<nikolapdp>
true
<nikolapdp>
but pdp-11s aren't exactly speed demons to begin with so you know :P
<zid>
which is why it matters imo
<zid>
that's a backwards view
<nikolapdp>
what i meant is that you won't be running anywhere near real time anyway
<zid>
I did see someone who wrote a dynarec for gameboy to z80
<zid>
he could run certain games at near realtime on his.. calculator
<nikolapdp>
oh very nice
cow321 has quit [Read error: Connection reset by peer]
<zid>
it needed tweaking per game to not run out of code space re the optimization set though
<zid>
like, for some games, it was vital that you made some instructions fast but not others
<zid>
you couldn't fit making them ALL fast into the code space at the same time though
<nikolapdp>
ah mykes sense
<Ermine>
Both fedora and opensuse have the same problem with nonfree codecs stored at separate repository, sometimes they get out of sync with core repos and you need to deal with version conflicts
<geist>
nikolar: hmm, re checking for swap
<geist>
er nikolapdp
<nikolapdp>
got it :)
<geist>
mine is newer enough to have top so it can see it
<heat>
Ermine rpmfusion goated
<geist>
(that comes as part of patch 470ish)
<nikolapdp>
eh yeah no top, i am on 195 :)
<Ermine>
heat: yes
<geist>
vmstat maybe?
<heat>
why are you not on the newest patch
<nikolapdp>
geist: can you decipher this
<nikolapdp>
procs memory page faults cpu
<nikolapdp>
r b w avm fre ti tc pi po fr fc ov r0 r1 r2 h0 in sy cs us sy id
<geist>
vmstat 1 is pretty good too, it is closest to a top as you got right now
<nikolapdp>
heat because i installed from tape instead of using the preinstalled image and it's a hassle to run through about 300 system pathces
<nikolapdp>
geist it is nice indeed
<nikolapdp>
fun to watch the memory usage kek
<geist>
`man vmstat`
<heat>
man man man man man
<Ermine>
info !
<heat>
you wish you had info
<nikolapdp>
no info
<nikolapdp>
i don't actually lol
k_hachig_ has quit [Ping timeout: 268 seconds]
<heat>
GNU info is actually not that bad
<heat>
it's like the HTML docs but in the terminal
<Ermine>
no one but gnu uses it for docs
<nikolapdp>
true
<nikolapdp>
geist: well at the moment i have no processes that are swapping
<geist>
seems like that is easy to fix
<nikolapdp>
not sure if that's because they can't or because i have 4mb of ram
<heat>
start chrome!!
<geist>
you can also reduce the amount of ram
<nikolapdp>
ah true
<heat>
how tight are you on ram
<nikolapdp>
btw i added another disk and set it's a partition for swap
<heat>
normally
<Ermine>
do you have X server?
gbowne1 has quit [Remote host closed the connection]
<nikolapdp>
avm: 131 fre: 2733
<nikolapdp>
not at all heat
<geist>
anyway 'pi po' seems to be pages swapped in and out
<nikolapdp>
Ermine don't think pdp-11s ever ran x
gbowne1 has joined #osdev
<nikolapdp>
boths zeros
<geist>
right, but you have to be doing something to cause it to swap
<geist>
so runi t out of memory
<nikolapdp>
heh just for bomb or something then
<nikolapdp>
s/for/fork
<geist>
or like i said reduce the amount of memory, 2MB should be fine
<geist>
and then log in a few times, start a compile of the kernel
<geist>
and say open vi on a few things
<geist>
that tends to push it
<geist>
i've found it starts paging things out even before it's out of memory
<Ermine>
Woah wiki.osdev.org gained search suggestions once again
<nikolapdp>
ah vi is a good one
<heat>
oh yeah geist? it does proactive reclaim?
<geist>
well, i dunno what the thresholds are,m but it seems to try to keep some amount free
<heat>
ah ok
<heat>
i think that's still way before the lotsfree algo stuff
<nikolar>
ah seems to have hung
<geist>
i ran mine with 1.5MB for a long time, and it wasn't swap thrashing by any means, but it would generally push if i logged in 2 or 3 times
<nikolar>
does yours just randomly hang geist
<geist>
like i'd log in on one telnet (telnetd is kinda expensive too) and run a kernel compile while watching it on another with top
<geist>
negative. runs like a champ. never failed
<geist>
but i dont run such an old version
<nikolar>
maybe i do need newer patches then
<Ermine>
patchen
<nikolar>
PATCHEN
<heat>
update to arch 2.11bsd
<heat>
all the latest software
cow321 has joined #osdev
<geist>
since you're on simh, if you're on the console of it you ca break in with ctrl-e and see what the cpu is up to
<geist>
simh has a fair amount of debuggability
<nikolar>
ah didn't think to check what was going on, just killed it
<nikolar>
you got the prebuilt image, no?
<Ermine>
Not news, but
nikolapdp has quit [Ping timeout: 256 seconds]
<Ermine>
> MIPS architecture was being abandoned in favor of RISC-V designs
<geist>
was? seems like it still is
<geist>
i was just pondering deleting the mips port from LK last night
<GeDaMo>
Even the MIPS company has moved to RISC-V
<Ermine>
i copied that from wikipedia
<geist>
since it along with microblaze is probably the least used thing that i care the least about
nikolapdp has joined #osdev
<nikolapdp>
wasn't mips opened as an arch way before risc-v
<geist>
yep. but riscv came along and stole all the thuinder
<Ermine>
No afaik
<geist>
also basically took out arches like openrisc too
<Ermine>
well ok
<geist>
well, 'open' yeah, i should retract taht
<nikolapdp>
also sparc was opened since 2005 or something
<geist>
mips i think was still generally a licensed thing, though the basic ISA is i think open
<geist>
yah that's why you see things like LEON and whatnot floating around
<Ermine>
so I guess everyone will sell arm-based routers now
<nikolapdp>
yeah i just wonder why sparc wasn't what risc-v is now
<geist>
depite what people say i think the riscv foundation is fairly well run, they're doing a good job of making sure everything that needs to be done gets done
<nikolapdp>
well i am not sure how good for the arch it is to have a billion optional extensions
<geist>
or it's amazing for the arch (in the short term)
<geist>
that's the burning question
<GeDaMo>
Fragmentation can be a problem for ARM too
<zid>
Especially after I throw grenades at it
<nikolapdp>
indeed zid
<nikolapdp>
that would do it
<zid>
It deserved it
<nikolapdp>
absolutely
<heat>
GeDaMo arm is a lot stricter wrt what it allows vendors to do
<heat>
it used to be that you couldn't even add new instructions AFAIK
<GeDaMo>
Did mjg ever fix their Cortex gcc problem?
<Ermine>
(unless you're apple and you've got a lot of money to get this clearance i guess)
<GeDaMo>
Apple have a founder's license
<nikolapdp>
what's a founder's license
k_hachig_ has joined #osdev
<GeDaMo>
Apple was part of the founding of ARM, as I understand it theri agreement means they can do whatever they want
<zid>
we should go back to acorns
<nikolapdp>
how where they a part of arm's founging
<heat>
nah not quite, i think that's just a rumor
<zid>
bbc micro 64
<nikolapdp>
didn't arm split off from acorn
<GeDaMo>
"The company was founded in November 1990 as Advanced RISC Machines Ltd and structured as a joint venture between Acorn Computers, Apple, and VLSI Technology." https://en.wikipedia.org/wiki/Arm_Holdings
<nikolapdp>
hm
node1 has joined #osdev
<zid>
GeDaMo was at the signing
<nikolapdp>
kek
<nikolapdp>
maybe he's got a founder's license too
<nikolapdp>
and is waiting for the opportunity to use it
<GeDaMo>
It seems the term I'm misremembering is "architectural license"
<heat>
architectural license used to be quite limited too i think
<heat>
you were severely limited in extensions because they didn't want to frag-out the whole arm ecosystem
<zid>
That means they're allowed to depict both apples AND acorns on the sides of their buildings
<mjg>
risc-v would have gainted traction if they named it 'leg'
k_hachig_ has quit [Ping timeout: 255 seconds]
<heat>
now you can add all sorts of bizarro extensions including adding separate memory model modes
<nikolapdp>
fancy
<nikolapdp>
memory model modes?
<nikolapdp>
like what
<mjg>
let me tlel you rust memory model
<heat>
arm sillicon can dynamically switch to a stronger TSO memory model using a chicken bit
<nikolapdp>
aj
<heat>
for ezpz x86 emulation
<nikolapdp>
ah interesting
<heat>
sorry, s/arm sillicon/apple sillicon/
<nikolapdp>
do you know if apple added any instruction to speed up x86 emulation
<nikolapdp>
heat: that's a retarded name, just call it arm
<nikolapdp>
mjg: ah COMPLETELY SAFE MEMORY MODEL
<heat>
why
<heat>
they're not the same thing at all
<zid>
they have x86's OSRSICIRESEI memory model on a toggle yea
<zid>
rather than having to add a fuck load of arm locks
<heat>
apple added a handful of extensions to speed up rosetta, this is one of them. not sure if there are actual new instructions they added for rosetta
<zid>
MESI Ex Plus Alpha Turbo
<nikolapdp>
i think i've heard they added some extentions to speed up some x86 addressing modes
<nikolapdp>
not sure what was meant by that
<zid>
probably the mesi toggle if I had to guess
<nikolapdp>
maybe thinks like mov %rax, 8(%rdi, %rsi, 8) or whatever
<zid>
rather than "addressing modes" it speeds up "accessing memory" though
<nikolapdp>
that's like 5 arm instructions in one
<Ermine>
anyway, they don't seem to suffer from this fragmentation
<zid>
I thought arm actually had some shifts and shit built in
<zid>
so it's only like, 3
<nikolapdp>
eh maybr
cow321 has quit [Ping timeout: 260 seconds]
k_hachig_ has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
janemba has quit [Read error: Connection reset by peer]
jjuran has quit [Ping timeout: 240 seconds]
<dostoyevsky2>
nikolapdp: IIRC apple silicon can just switch into a mode that's very compatible to x86
<nikolapdp>
define very compatible
<dostoyevsky2>
> Rosetta 2's performance has been praised greatly.[12][13] In some benchmarks, x86-64-only programs performed better under Rosetta 2 on a Mac with an Apple M1 SOC than natively on a Mac with an Intel x86-64 processor. One of the key reasons why Rosetta 2 provides such a high level of translation efficiency is the support of x86-64 memory ordering in the Apple M1 SOC.[14] The SOC also has dedicated
<dostoyevsky2>
instructions for computing x86 flags.[15]
<childlikempress>
it does both the concurrency model and the flags
<childlikempress>
concurrency model was already a standard thing also supported by other arm cpus
<childlikempress>
and the flags emulation was made standard after the fact
<zid>
arm is all wibbly wobbly on its memory ordering
<zid>
compared to x86
<nikolapdp>
yeah x86 has the strongest memory ordering of all of the currently used architectures that i know off
<nikolapdp>
s/off/of
Stary has joined #osdev
<dostoyevsky2>
nikolapdp: what's strong about the memory ordering in x86?
CompanionCube has joined #osdev
<nikolapdp>
total store order, ie all cores agree on what order one of the core's writes
<nikolapdp>
while for arm they writes can be reordered before writes
netbsduser has quit [Ping timeout: 268 seconds]
<childlikempress>
zid: yes but that doesn't have anything to do with mesi
<childlikempress>
nor locks
<dostoyevsky2>
is that why my xlock cmpxchg CAS locks always sucked? Because it seems like it just froze the whole CPU and the other cores couldn't do anything while watching for the xlock
<childlikempress>
no
<nikolapdp>
childlikempress: you need locks when you're emulating the stronger ordering than the cpu you're running on
<childlikempress>
perhaps you are looking for the word 'barrier'?
<nikolapdp>
sure, that works too
<childlikempress>
'lock' means something and it's different from 'barrier'
<childlikempress>
you could have a weakly ordered lock
<zid>
yea I meant barriers
FreeFull has quit []
FreeFull has joined #osdev
heat3 has joined #osdev
heat has quit [Ping timeout: 250 seconds]
goliath has quit [Quit: SIGSEGV]
<dostoyevsky2>
so seems like ansi sequence scroll regions only support startrow and endrow parameters, no columns... so I can use it for scrolling inside my listviews if they don't occupy the whole screen
stolen has joined #osdev
agent314 has joined #osdev
agent314 has quit [Ping timeout: 268 seconds]
<zzo38>
One thing that should be included in my operating system design should be possibility of locks/transactions of multiple objects at the same time. Since the objects might not know each other, I am unsure how this would be handled, and if a system call is needed for this (or if ordinary messages between objects is good enough).
<zzo38>
Do you know?
<zzo38>
(And, if a system call is required, how would that work in case of emulation, network transparency, etc?)
node1 has quit [Quit: Client closed]
air has joined #osdev
<dostoyevsky2>
zzo38: It can be tricky to get this right, and databases already have solved all kinds of transaction problems, so maybe starting out with sqlite could be a starting point... and for more simple data structures simple mutexes
josuedhg has joined #osdev
<zzo38>
I do know about SQLite, although these objects are more general than SQLite (and SQLite cannot be used here anyways). As an example, you might want a transaction of two files; only once the transaction is committed and other processes read the new data (once they start their own read transaction; existing read transactions can read the old data). However, the file access may be accessed through a proxy.
<zzo38>
It may also be on a different computer, or emulated.
nikolapdp has quit [Ping timeout: 255 seconds]
Arthuria has quit [Ping timeout: 268 seconds]
<childlikempress>
zzo38: yes, this is hard. generally speaking the 'easy' approach is acquire multiple locks, but you have to make sure they are always acquired in the same order
<zzo38>
However, you might not want to acquire any locks unless all of them can be acquired. You might also want to release a lock simultaneously with acquiring another lock.