OPERATING SYSTEM

Subdecks (1)

Cards (314)

  • Software
    A program or set of instructions that tells the computer what to do
  • Programming languages used to write software

    • C++
    • Java
  • System software

    Programs used to manipulate the basic operations of a computer system
  • Basic operations handled by system software

    • Accepting input from keyboard
    • Sending output to monitor
    • Locating free disk space
    • Writing files to disk
    • Sending documents to printer
    • Locating and executing programs
  • Application software

    Programs used to accomplish specialized tasks for computer users
  • Types of application software
    • Document production
    • Spreadsheet
    • Presentation
    • Database management
    • Business
    • Multimedia
    • Entertainment
  • System programming
    The act of developing system software
  • System programmers

    • Should have strong knowledge of computer hardware architecture
  • Languages used for system programming

    • Machine language
    • Assembly language
    • High-level programming languages
  • Machine language

    The natural or primitive language that the computer actually understands, consisting of 0s and 1s
  • Assembly language
    Uses abbreviations or mnemonics in place of binary patterns, easier to program than machine language
  • High-level programming languages
    Use English-like commands, easier to use than assembly language
  • Advantages of high-level languages over assembly language

    • Easier to learn and use
    • Have pre-defined functions and subroutines
    • Not machine-dependent
  • Advantages of assembly language over high-level languages

    • Executable code is more compact
    • Not constrained by programming conventions
    • Allows more direct control over memory access
  • Language translators

    System programs that convert high-level or assembly language programs into machine language
  • Types of language translators

    • Assemblers
    • Compilers
  • Interpreters
    System programs that convert high-level language programs into machine language, executing each instruction immediately rather than generating an executable file
  • Linkers and loaders

    System software that combines object files and libraries into a single executable program
  • Operating system is a system software that allows users or application programs to interact with computer hardware in an easy and convenient manner
  • Main goals of an operating system

    • Make the computer easy and convenient to use
    • Manage computer resources efficiently
    • Execute and control programs
  • Key services provided by an operating system

    • Program execution
    • Access to I/O devices
    • File system management
    • System access control
    • Error handling
    • Communication
  • Kernel
    The heart and soul of the operating system, directly controls the computer hardware
  • Shell
    The interface between the user and the kernel
  • Resource modification

    Resources can be modified depending on user type to prevent improper and malicious use
  • Error Handling

    • The operating system detects hardware‐oriented and software‐oriented errors
    • The operating system takes proper actions to resolve errors
  • Error Handling

    1. Retry the operation that caused the error
    2. Terminate the program that caused the error
    3. Report the error to the user and let the user take the necessary remedial action
  • Communication
    The operating system is responsible for facilitating communication among processes
  • There are situations wherein a computer is running several programs at the same time while communicating with one another because they share data
  • There are situations wherein several computer systems may need to communicate with each other
  • Kernel
    The heart and soul of the operating system, it directly controls the computer hardware and performs the services of the operating system
  • Shell
    Part of the operating system that serves as the interface between users and the kernel
  • Types of shells

    • Command‐line interface (CLI)
    • Graphical user interface (GUI)
  • Core services of the kernel

    • Process manager
    • Memory manager
    • File manager
    • I/O manager
  • Process manager

    Responsible for determining which among running programs will execute first and determine runtime duration, also responsible for program termination, inter‐process communication, process synchronization, and deadlock handling
  • Memory manager

    Handles memory allocation and monitor which memory areas are in use and which are free or available, provides protection mechanisms to ensure that memory locations assigned to a process will not be taken by other processes
  • File manager

    Organizes and presents files stored in the secondary storage for easy access, can create, delete, modify, copy, move, rename, and view files and directories or folders, prevents unauthorized file access
  • I/O manager

    Manages the different input‐output devices of the computer system, grants user requests to use the I/O devices and resolves conflict issues when two or more programs access a device at the same time
  • Mainframe computers used in the late 1940s and early 1950s were massive, expensive, slow, and very primitive
  • Mainframe computers in the first generation had no operating systems, so these were "bare" machines
  • Mainframe computers in the first generation could only be used by one person at a time, each program was processed one after another (serial processing)