HOME


Top 10 List of Week 03

In this Top 10 list, I will give what materials I have learned during week 3 at my Operating System course. In each of the points I stated, there is a clickable link that will take you to the website I learned the material from, my thoughts and review of the page itself, and a short summary of the material.

One What is File in Computer

The definition of computer file in general. This wikipedia page gave me the complete guide on understanding what computer file means. I believe first timers would have a good time reading this.

A computer file is a computer resource for recording data discretely in a computer storage device. Just as words can be written to paper, so can information be written to a computer file. Files can be edited and transferred through the internet on that particular computer system. There are different types of computer files, designed for different purposes. A file may be designed to store a picture, a written message, a video, a computer program, or a wide variety of other kinds of data. Some types of files can store several types of information at once. By using computer programs, a person can open, read, change, save, and close a computer file. Computer files may be reopened, modified, and copied an arbitrary number of times. Typically, files are organised in a file system, which keeps track of where the files are located on disk and enables user access.

Two What is a Directory?

This page provides a explanation of Directory. It is deserved well because it’s a Q and A type page of everything directory, from how to make it, delete, purpose, types, and more.

A directory is a location for storing files on your computer. Directories are found in a hierarchical file system, such as Linux, MS-DOS, OS/2, and Unix. A directory is an area on the computer that contains other directories and files and helps keep the computer organized. Files can be contained within a directory and contain information used by the operating system or other programs on the computer.

Three FUSE (Filesystem in Userspace)

Before, I didn’t know what FUSE is and wanted to look it up online. This page I found explains what FUSE is and its functionality. Because it’s a wikipedia page, the information I gained from the page is complete, from its history, operation and usage, application, and more.

Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a “bridge” to the actual kernel interfaces.

Four What is a Partition?

This page informs the definition of computer partion. It is rather short because it’s simply consists of its definition, example, and types.

When referring to a computer hard drive, a disk partition or partition is a section of the hard drive that is separated from other segments. Partitions enable users to divide a physical disk into logical sections. For example, allowing multiple operating systems to run on the same device.

Five Metadata Definition

I learned what Metadata is from this page. I was curious about what it means because I usually encounter that word in my times of ‘computing’ and decided to look the definition of Metadata is.

Metadata is data that describes other data. Meta is a prefix that – in most information technology usages – means “an underlying definition or description.” Metadata summarizes basic information about data, which can make finding and working with particular instances of data easier.

For example, author, date created, date modified and file size are examples of very basic document metadata. Having the ability to filter through that metadata makes it much easier for someone to locate a specific document.

In addition to document files, metadata is used for:

- Images - Videos - Spreadsheets - Web pages

Six What was the first OS in the world?

Leaning operating system for a month, and also using it (Windows 10) for a decade of my life, I was curious what was the first OS that people ever use? It’s a silly question but I think it’s an interesting fact to know. I bet a lot of my friends don’t know it. So I looked it up on Google and found the answer in Quora. Here’s what the answer:

OS/360 officially known as IBM System/360 Operating System based on batch processing system developed by IBM for their then-new System/360 mainframe computer, announced in 1964, was the first operating system that was developed. The first computers did not have operating systems. By the early 1960s, commercial computer vendors were supplying quite extensive tools for streamlining the development, scheduling, and execution of jobs on batch processing systems. Examples were produced by UNIVAC and Control Data Corporation, amongst others.

Seven Journaling and Log Structured File System

Also a Quora page, this page enlighten me the definitions of each journaling file system and log-structured file system. What I love about Quora is that many people are friendly and kind enough to answer a lot of questions, including this and the previous one I stated. Answers in Quora are also well-structured and to the point so it’s easy to understand. It gives the definition of each file system and also their advantages and disadvantages.

Journaling File System :

A journalling file system keeps track of all the changes to the file system in a separate circular log (called a journal), which is separate from the on-disk data. The idea of using journaling is to ensure consistency in a file system on a crash. The Unix journalling works as follows: Data written in the memory is first written to a circular log on disk. The journalling can be of two types: Metadata and Physical. Metadata journaling prevents inconsistency between inode block pointers and blocks on disk. However, data consistency may not be ensured. Ext employs metadata consistency.

Log-Structured File Systems :

Log structured file systems, maintain a log within the file system itself. The file system data on disk is structured in the form of a log. The file system writes to the tail of the log. Data and metadata are written to the disk, in the form of a log. Log-structured file systems work on the principle of Copy-on Write. Data blocks, once written, are not written on, until they are completely erased. This is done primarily to improve upon the write efficiency of the file system. Older data blocks are garbage collected and erased.

Eight What is the difference between a journaling vs a log structured file system?

This page explains the difference between the previously mentioned file systems. Did I also mention it’s from the same Quora page?

The basic difference between a log-structured and a journaling file system is therefore in the structure of the log itself. Current disk based hardware have slow read and write speeds. Log-structured file systems provide writes to the disk in a sequential manner and at the same time provide consistency guarantees. The only drawback is random reads. Since, reads are heavy in file systems, the model is still under research. Flash disks have very low random read time and hence Flash file systems based on log-structured file systems are apt for such devices. YAFFS is a good example of such a file system design. Another advantage of log-structured file systems over journaling file systems is that write optimized- file systems extend naturally to efficient transactional guarantees

Nine How To Backup Operating Systems

This is a step-by-step guide for backing up and restoring the operating system(s) installed on your PC (Linux, Windows, etc). Specifically, it describes how to back up and restore hard drive partitions and MBR boot code using free tools and discusses backup and restoration procedures and scenarios.

Uses and benefits of OS backup include:

- After a system upgrade or other ‘surgery’ gone wrong, you can roll the system back to its exact previous state.

- If after a time your system performance degrades, you can roll the system back to its ‘fresh install’ state without having to reinstall.

_ -If you are busy working on your computer and your system develops problems, instead of taking the time to research and fix them, you can restore your system in minutes and get back to work._

- If you aren’t sure if a new problem is hardware or software related, you can roll the system software back to when you know it worked. If the problem remains, it is a good indication of a hardware problem.

- Your system is infected with a virus. Restoring from backup is a quick and thorough fix, equivalent to formatting your entire hard drive and tediously reinstalling everything from scratch (in 10 minutes).

Ten Design a File System

This is a stack overflow page that consists of a person asking how to design a file system and also a kind enough person to answer it short yet useful. The page is 9 years old but the content of the page still stands for years to come. If you’re really looking for a list of design patterns to apply when designing a file system, you should consider:

- Composite for modelling directories/files

- Decorator for allowing to associate additional properties (and possibly behaviour) to file system nodes.

- Iterator for traversing the file system in different ways

- Factory for creating file system nodes with different backends (e.g. a disk-based file system or a memory-based file system or a remote file system).