hocky

Operating Systems 2021-1 (OS211)

Written by Hocky Yudhiono in Pontianak

Top 10 List of Week 01

Hello, this is my top 10 list of Week 01. šŸ˜³šŸ˜³. I barely experienced a Linux operating system. Iā€™m not really familiar with the terms yet. By terms I mean like Linux, UNIX, GNU/Linux, Kernel, and some others šŸ˜•. In this post I tried to use Bahasa Indonesia. But the terms are complicated. Instead I will use bahasa campuran. Also this Top 10 wonā€™t be sorted by ā€œThe best and the most importantā€. Instead, itā€™s my ā€œTop 10ā€, sorted (almost) chronologically among others good GSGS stuffs.

1. Operating Systems: Crash Course Computer Science #18 (Video)

This is my baby step šŸ‘£šŸ‘£.

Mengarahkan kepada link yang berisikan video berdurasi 13 menit, dengan dijelaskannya apa itu Sistem Operasi, apa gunanya secara umum, bagaimana sejarahnya dan bagaimana berkembangnya hingga sekarang. Pada awalnya sistem operasi dimulai dari keresahan para programmers karena perlunya berbagai penyesuaian berbeda untuk setiap hardware. šŸŒ 

Akhirnya dibuatlah sistem operasi yang bisa menjadi semacam perantara antara hardware dan program aplikasi, yang menyediakan semacam antarmuka (interface) yang semakin berkembang dan semakin rumit, menyediakan berbagai kegunaan, seperti memory management, resource management yang mengizinkan adanya multitasking menggunakan 1 CPU. šŸ’»

2. Multiprogramming vs Multiprocessing vs Multitasking vs Multithreading (Article)

This is an article, the title and the content is self explanatory. Quite obvious. This explains all the differences between the ā€œMultiā€ terms that weā€™ve heard. TL;DR Multiprogramming is where there is multiple programs running in the main memory. Multiprocessing is multiple processors that is used to run several instructions of a program in parallel. Multithreading is dividing processes into threads which has its own path of execution. Multitasking is when several users executing something in memory. Also, a really related post Cloud Service Models read as well! šŸ’™ļø

3. Regex Golf (Interactive)

Itā€™s a regex practice website. You can solve some regex puzzle while learning it. People even make a dedicated github repository of the bests solutions of RegexGolf. Well, if you stuck, you can actually debug your temporary solutions in RegExr, another online tool which explain all the regular expressions you write. A must visit website šŸŽ¹.

4. Virtual Memory (Article)

As we all know, there are a thing called Virtual Memory in Operating systems. Instead of letting a process uses some other addresses in memory, it will set up an environment which lets the process to only ā€œFightā€ šŸ„Š in its area, thatā€™s called the virtual memory, itā€™s basically a mapping system which lets a virtual address instead of physical address, which then will be translated into real physical address that is allocated to a process. The mapping šŸ—ŗ is done by the memory management unit (MMU), and is known as paging technique. Not only on the main memory, this virtual memory also treats part of a secondary memory as the ā€œmain memoryā€. The process can also do a limited subsets of instructions (so it doesnā€™t crash the whole system), and is called a dual mode operation system.

5. OpenVim (Interactive)

This editor is a total nightmareā€¦ At first. This site is an interactive guide on Vim (Vi iMproved). Which basically is the same editor as Vi, But improved. In fact, Iā€™m writing this sentences in vim!

6. System Call in OS: Types and Examples (Article)

TL;DR letā€™s say youā€™re running Microsoft Word but you need to import some good writing of yours into the app. In fact, there are some process that needs special ā€œattentionā€ in the OS. Those are process control (end, abort, load, execute, allocate, free memory, create, terminate process), file management (create, delete, open, close, etc), device management, information maintenance, and comunication. These operations are only granted for ā€œKernel modeā€ only. So the ā€œUser modeā€ processes need to interrupt and System Call the OS to use these commands. šŸŒ½šŸ’»

7. Where GREP Came From - Computerphile (Video)

Computerphile and Tom Scott have always been my favorite computer science channel out there. They explain stuffs with simple human language thatā€™s understandable for some of us whoā€™s a beginner. In this video, they will talk about the History of GREP, a CLI command which print lines matching a given pattern šŸ’¾.

8. Learn Shell (Interactive)

A really good website to learn bash scripting, just follow the interactive tutorial and youā€™ll become a pro in no time! You can also visit this DevHints Bash Cheatsheet which displays neats layout to the cheat sheet.

So, while Iā€™m writing this article, I read the slide and turns out my page link is wrong, so I changed it. But then again someone said it was right, and turns out it was already right. Being the cool guy šŸ˜Ž, I tried to implement what I learned! from w to wd to w again. šŸ˜¢

for i in {1..10}; do
    # SRC=`printf "../os211/wd%02.0f.md" $i`
    TO=`printf "../os211/w%02.0f.md" $i`
    # mv $SRC $TO
    SRC=`printf "WD%02.0f" $i`
    REP=`printf "W%02.0f" $i`
    echo $SRC
    sed -i "s/$SRC/$REP/g" $TO
done

9. 25 Years of Linux in 5 minutes and BSD, Linux, POSIX, UNIX Playlist (Video)

UNIX is an operating systems invented by Dennis Ritchie and Ken Thompson at the Bell Labs Research Center. It was a commercial product sold by AT&T. Linux is an operating system Kernel which was invented by Linus Torvalds at the University of Helsinki. A kernel is a program that always run, so itā€™s just a software and not as complete/full as UNIX šŸ”„. See Linux as an engine, and UNIX as a car šŸš—. Itā€™s more like a ripoff or clone of UNIX. Itā€™s open source, unlike UNIX. For extra pepper, you can read What is the very fundamental difference between Unix, Linux, BSD and GNU? and watch Unix vs Linux Difference Between Linux and Unix Intellipaat. By then, macOS is still a descendant of UNIX. As for POSIX, itā€™s a standard command interface. You can read more at What is the meaning of POSIX?.

10. The Different Types of Virtualization in Cloud Computing ā€“ Explained (Video and Article)

Virtualization is the process of creating a virtual environment on an existing server to run your desired program. Well, internet connection is getting more fast, fast, and fast āš”. People compute stuffs over the server on the cloud and obtain the result in their own machine at home. The link will explain cloud computing and virtualization!

Thatā€™s all Week 0 and 1 from me. Iā€™ll start doing Week 2 as soon as possible!

Qapla! Jolan Tru!


šŸŒµ Ā© Hocky Yudhiono, 2021 - 2021