Quiz 3: Software & OS Flashcards

1
Q

Software

A

all the non-hardware components (program code) of a digital
device. (System software, development software, and Application software)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

System Software Types

A

Operating Systems

for controlling a digital device’s internal operations
e.g. Windows, macOS, iOS, Linux, Android, UNIX, and Chrome OS.

Device Drivers

For digital devices to communicate with each other .
e.g. Printer Drivers and Video Drivers

Utilities

For file management, security, communications, backup, network
management, and system monitoring like antivirus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Development Software Types

A

Programming Languages

For writing programs C Basic, Java, Fortran, C++, C#, Scheme, and Objective-C

Scripting Languages

For writing scripts, creating Web pages, and querying databases
HTML, JavaScript (client-server communication), PHP(Drupal, WordPress),
Python, Ruby, and SQL

Quality Assurance Tools

For testing software Debuggers, Load Testing, Security Testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Application Software Types

A

Professional Tools

For automating professional activities at work and in the home office
Desktop Publishing, Graphic Design, and Special Effects

Educational Software

For students and teachers engaged in the process of learning in classrooms and at a distance (D2L, Blackboard, Drupal)
Tutorials, Courseware, and Learning Management Systems (Looop)

Personal Finance Software

For managing bank accounts, preparing taxes, retirement planning, and
other financial matters (Quicken)
Tax Preparation, Banking Apps, and Loan Calculators (TurboTax)

Business Software

For automating core business functions
Accounting (Quickbook, ERP), Inventory Management (ERP,ProjectManager, Ms Project), Billing Databases, Point of Sale
(Squirrel Systems POS, Global Payment), Sales force Management and Estimating

Productivity Software

For automating tasks formerly carried out with legacy technologies, such as pen and paper, typewriters, calculators, and slide Projectors
Word Processors, Spreadsheets, Presentations, Calendars, and
Contact Managers (CRM)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Distribution: MD5 & Checksum, and Hash definition

A

Hash is a unique representation of the input data (an ID)

Checksum:

A checksum is a specific type of hash value or code that is generated from data, often for the purpose of detecting errors in data transmission or storage. It’s usually a simpler form of hash.
Here’s how it works:
1. You download a file and its associated checksum.
2. You run the same checksum algorithm on the downloaded file to generate a new fingerprint.
3. You compare the new fingerprint with the one you downloaded. If they match, it means the file hasn’t been tampered with during the download. If they don’t match, there may be a problem with the file, and you should download it again.

MD5 (Message Digest 5):

MD5 is a specific checksum algorithm. It’s like a more advanced fingerprint for your data. It takes the contents of a file and processes it through a complex mathematical formula to create a unique MD5 hash.
This hash is a fixed length and looks like a random string of letters and numbers.
Allows you to generate CRC32, MD5, SHA-1, SHA-256,
SHA-384 and SHA-512 hashes
Here’s how it works:
1. You download a file.
2. You run an MD5 algorithm on the downloaded file to generate an MD5 hash.
3. You compare this MD5 hash with the one provided by the source. If they match, it means the file is most likely intact and hasn’t been tampered with during the download.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Operating System Services (8)

A

Program development:
The OS provides a variety of facilities and services such as editor and debuggers, to assist the programmer in creating programs.

Program execution:
A number of steps need to be performed to execute a program.

Access I/O devices:
Each I/O device requires its own peculiar set of instructions or control signals of operation.

Error detection and response:
The OS constantly checks for possible errors
The OS takes an appropriate action to ensure correct and consistent computing

Files system manipulation

Resource management:
The OS manages all kinds of resources using schedulers.
CPU scheduling algorithms are used for better utilization of CPU.

Protection:
refers to a mechanism or a way to control the access of programs, processes, or users to the resources defined by a computer system.
The OS ensures that all access to system resources is controlled.
The OS ensures that external I/O devices are protected from invalid access attempts.
The OS provides authentication features for each user by means of passwords.

Communication:
Two processes often require data to be transferred between them
Both the processes can be on one computer or on different computers, but are
connected through a computer network
Communication may be implemented by two methods, either by shared memory or by message passing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Key Interfaces (3)

A

Instruction set architecture (ISA):
Machine language instructions that a computer can follow
Application programs and utilities may access user ISA.
Each CPU has its own specific ISA, which determines which instructions it can understand and perform.
OS has access to system ISA to deal with managing system resources.

Application binary interface (ABI): Machine-language API.

Application programming interface (API)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the name of the first PC?

A

IBM 5150

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Electronic Numerical Integrator and
Computer (ENIAC)

A

One of the earliest electronic general-purpose computers (1940s)

