HOME

Top 10 List of Week 00

  1. An operating system system is a software that ,manages a computer’s hardware. An interesting aspect of operating system is how they vary in accomplishing these tasks in a wide variety of computing environment. We can find operating systems everywhere, from mobilde devices, personal computers,cars and IoT.

  2. Why study OS? As almost all code runs on top of an operating system, knowledge of how operating system work is crucial to proper, efficient, effective and secure programming. It is not essential not only to those who program them, but also highly useful for those who write programs on them and use them.

  3. Operating system includes the always running kernel(The kernel is a computer program at the core of a computer’s operating system with complete control over everything in the system. It is an integral part of any operating system. It is the “portion of the operating system code that is always resident in memory”), middleware frameworks that ease application development and provide features, and system programs that aid in managing the system while it is running.

  4. There are 3 key aspects of Computer-system organization:
    • Interrupts
      Interrupts are an imporant part of a computer architecture.Interrupts are used for many other purposes and are a key part of how OS and hardware interract.Interrupts are used throughout modern OS to handle asynchronous events. Device controllers and hardware faults raise interrupts.To enable the most urgent work to be done first, modern computers use a system of interrrupt priorities. Because interrupts are so used heavily for time-sensitive processing, efficient interrupt handling is required for good system performance.
    • Storage
      The CPU can load instructions only from memory, so any program must first be loaded into memory to run. The design of a complete storage system must balance all the important factors: it must use only as much expensive memory as necessary while providing as much inexpensive, nonvolatile storage as possible. Caches can be installed to improve performance where a large disparity in access time or transfer rate exists between two components.
    • I/O structure
      A large portion of OS code is dedicated to managing I/O, both because of its importance to the reliability and performance of a system and because of the varying nature of the devices.
  5. Definitions of computer system components
    • CPU : The hardware that executes instructions.
    • Processor : A physical chip that contains one or more CPUs
    • Core : The basic computation unit of CPU
    • Multicore : Including multiple computing cores on the same CPU
    • Multiprocessor : Including multiple processors
  6. For a computer to start running, it needs to have an initial program to run. Typically, the program is stored within the computer hardware in firmware. It initializes all aspect of the system, from CPU registers to device controllers to memory contents. The program must know how to load and execute the operating system (must locate the OS kernel and load it into memory), then it can start providing services to the system and its users. Some services are provided outside of the kernel by system programs that are loaded into memory at boot time to become system daemons, which run the entire time the kernel is running.

    • Multiprogramming – A computer running more than one program at a time (like running Excel and Firefox simultaneously). In a modern computing system, there are usually several concurrent application processes which want to execute. Now it is the responsibility of the Operating System to manage all the processes effectively and efficiently. Multiprogramming increases CPU utilization, as well as keeping users satisfied.
    • Multiprocessing – A computer using more than one CPU at a time.
    • Multitasking – Tasks sharing a common resource (like 1 CPU). Multitasking is an extension of multiprogramming. In multitasking systems, the CPU executes multiple processes by switching among them, but the switches occur frequently, providing the user with a fast response time. -Multithreading is an extension of multitasking
  7. Data structures that are used in an operating system include:
    Lists : a collection of data values as sequence
    Stacks : sequentially ordered data structure that uses LIFO principles for adding and removing items
    Queues : sequentially ordered data structure that uses LIFO principles for adding and removing items
    Trees : used to represents data hierarchally
    Hash function : takes data as its input,performs numeric operation and returns a numeric value
    Bitmaps : is a string of n binary digits that can be used to represent the status of n items.

  8. Types of OS
    Free OS : sometimes referred to as free/libre software, not only makes source code abvailable but also is licensed to allow no-cost use, redistribution, and modification
    Open-source OS: the souce code is available, but does not necessarily offer license like Free OS (GNU/Linux)
    Closed-source OS: sometimes referred to as proprietary software, owns the OS, restricts its use, and carefully protects its source code (Windows)
    Hybrid OS : It usually contains an open-source kernel but includes proprietary, closed-source components as well (Apple’s macOS)

  9. Learning operating systems by using an open source OS has many benefits.
    • Starting with a source code allows the programmer to produce binary code that can be executed on a system. Doing the opposite (binary to code) ,well known as reverse engineering, is quite a lot of work, and useful items such as comments are never recovered.
    • Students can modify the OS and then compile and run the code to try out those changes
    • Arguably, open-source code is more secure than closed-source code because many more eyes are viewing the code.
    • Many unpaid programmers contribute to the code by helping to write it,debug it,analyze,provide support and suggest changes.