add 2023-07-30 blog post
This commit is contained in:
parent
affb952aa6
commit
7d8bfcfbb1
4 changed files with 102 additions and 53 deletions
|
@ -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>
|
||||
|
|
BIN
blog/posts/filesystems_and_apm/files.png
Normal file
BIN
blog/posts/filesystems_and_apm/files.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
101
blog/posts/filesystems_and_apm/index.html
Normal file
101
blog/posts/filesystems_and_apm/index.html
Normal 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>
|
|
@ -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>
|
Loading…
Add table
Reference in a new issue