Operating Systems & Parallel Computing

0.0(0)
studied byStudied by 6 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/100

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

101 Terms

1
New cards

Operating System (OS)

A type of software that manages computer hardware resources and provides common services for computer programs

2
New cards

Device Management

The OS manages all devices connected to a computer (printers, scanners, external hard drives)

3
New cards

Memory Management

The OS manages the memory of a computer, it ensures each program gets the necessary memory to run correctly

4
New cards

Process Management

The OS manages all the processes running on a computer, it ensures each process gets the necessary resources and allows multiple programs to be in memory and run at the same time

5
New cards

Security

The OS provides safety features to protect from viruses/malware

6
New cards

User Interface (UI)

The OS provides a user interface that allows us to interact with the computer and run apps

7
New cards

Kernel Mode

The processor mode that enables software to have full and unrestricted access to the system and its resources

8
New cards

Machine Level

Contains: An instruction set, memory organization (to store data), Input/Output, and a bus structure

9
New cards

Bus Structure

A communication system that transfers data between components inside a computer (or between computers)

10
New cards

Internal Bus

Connects computer internals to the motherboard

11
New cards

Parallel Bus Structure

Multiple bits of data are transmitted simultaneously over multiple channels

12
New cards

Serial Bus Structure

Data is transmitted one bit at a time over a single channel (USB = universal serial bus)

13
New cards

Device Driver

A group of files that enable one or more hardware devices to communicate with the computer’s OS

14
New cards

Resources Managed by OS

Processors, memory, timers, disks, mice, network interfaces

15
New cards

Mainframe OS

Designed to run on large, centralized computers that handle high volumes of data processing and storage

16
New cards

Server OS

Specialized computers that operate within a client/server architecture to serve the requests of client computers on the network

17
New cards

Multiprocessor OS

Used to boost the performance of multiple CPUs within a single computer system

18
New cards

Personal Computer OS

Provide a good interface for a single user, used for word processing, spreadsheets, and internet access

19
New cards

Handheld (Mobile) OS

Designed to run on mobile devices (touchscreens, mobile apps, wireless connectivity)

20
New cards

Embedded OS

Designed to run on embedded systems such as consumer electronics, industrial machines, and automobiles (low power consumption and small memory footprint)

21
New cards

Sensor Node OS

Run on small devices that can sense and transmit data wirelessly (low power consumption, real time processing, wireless connectivity)

22
New cards

Real Time OS

Designed to handle real time applications that require immediate response to external events

23
New cards

Smart Card OS

Run on small plastic cards with embedded sensor microchips, provide secure storage and cryptographic functions

24
New cards

Edit Time

Phase in which source code of a program is written, modified, or reviewed by a programmer

25
New cards

Compile Time

Phase in which source code of a program is translated into machine-readable code by a compiler (object code)

26
New cards

Link Time

Phase in which the object code is linked with other object files and libraries to create an executable file or a shared library

27
New cards

Distribution Time

Phase in which the executable file/shared library is packaged and distributed to end-users or customers (i.e. downloads, media, etc.)

28
New cards

Installation Time

Phase in which the end-user installs the software in their computer

29
New cards

Load Time

Phase in which the OS loads the executable file/shared library into memory and prepares it for execution

30
New cards

Run Time

Phase in which the program is executed by the computer

31
New cards

Thread

A sequence of instructions that can be executed independently by a computer’s CPU

32
New cards

Multithreading

Allows multiple threads of execution to run concurrently on a single CPU

33
New cards

Threadpool

Collection of worker threads that are maintained by the OS and are waiting for tasks to be allocated for concurrent execution by the program

34
New cards

Locking

Mechanism that enforces limits on access to a shared resource when there are many threads, used to ensure that only one thread can access a shared resource at a time

35
New cards

Kernel

The main layer between an OS and the underlying computer hardware, processes memory management, file systems, device control, and network

36
New cards

Scheduler

Component of an OS that manages the allocation of resources and the execution of tasks, ensures each task gets its fair share of resources

37
New cards

Vim

Mode based text editor → You need to enter INSERT mode before you can write text to the file

38
New cards

Nano

Modeless text editor → What you see is what you get command line text editor

39
New cards

ls

List and directories in the current directory

40
New cards

cat

Joins and displays file

