My name is Taufik Algi Fahri

OS202

View on GitHub

HOME


Top 10 List of Week 00

  1. What is an operating system?
    An operating system is the most important software that runs on a computer. It manages the computer’s memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer’s language. Without an operating system, a computer is useless.

  2. The functions of operaing system
    Operating system has three functions: (1) manage the computer’s resources, such as the central processing unit, memory, disk drives, and printers, (2) establish a user interface, and (3) execute and provide services for applications software.

  3. Operating system structure
    Operating system can be implemented with the help of various structures. The structure of the OS depends mainly on how the various common components of the operating system are interconnected and melded into the kernel. Depending on this we have following structures of the operating system such as simple structure, layered structure, micro kernel, and modular structure.

  4. Resource abstractions in OS
    A resource is “any object which can be allocated within a system” [Balci 1996]. Some examples of resources are processors (CPUs), input/output devices, files, and memory (RAM). Thus, we can restate the purpose of the operating system in terms of resources. The operating system manages resources (resource allocation) and provides an interface to resources for application programs (resource abstraction).

  5. Concepts of APIs
    An application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API also specifies how two or more programs interact with one another; any time a user copies information from one application and pastes it to another, for example, they are engaging a series of API protocols that operate between the two programs. A good API has detailed documentation that makes it easier to develop or refine a program by providing all of the building blocks that are then assembled or manipulated by a programmer.

  6. The evolution of hardware/software techniques and application needs
    In 1945, John von Neumann described a digital computer design using an electronic processor with an arithmetic logic component, processor and instruction registers, data storage memory, a program counter, external data storage, and a means of receiving input and outputting data. This concept became the blueprint for modern programmable computers. The first computer capable of running software, or computer programs, was the Z3, invented in 1941 by German civil engineer Konrad Zuse. The Colossus, first designed in 1943, was another programmable computer, which the Allies used to decrypt German military codes. The predecessor to the modern computer, however, was the Manchester Baby, which fulfilled the standards of the von Neumann architecture. It stored software code in memory and was a general-purpose computer. The Manchester Baby, in turn, inspired the Ferranti Mark 1, which was the first general-purpose computer available to the commercial world. Future computers would continue to follow the von Neumann architecture, enabling the growth of the software industry as a distinct entity from the hardware industry.
    Some of the most notable software that came from the 1980s and 1990s includes the free and open-source Linux operating system and the commercial Microsoft Windows family of operating systems. Web browser software emerged in the 1990s, bringing the Internet to the masses, and video games had a renaissance on home computers. In the 2000s, operating systems such as Apple iOS and Google Android flourished for mobile devices, and programs known as apps became commonplace.

  7. Device organization
    Management of I/O devices is a very important part of the operating system - so important and so varied that entire I/O subsystems are devoted to its operation. ( Consider the range of devices on a modern computer, from mice, keyboards, disk drives, display adapters, USB devices, network connections, audio I/O, printers, special devices for the handicapped, and many special-purpose peripherals. ) I/O Subsystems must contend with two ( conflicting? ) trends: (1) The gravitation towards standard interfaces for a wide range of devices, making it easier to add newly developed devices to existing systems, and (2) the development of entirely new types of devices, for which the existing standard interfaces are not always easy to apply. Device drivers are modules that can be plugged into an OS to handle a particular device or category of similar devices.

  8. Interrupts
    Interrupt is a signal emitted by hardware or software when a process or an event needs immediate attention. It alerts the processor to a high priority process requiring interruption of the current working process. In I/O devices one of the bus control lines is dedicated for this purpose and is called the Interrupt Service Routine (ISR).

  9. System Protection in Operating System
    Protection refers to a mechanism which controls the access of programs, processes, or users to the resources defined by a computer system. We can take protection as a helper to multi programming operating system, so that many users might safely share a common logical name space such as directory or files.

  10. Kernel mode
    The system starts in kernel mode when it boots and after the operating system is loaded, it executes applications in user mode. There are some privileged instructions that can only be executed in kernel mode. These are interrupt instructions, input output management etc. If the privileged instructions are executed in user mode, it is illegal and a trap is generated. The mode bit is set to 0 in the kernel mode. It is changed from 0 to 1 when switching from kernel mode to user mode.