<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pub/teachos/kernel.git/kernel, branch feature/readFatTableEntries</title>
<subtitle>An educational OS kernel</subtitle>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/'/>
<entry>
<title>kernel/filesystems: mount fat32 and read file allocation table entries</title>
<updated>2026-10-11T08:55:01+00:00</updated>
<author>
<name>manuel</name>
<email>manuel.bott@eps.ch</email>
</author>
<published>2026-10-11T08:55:01+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=8457adfed9eb4e95e12fda70ff8156c1283f8747'/>
<id>8457adfed9eb4e95e12fda70ff8156c1283f8747</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel/filesystems: add tests for probe and better NOLINT comments</title>
<updated>2026-10-11T07:38:00+00:00</updated>
<author>
<name>manuel</name>
<email>manuel.bott@eps.ch</email>
</author>
<published>2026-10-11T07:38:00+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=2d7acbf819aa1377c240c874539151001a5f96ce'/>
<id>2d7acbf819aa1377c240c874539151001a5f96ce</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel/filesystems: read entire boot sector fat32 and print</title>
<updated>2026-10-08T08:30:26+00:00</updated>
<author>
<name>manuel</name>
<email>manuel.bott@eps.ch</email>
</author>
<published>2026-10-08T08:30:26+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=a92f378780c457ae8120ef66e33ebed0169975ec'/>
<id>a92f378780c457ae8120ef66e33ebed0169975ec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>added fat32 img, wip parse bootsector</title>
<updated>2026-10-05T12:47:32+00:00</updated>
<author>
<name>bbuerge</name>
<email>b.buerge@proton.me</email>
</author>
<published>2026-10-05T12:47:32+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=007696a98d84ae74ac95dc66c23c8770d6bff065'/>
<id>007696a98d84ae74ac95dc66c23c8770d6bff065</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel/filesystems: rename test to fix test error</title>
<updated>2026-09-28T07:01:18+00:00</updated>
<author>
<name>manuel</name>
<email>manuel.bott@eps.ch</email>
</author>
<published>2026-09-28T07:01:18+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=748d47cdadcc2bc292bfe5bbde68114cad0b3adb'/>
<id>748d47cdadcc2bc292bfe5bbde68114cad0b3adb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel/filesystems: copy and rename rootfs to fat32</title>
<updated>2026-09-24T08:07:19+00:00</updated>
<author>
<name>manuel</name>
<email>manuel.bott@eps.ch</email>
</author>
<published>2026-09-24T08:07:19+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=59c2e1cfa42ce030ae7c78ed39391c1c57faedda'/>
<id>59c2e1cfa42ce030ae7c78ed39391c1c57faedda</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kapi/system: reduce panic buffer size</title>
<updated>2026-09-10T14:38:41+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2026-09-10T14:38:41+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=c63a0f8e7ed7a2d88cb24a46a6fd8e409f35756b'/>
<id>c63a0f8e7ed7a2d88cb24a46a6fd8e409f35756b</id>
<content type='text'>
Previously, we allocated a 512-byte buffer for every call of the
formatted panic function. This was heavily increasing the stack size for
a number of functions.

We now don't print to a statically allocated buffer, but rather use the
iterator-based formatting facility and a proxy iterator with a small,
self-flushing buffer. This reduces that static overhead of the formatted
panic function to by almost 500 bytes, while increasing possible message
fidelity, since we are not longer arbitrarily limited by the buffer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, we allocated a 512-byte buffer for every call of the
formatted panic function. This was heavily increasing the stack size for
a number of functions.

We now don't print to a statically allocated buffer, but rather use the
iterator-based formatting facility and a proxy iterator with a small,
self-flushing buffer. This reduces that static overhead of the formatted
panic function to by almost 500 bytes, while increasing possible message
fidelity, since we are not longer arbitrarily limited by the buffer.
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel: replace some more plain pointers</title>
<updated>2026-09-10T13:08:37+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2026-09-10T13:08:37+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=3ce0197e99ecea7be66decc2c3c6f785497ef862'/>
<id>3ce0197e99ecea7be66decc2c3c6f785497ef862</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel/vfs: reduce number registry pruning</title>
<updated>2026-09-10T08:03:46+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2026-09-10T08:03:46+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=00f2a986760c7720fac58c365f427720bd71b755'/>
<id>00f2a986760c7720fac58c365f427720bd71b755</id>
<content type='text'>
Previously, the number registry did a pruning pass whenever elements,
either all or a filtered subset, were queried by a consumer. This meant,
that every access to elements did an additional O(n) scan of the entire
registry, to ensure no expired devices were still registered. This used
to be necessary, when the ownership model for devices was still in flux.

With the established device ownership model, this has become obsolete.
Additionally, devices get numbered automatically when a device gains a
facet the is observed by the device number registry. Since registering
this type of facet is the responsibility of the device driver, since
only a driver can know how to implement that facet for any given device,
it also becomes the responsibility of the driver to revoke that facet
if and when a device is detached from the system. Any device is always
owned by the bus it is attached to. This means it is the bus'
responsibility to inform drivers about devices disappearing. This closes
the chain of responsibility cleanly, meaning the device number registry
will never have to prune itself in any accessors. Instead, it will be
informed by the facet registry that a facet for a device has been
revoked, allowing it to un-number that device if applicable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, the number registry did a pruning pass whenever elements,
either all or a filtered subset, were queried by a consumer. This meant,
that every access to elements did an additional O(n) scan of the entire
registry, to ensure no expired devices were still registered. This used
to be necessary, when the ownership model for devices was still in flux.

With the established device ownership model, this has become obsolete.
Additionally, devices get numbered automatically when a device gains a
facet the is observed by the device number registry. Since registering
this type of facet is the responsibility of the device driver, since
only a driver can know how to implement that facet for any given device,
it also becomes the responsibility of the driver to revoke that facet
if and when a device is detached from the system. Any device is always
owned by the bus it is attached to. This means it is the bus'
responsibility to inform drivers about devices disappearing. This closes
the chain of responsibility cleanly, meaning the device number registry
will never have to prune itself in any accessors. Instead, it will be
informed by the facet registry that a facet for a device has been
revoked, allowing it to un-number that device if applicable.
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64: replace raw pointers with observer_ptr</title>
<updated>2026-09-10T06:53:57+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2026-09-10T06:53:57+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=5449acc193f96d2ffaeb224aad5cea16bf753cdb'/>
<id>5449acc193f96d2ffaeb224aad5cea16bf753cdb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