41
New cards

touch

Creates an empty file or updates the timestamp of an existing file

42
New cards

mkdir

Creates a new directory

43
New cards

rmdir

Deletes an empty directory

44
New cards

grep

Searches for a pattern in a file or input

45
New cards

traceroute

Traces the route taken by packets over an IP network

46
New cards

ping

Tests the reachability of a host on an IP network

47
New cards

chown

Changes the owner of a file or directory

48
New cards

chmod

Changes the permissions of a file or directory

49
New cards

alias

Creates an alias for a command or sequence of commands

50
New cards

pwd

Prints the current working directory

51
New cards

cd

Changes the current working directory

52
New cards

cp

Copies files and directories from one location to another

53
New cards

rm

Removes files and directories

54
New cards

mv

Moves or renames files and directories

55
New cards

sudo

Executes a command with elevated privileges

56
New cards

echo

Prints text to the terminal or redirects it to a file

57
New cards

vim

A text editor that allows users to create, edit, and view files (V)

58
New cards

nano

A text editor that allows users to create, edit, and view files (N)

59
New cards

which

Displays the location of an executable file in the user’s PATH environment variable

60
New cards

tail

Displays the last few lines of a file or input stream

61
New cards

head

Displays the first few lines of a file or input stream

62
New cards

wc

Counts the number of lines, words, and characters in a file or input stream

63
New cards

find

Searches for files and directories that match specified criteria in a given location

64
New cards

wget

Downloads files from the internet

65
New cards

Race Conditions

When two or more processes are reading/writing some shared data and the final result depends on who runs precisely when

66
New cards

Critical Region

The resource that is being shared between processes

67
New cards

Semaphore

An integer variable that is shared between threads, used to solve the critical section problem and to achieve process synchronization

68
New cards

Binary Semaphore (Mutex)

Can only have two values (0 or 1) and it’s initialized to 1

69
New cards

Counting Semaphore

Its value can range over an unrestricted domain

70
New cards

Beautiful Soup Library

Python library used for pulling data out of HTML and XML files (navigates, searches, and modifies)

71
New cards

/bin

Contains binary executable files

72
New cards

/sbin

Contains binary executable files, used by the system administrator for system maintenance

73
New cards

/etc

Contains configuration files required by all programs and startup/shutdown shell scripts used to start/stop individual programs

74
New cards

/dev

Contains device files

75
New cards

/proc

Contains info about system process

76
New cards

Pseudo File System

Contains info about running processes

77
New cards

Virtual File Systems

Contains info about system resources

78
New cards

/var

Contains variable files

79
New cards

/temp

Directory that contains temporary files created by the system/users

80
New cards

/src

Contains binaries, libraries, documentation, and source code for second level programs

81
New cards

/home

Home directories for all users to store their personal files

82
New cards

/boot

Contains boot loader related files

83
New cards

/lib

Contains library files that support the binaries located under /bin and /sbin

84
New cards

/opt

Contains add on applications from individual vendors

85
New cards

/mnt

Temporary mount directory where sysadmins can mount file systems

86
New cards

/media

Temporary mount directory for removable devices

87
New cards

/srv

Contains server specific services related data

88
New cards

Daemon

Utility programs that run silently in the background to monitor and take care of certain subsystems

89
New cards

Interactive Processes

Run by a user at the command line

90
New cards

Batch Processes

Not associated with the command line and are presented from a list of processes (groups of tasks)

91
New cards

User

The owner of the file (creator by default)

92
New cards

Group

Contains multiple users that have the same permissions access to a file

93
New cards

Other

Any other user who has access to the file

94
New cards

File Permissions

Read (R), write (W), execute (X)

95
New cards

Primary/Log in Group

The group that is assigned to the files that are created by the user

96
New cards

Secondary/Supplementary Group

Used to grant certain privileges to a set of users

97
New cards

Pipe Command

Helps combine two or more commands and are used as input/output concepts in a command (Symbol = |)

98
New cards

Redirecting to a File

When we wish the program’s output to be saved in a file instead of printed to the screen (Symbol = >)

99
New cards

Secure Shell Protocol (SSH)

Cryptographic network protocol for operating network services securely over an unsecured network (client-server architecture)

100
New cards

Function Driver

The one driver in the stack that communicates directly with the device