Module 1 Flashcards
Multiprogramming
Run multiple applications at the same time, protecting them from one another and sharing the CPU between them.
Hierarchical file system
Store data on disk persistently organized in a tree structure.
Plug-and-play devices
Software that allows external devices (e.g. printers and scanners) to interact with applications
Virtual memory
Store multiple applications in memory at the same time.
Graphical User Interface
Allows users to develop, run, and interact with new applications. Good user interface allows operating systems to evolve
from office machines into machines usable by home users.
ENIAC
The Electronic Numerical Integrator and Computer (ENIAC) was the
first general-purpose electronic computer. ENIAC was developed at the
University of Pennsylvania.
Punch cards
Pieces of stiff papers with holes in them, where the presence
and absence of holes is used to encode digital information about data or
programs.
Resident Monitor
A piece of software that is a precursor to modern
operating systems. This software runs in memory and in the punch card era,
and was used to process one punch card at a time.
Operating System (OS)
A piece of software that is layered between
applications and hardware, allowing multiple applications to share the same
physical machine resources and gain access to external devices.
Time-Sharing
The ability to share one physical compute resource among
multiple applications.
Multics
A time-sharing operating system developed by MIT, General Electric, and Bell Labs for mainframes in the 60s.
Compatible Time Sharing System (CTSS)
An operating system developed by MIT that shares similar time-sharing features as Multics.
Linux
An open-source operating system commonly used on both home and server machines. Linux is closely modeled after its predecessor Unix.
Unix
A well-known operating system developed by Bell Labs that has many of the features used in modern operating systems, such as time-sharing, a Shell, and a hierarchical file system.
MS-DOS
An early operating system developed for end-user computers by Microsoft. MS-DOS introduced the command prompt interfaces seen in many subsequent versions of Windows.
Berkeley Standard Distribution (BSD)
A Unix distribution developed by the University of California, Berkeley. It is most well-known for its pioneering implementation of the TCP/IP protocol used over the internet today.
Ubuntu
A popular distribution of Linux that is considered easy to install and easily usable by the non-expert.
Virtualization
A method for dividing up physical compute resources into logical separate units usable by different users. The most common example is running multiple operating systems that share one physical machine.
Embedded Operating System
An operating system for small devices like sensor networks, or specialized hardware used in airplanes, home appliances, and other mobile devices.
Vagrant
A software that automates the process of installation of virtual machines.
Virtual Machine
A piece of software that emulates a physical machine, but is actually an application running on an existing operating system.
Host OS
The operating system that runs on the actual hardware.
Guest OS
The operating system that runs in the virtual machine.
VirtualBox
An open-source software that enables us to run virtual machines.
Code Repository
A service that stores multiple versions of code, either in
the cloud or locally on a server machine.
Version Control
The ability to manage and change across multiple versions
of digital content, typically software.
Git
An open-source popular version control software.
Pull (from code repository/Git)
Getting a version of software from a code
repository.
Push (from code repository/Git)
Pushing locally committed software
changes into a code repository.
Merge (in Git repository)
Pulling in changes from a code repository and
combining the changes with local changes, before pushing the combined
version back to the server. Merge can sometimes be done automatically if there are no conflicting changes.