HOME


Top 10 List of Week 03

  1. File System Basics
    File systems are systems that control how data is stored and retrieved. In the context of Operating Systems, this means that these files systems manage the structure and transference of our data. Among various file systems in use currently, the most commonly used ones are FAT & NTFS (used in windows), ext family (frequently used in linux systems), and APFS (used in macOS). These files systems may have varying advantages and disadvantages with regards to performance, overhead, etc as well as differences in how they are structured.

  2. Disk Partitioning
    Disk partitions are more or less what their name says they are: turning one disk and splitting off its storage space into partitions. Each partition is treated as one file system, or volume. This comes in handy when you want to secure one volume from another via encryption, or use one partition with a certain file system and another partition with another.

  3. My Previous Experience with Disk Partitioning
    Back in high school, for some reason it came to my mind that I wanted to try out dual booting Linux onto my pc. During the installation process, I had to repartition the drive on my computer in order to make room for Ubuntu. This meant partitioning my drive which had more or less only one NTFS partition for windows, splitting that to make room for ext4 partitions, as NTFS is a proprietary file system by Microsoft, which Linux does not support. In total, I made 3 partitions which consisted of a root, home, and swap partition.

  4. Swap Memory
    In the previous point, I mentioned a swap partition. Basically, this is a partition (or in Windows 10 and Ubuntu’s case, a file) in a drive that can be used as virtual memory when for any reason your computer runs out of physical RAM. This partition is also used when you set your computer to hibernate, as all the data in your RAM is transferred into your SSD.

  5. Tar
    Tar? As in the sticky stuff? Nope, I’m talking about archive files in linux. Tar apparently stands for “tape archive”, and serves to bundle multiple files into one neat file (i.e. a tarball). This is somewhat different to a zip file, where the files are also compressed in addition to being bundled. However you can also compress tarballs with gzip, resulting in a .tar.gz file.

  6. Make
    Make (that’s what it’s called) is a utility used for building and maintaining groups of programs from source code. In this week’s demo, I got to try the make command on a file which I extracted from a tarball. This make utility also determines which pieces of the program need to be recompiled, and tells the system to do so.

  7. Arch Linux
    Okay, I’m gonna go on a bit of a tangent here, but I found this interesting. From what I can gather, Arch Linux is a distribution of GNU/Linux which users install via the CLI nearly from scratch. Modern operating systems that most people use include various programs for ease of use like a graphical file explorer, a desktop environment and window manager, etc. Arch scraps all of that in favor of installing each utility on demand as to keep all the control to the user and reduce any unnecessary bloat to the system. This seems like a really interesting thing to me, even though I’ll probably never touch it.

  8. FUSE
    Fuse stands for Filesystem in Userspace. It’s a software interface in Unix and Unix-like OS’s that allows non-privileged users to create their own file systems without editing the kernel code. This is done by running the file system code in the user space while FUSE acts as a bridge to the actual kernel.

  9. Checklist 03
    Read through OSC10 chap 13, 14, 15 (OK)
    Answered questions on SCELE (OK)
    Updated .bash_aliases (OK)
    Top 3 List (OK)
    Run chktoken OS202 (OK)
    Download TLPI code and write the disk usage to txt file (OK)
    Updated log (OK)
    Updated bash script (OK)
    Renewed SHA256SUM and signed (OK)

  10. What else did I do?
    I did a bit of research (read: got distracted and started browsing random stuff) and found that in addition to the usual Windows, macOS, and Linux, there seems to be more operating systems that people use from day to day, albeit quite niche ones. These include BSD-based OS’s (FreeBSD, OpenBSD, etc.) and more. It’s not really clear to me at the moment why one would choose these niche operating systems over the more mainstream ones, though it’s interesting nonetheless.