os202

Mohammad Saddam Mashuri's OS202


Project maintained by saddamonpc Hosted on GitHub Pages — Theme by mattgraham

HOME

Top 10 List of Week 01

  1. Standard C Library
    The C standard library (libc) is the standard library for the C programming language. This will become the programming language that will be used to study OS in this course. Anyway, the C standard library will undoubtedly be our life savior as it provides macros, string handling, mathematical computations, memory management, etc.

  2. The von Neumann Model
    The von Neumann model is vital to understand, as it is the foundation of the OS architecture. This model describes a design architecture for a computer with components, such as a processing unit, a control unit, memory, storage, and I/O.

  3. Secure Shell (SSH)
    SSH is a secure protocol for remote logins. Using an SSH client, a user can connect to a server to transfer information in a more secure manner. Usually, we use a command line interface (CLI) to use SSH.

  4. UEFI, GRUB, and systemd
    These three are the firmware interface types and bootloaders. Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. Grand Unified Boot Interface (GRUB) is commonly used as the default bootloader for most linux distros. GRUB supports multiboot system, but is tricky to fix if anything goes wrong. For system daemon (systemd) is a collection of fundamental prerequisite daemons for running a Linux system. Systemd has a smaller bootloader than GRUB, but they are a text-only bootloader.

  5. Kernel Data Structures
    Kernel data structures are the way data are structured in the operating system. Fundamental data structures used extensively in operating systems are Lists, Stacks, and Queues.

  6. Virtualization
    Virtualization is essentially, the OS takes a physical resource (such as the processor, memory, disk) and transforms it into a more general, powerful, and easy-to-use virtual form of itself.

  7. Shell Scripting
    Shell scripting, such as a simple bash script, helps us automate small tasks. Writing a shell script should be simple and not that hard to start off. To get started with a simple bash script, go to this [link] (https://www.linux.com/training-tutorials/writing-simple-bash-script/) .

  8. User and Operating-System Interface
    Users need a way to interact with the operating system. That’s where several types of interfaces, like Command Interpreters, Graphical User Interface (GUI), and Touch-Screen Interface comes to the rescue. Most operating systems, such as Linu and Windows, treat the command interpreter as a special program that is running when a process started. General users, usually use the graphical user interface and touch-screen interface, as it is more intuitive and easy to learn.

  9. System Calls
    System calls is the interface between a process and an operating system. System calls a reavailable as assembly language instructors. System calls are usually made when a process in user mode requires access to a resource.

  10. Vim (text editor)
    Vim is a standalone, configurable, advanced text editor that seeks to be efficient for their users. Through my journey in computer science, I’ve always used Notepad++ as my text editor. Although, Vim is a more appropriate alternative for a computer scientist text editor, as they don’t require you to switch between tabs and are highly technical.

Sources:
https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
https://www.maketecheasier.com/grub-vs-systemd-boot/
http://pages.cs.wisc.edu/~remzi/OSTEP/