ENIAC was an enormous machine, occupying a large room. It consisted of 17,468 vacuum tubes, 7,200 crystal diodes, 1,500 relays, 70,000 resistors, 10,000 capacitors, and around 5 million hand-soldered joints.

ENIAC Could:
Discriminate the sign of a number
Compare quantities for equality
ENIAC stored a maximum of twenty
10-digit decimal numbersAdd, subtract, multiply, divide
Extract square roots

ENIAC did not have an Operating System
Programs were “loaded” by plugging tubes and relays together using cables

To program it, you had to physically rewire it. Changing the program was a labor-intensive process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Single-User Computers

A

Hardware: Expensive; Humans: Cheap
One user at a time on console
Interacting with as program runs
Computer executes one function at a time
No overlap: computation & I/O
User must be at console to debug

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Problems of Early System

A

Scheduling
Most installations used a hardcopy sign-up sheet to reserve computer time.
Time allocations could run short or long, resulting in wasted computer time

Setup time
A considerable amount of time was spent on setting up the program to run.

User must be at console to debug

Multiple users=inefficient use of machine

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Uniprogramming

A

Uniprogramming operating systems allow the computer to work on just one program or task at a time. When you open a program, like a web browser or a word processor, the computer dedicates all of its attention to that program until you close it or it’s done with its task.

While this approach is straightforward, it has some drawbacks. If the program takes a long time to complete, you might have to wait a while before you can use another program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Batch System: IBM 370

A

Instead of processing tasks or jobs one at a time, it groups them together into a “batch.” These tasks could be things like running programs, processing data, or performing calculations. Then, the computer processes this batch of tasks automatically and sequentially, without needing constant user intervention. It’s like loading all your tasks into the computer’s “dishwasher” and letting it work through them on its own.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Simple Batch Systems Processing

A

(a) Programmers bring cards to 1401;
(b) 1401 reads batch of jobs onto tape;
(c) operator carries input tape to 7094;
(d) 7094 does computing;
(e) operator carries output tape to 1401;
(f) 1401 prints output.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Multiprogramming

A

A computer architecture and operating system concept that allows multiple programs (or processes) to run concurrently on a computer system. It is a technique designed to maximize the utilization of a computer’s CPU by keeping it busy and productive even when a single program is not using it fully.

OS manages interactions:
- Which jobs to run (schedule)
- Protects program’s memory from others
- Decides which to resume when CPU available

There must be enough memory to hold the OS (resident monitor) and one user program

When one job needs to wait for I/O, the processor can switch to the other job, which is likely not waiting for I/O

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Modes of Operation

A

User Mode
User program executes in user mode
Certain areas of memory are protected from user access
Certain instructions may not be
executed

Kernel Mode
Monitor executes in kernel mode
Privileged instructions may be
executed
Protected areas of memory may be
accessed

In simple terms, user mode is like the safe and restricted area where regular applications play, while kernel mode is the powerful and controlled core where the operating system maintains order and manages the computer’s vital functions

17
Q

Program vs Process

A

Program is a passive entity stored on disk (executable file) while process is an active program.

Program becomes process when executable file loaded into memory

One program can be several processes
A process is always stored in the main memory (Primary Memory or
Random Access Memory)

In summary, a program is a set of instructions or code stored as a file, while a process is the active execution of that program in memory, with its own resources and state. Programs become processes when they are loaded into memory and run by the computer’s operating system.

18
Q

Thread

A

A thread is a part of the execution of a process (a subset of the process)
recognized as an entity by OS or by the thread library

A thread shares many attributes of a process

All the threads running within a process share the same address space
(Synchronization or communication).

A thread is called a lightweight process (LWP)
A process is called a heavyweight process (HWP)

19
Q

Process Control Block (PCB)

A

Contains the process elements

It is possible to interrupt a running process and later resume execution as if the interruption had not occurred

Created and managed by the operating system

Key tool that allows support for multiple processes

The PCB is maintained by the operating system and is crucial for managing the execution of processes, scheduling CPU time, handling interrupts, and ensuring that processes do not interfere with each other’s memory and resources.

20
Q

Dispatcher (Program)

A

The component of OS that controls the
process selection for execution from a “ready to execute” queue.

In a simple model, the dispatcher selects from the queue the process that has been in the queue the longest. (starvation)

21
Q

Multitasking vs. Multithreading vs. Multiprocessing

A

Multitasking – provides process and memory management services that allow two or more tasks, jobs, or programs to run simultaneously

Multithreading – allows multiple commands, or threads to run simultaneously

Multiprocessing – a capability that supports a division of labor among all the processing units

22
Q
A