From 7d8bfcfbb12cf242b584fd70d82f5d1841e45281 Mon Sep 17 00:00:00 2001 From: husky Date: Sun, 30 Jul 2023 06:16:05 -0700 Subject: [PATCH] add 2023-07-30 blog post --- blog/index.html | 2 +- blog/posts/filesystems_and_apm/files.png | Bin 0 -> 6231 bytes blog/posts/filesystems_and_apm/index.html | 101 ++++++++++++++++++++++ blog/posts/slug/index.html | 52 ----------- 4 files changed, 102 insertions(+), 53 deletions(-) create mode 100644 blog/posts/filesystems_and_apm/files.png create mode 100644 blog/posts/filesystems_and_apm/index.html delete mode 100644 blog/posts/slug/index.html diff --git a/blog/index.html b/blog/index.html index fd2e2fc..65981d6 100644 --- a/blog/index.html +++ b/blog/index.html @@ -15,7 +15,7 @@

legal disclaimer

diff --git a/blog/posts/filesystems_and_apm/files.png b/blog/posts/filesystems_and_apm/files.png new file mode 100644 index 0000000000000000000000000000000000000000..fec4f4fb5f74eb7a840a61950d5fc770623b43f2 GIT binary patch literal 6231 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 a+5zQNe|obYZg&IdV`gl1^qHY+!hZpG-K4$% literal 0 HcmV?d00001 diff --git a/blog/posts/filesystems_and_apm/index.html b/blog/posts/filesystems_and_apm/index.html new file mode 100644 index 0000000..baca61f --- /dev/null +++ b/blog/posts/filesystems_and_apm/index.html @@ -0,0 +1,101 @@ + + + vore microcomputers development blog - blog post title here + + + + + +
+
+ vore microcomputers logo + +

Filesystems and APM: Week 1 of VoreStation Development

+
2023-07-30
+

written by Niko Chow-Stuart (Lead Developer)

+ + drawing of the vap mascot in a drawer with two manila folders to the right + +

+ 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? +
+
+ 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). +
+
+ 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"). +
+
+ 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. +
+
+ 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. +
+
+ 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. +
+
+ 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! +

+ +
+ +
+ +
+
+ image of xenia, an anthropomorphic fox who was a contender for the linux mascot + image made by @cathodegaytube! +
+
+
+ + diff --git a/blog/posts/slug/index.html b/blog/posts/slug/index.html deleted file mode 100644 index c06049d..0000000 --- a/blog/posts/slug/index.html +++ /dev/null @@ -1,52 +0,0 @@ - - - vore microcomputers development blog - blog post title here - - - - - -
-
- vore microcomputers logo - -

Blog Title Here

-
2023-07-30
- - drawing of the vap mascot holding a computer mouse with a construction sign to the right - -

vorem ipsum dolor sit amet

- -
- -

legal disclaimer

-

- 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. -

- -
- -
-
- image of xenia, an anthropomorphic fox who was a contender for the linux mascot - image made by @cathodegaytube! -
-
-
- -