add 2023-07-30 blog post

This commit is contained in:
husky 2023-07-30 06:16:05 -07:00
parent affb952aa6
commit 7d8bfcfbb1
No known key found for this signature in database
GPG key ID: 6B3D8CB511646891
4 changed files with 102 additions and 53 deletions

View file

@ -15,7 +15,7 @@
</h3>
<ul class="blog-listing">
<li><a href="posts/slug/index.html">Blog Post Title Here (2023-07-30)</a></li>
<li><a href="posts/filesystems_and_apm/index.html">Filesystems and APM: Week 1 of VoreStation Development (2023-07-30)</a></li>
</ul>
<h3>legal disclaimer</h3>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -0,0 +1,101 @@
<html lang="en">
<head>
<title>vore microcomputers development blog - blog post title here</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="/microsoft.css"/>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
</head>
<body>
<div class="container">
<div class="container-item">
<a href="/"><img src="/assets/logo_typeset.svg" alt="vore microcomputers logo"/></a>
<h1>Filesystems and APM: Week 1 of VoreStation Development</h1>
<h5>2023-07-30</h5>
<h4>written by Niko Chow-Stuart (Lead Developer)</h4>
<img src="/blog/posts/slug/files.png" alt="drawing of the vap mascot in a drawer with two manila folders to the right"/>
<p>
a large part of almost every operating system is its interface with storage mediums, and in almost all
modern operating systems, this is done through a filesystem. this presents an impactful choice for the
design of vap: what filesystem should we use?
<br/>
<br/>
initially, we were planning on using the ext2 filesystem. it's relatively simple, pretty well-designed
for UNIX-like systems, and is also one of the only filesystems on the OSDEV wiki with an article containing
enough information to actually implement it. however, while an implementation of ext2 was being worked on
at first, it was quickly discovered that some of the design choices made in ext2 were not ideal for a new
operating system, mainly the apparent lack of support for 64-bit POSIX time (which i cannot actually
confirm, as i've seen conflicting information on this).
<br/>
<br/>
this led us to consider the berkley fast filesystem (ffs), which is a filesystem based upon the UNIX
filesystem (UFS) used in BSD. it's main advantage over standard UFS is that it tries to allocate data
more efficiently according to a physical hard disk layout, and also beats ext2 by having support for 64-bit
POSIX time. however, while we were once again initially considering to use this filesystem, we decided
against it as the documentation for it is very sparse, and all the implementations of it that we could
find are very fine-tuned to the operating systems they were designed for (leading to how they're often
referred to as "FreeBSD FFS" or "NetBSD FFS").
<br/>
<br/>
after this, we decided to finally cave in and design our own filesystem. as this is a very large task,
we've estimated that this may add a week or two onto the total development time of vap, but we believe
that it will be worth it in the end. as the filesystem is heavily based off of the ideas of UFS, we've
decided to currently refer to it as VapUFS (which may not be the final name), and in the true style of UNIX,
VapUFS carries the UFS name while not necessarily being compatible with any of the other UFS
implementations! the main differences between VapUFS and standard UFS implementations are that VapUFS
by default journals all writes and stores directory contents in a b-tree. we may at some point change
journaling to be more efficient as i am concerned about the potential performance impact of journaling
everything, however we're planning to continue with these ideas until we can get a proper implementation
that we can benchmark.
<br/>
<br/>
as our work-in-progress implementation of VapUFS is not yet finished, the git repository hasn't been
published. however, it will likely be public soon (possibly some point this week) and i'll leave an
addendum here when it is.
<br/>
<br/>
in other news, we've also gotten our implementation of the Apple Partition Map (APM) working! it will likely
be made public along with the release of VapUFS, however it's currently not in a state where we're
confident in its stability, so we're going to hold off on publishing it for now. we're also planning on
working on a block device interface extension for our Rust OpenFirmware API, which will allow us to
actually test our filesystem implementation on real hardware, which will be very exciting! i personally
have a bit of experience with block devices on OFW, so i'm hoping that this will be a fairly
quick task.
<br/>
<br/>
that's all for the development progress of vap so far! i'm hoping that i'll be able to publish these
blog posts on a weekly basis, however i'm not sure if i'll be able to keep up with that schedule.
i should mention that as i'm currently the only developer working on vap, there may be some delays in the
coming week as i'm expecting to be fairly busy with other things. otherwise, i'll hopefully be writing
another post next week!
</p>
<hr/>
<p id="footer">
<br>contact us at <a href="mailto:nikocs@voremicrocomputers.com">nikocs@voremicrocomputers.com</a> <a
href="/pgp.asc">pgp key</a>
<br>
for abuse, copyright, or other legal issues, contact <a href="mailto:devnull@voremicrocomputers.com">devnull@voremicrocomputers.com</a><br>
<!-- or, call at <a href="tel:1-888-519-0437">+1 (888) 519-0437 (toll-free)</a> or <a href="tel:1-507-767-9433">+1 (507) RMS-YIFF (local)</a> -->
(our phone system is currently down, sorry!)
<br><br>
Vore Microcomputers is an unregistered trademark of Real Microsoft, LLC. all references to "the company"
are in reference to Real Microsoft, LLC and the name Vore Microcomputers is only a reference to the
hardware/software focused development project held under Real Microsoft, LLC. Real Microsoft, LLC is
in no way associated with the Microsoft Corporation or its products/projects.
<br><br>
<a href="https://climate.stripe.com/4MO1d9">Our Carbon Footprint</a>
</p>
</div>
<div class="container-item">
<div class="credit">
<img src="/xenia.png" alt="image of xenia, an anthropomorphic fox who was a contender for the linux mascot"/>
<span>image made by <a href="https://twitter.com/cathodegaytube/">@cathodegaytube</a>!</span>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,52 +0,0 @@
<html lang="en">
<head>
<title>vore microcomputers development blog - blog post title here</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="/microsoft.css"/>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
</head>
<body>
<div class="container">
<div class="container-item">
<a href="/"><img src="/assets/logo_typeset.svg" alt="vore microcomputers logo"/></a>
<h1>Blog Title Here</h1>
<h5>2023-07-30</h5>
<img src="/assets/vs/wip.png" alt="drawing of the vap mascot holding a computer mouse with a construction sign to the right"/>
<p>vorem ipsum dolor sit amet</p>
<hr/>
<h3>legal disclaimer</h3>
<p>
this project is not associated in any way with the Unix brand or trademark, despite any potential
similarities or references to Unix or other Unix-like operating systems.
</p>
<p id="footer">
<br>contact us at <a href="mailto:nikocs@voremicrocomputers.com">nikocs@voremicrocomputers.com</a> <a
href="/pgp.asc">pgp key</a>
<br>
for abuse, copyright, or other legal issues, contact <a href="mailto:devnull@voremicrocomputers.com">devnull@voremicrocomputers.com</a><br>
<!-- or, call at <a href="tel:1-888-519-0437">+1 (888) 519-0437 (toll-free)</a> or <a href="tel:1-507-767-9433">+1 (507) RMS-YIFF (local)</a> -->
(our phone system is currently down, sorry!)
<br><br>
Vore Microcomputers is an unregistered trademark of Real Microsoft, LLC. all references to "the company"
are in reference to Real Microsoft, LLC and the name Vore Microcomputers is only a reference to the
hardware/software focused development project held under Real Microsoft, LLC. Real Microsoft, LLC is
in no way associated with the Microsoft Corporation or its products/projects.
<br><br>
<a href="https://climate.stripe.com/4MO1d9">Our Carbon Footprint</a>
</p>
</div>
<div class="container-item">
<div class="credit">
<img src="/xenia.png" alt="image of xenia, an anthropomorphic fox who was a contender for the linux mascot"/>
<span>image made by <a href="https://twitter.com/cathodegaytube/">@cathodegaytube</a>!</span>
</div>
</div>
</div>
</body>
</html>