Operating Systems Flashcards
What are the types of Operating Systems?
Single-user, Mobile device, Mainframe, Network server systems, Real time operating systems (RTOS), Embedded control systems, Distributed systems, Cloud based (Virtual) operating systems, Barebones computer system
Describe a single-user operating system
Personal computer, workstation, multi-tasking, found in laptops and desktops
● Manages resources (CPU, memory, hard drive, peripherals) of a computer
● Provides a GUI for the user to navigate
● Examples: Windows, Mac, Linux (GNOME, KDE)
Describe a Mobile device system
Small hand-held devices like phones, tablets, e-readers
● Cameras, mobile phones, smartphones and tablets contain non-magnetic storage media
● Static magnetic fields near those devices cannot delete data
● Android 70% market share, iOS 28% market share
Describe a mainframe system
Large-scale platforms and enterprise environments. mainframe operating systems are distinct due to their unparalleled focus on processing high volumes of transactions with extreme reliability and uptime, their advanced security features tailored for sensitive data handling, and their ability to scale vertically to support the needs of large enterprises without compromising performance. Unlike other operating systems, they are optimized for batch and real-time processing, capable of running multiple diverse workloads simultaneously with a high degree of resource utilization and efficiency.
Describe network server systems
Designed for specific purpose like database or web server
● Uses a command line interface (CLI) or GUI to control applications and services
● Thin client - Computers that are connected to a networked server. The computer contains the minimum amount of hardware required for the user to interact with the system. The server does the “hard work,” including booting, storing data, and performing calculations.
● Examples: Windows Server, Linux, and Unix
Describe a real-time operating system (RTOS)
Systems that need to act in real time. Examples: air traffic control, process control, autonomous cars.
● Runs multi-threaded applications and can meet real-time deadlines.
● Usually no user interface and designed to run multiple applications, often with multi-threading
● Offers other benefits like resource and file management and device drivers.
● Sometimes used in embedded systems, such as for pacemakers
Describe embedded control system
Designed to control single piece of equipment; ie thermostat
● Provide a light-weight kernel that runs on low-powered hardware
● Designed to manage the resources of a device
○ Sensor, controller, other internet of things (IoT) devices-like a fridge or microwave
● Examples: FreeRTOS and VxWorks
Describe a cloud based operating system
Designed to function in a cloud or virtualized environment. Primarily stateless.
Describe a distributed system
Allocates process power, programs files, to network users.
A distributed system is a network of independent computers that work together to perform a unified task. This setup allows for the system to handle failures gracefully, scale horizontally, and share resources efficiently across different locations. Distributed systems enable various applications—from web services to databases—to operate in a coordinated manner, despite being spread out across multiple physical machines or geographic locations, thus improving performance and reliability.
Describe a Barebones computer system
System that can run only one program at a time with no memory or I/O.
Define emulator
Computer or program that emulates or imitates another computer or program. For example, emulators make it possible to run Windows on a Mac computer and vice versa
Describe a cross-platform application
May run on many platforms, or as few as two
● Linux, macOS and Microsoft Windows
● Some frameworks for cross-platform development are Codename One, ArkUI-X, Kivy, Qt, Flutter, NativeScript, Xamarin, Phonegap, Ionic, and React Native.
Describe multi-programming
Multiple programs execute at the same time on a single device
Describe preemptive multitasking
Each process is allocated an equal share of computing resources
Describe cooperative multitasking
Non-preemptive. Legacy technique, allocates an entire CPU to a single process either until the time a process is completed or until it yields control back at suspension points