Midterm Review Flashcards

1
Q

Define Software

A

A collection of data or computer instructions that tells the computer how to work

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

Code vs software

A

Software are programs used by the computer

Code is instructions written in a form that computers can execute

Machine Code, Assembly Code, Low-Level & High-Level Code

Code is not software

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

What is a killer app?

A

Any computer program or software that is so necessary or desirable that it proves the core value of some larger technology

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

Examples of Killer Apps

A

It’s all about the sales:
DOS, Mac, Windows, iPhone, Android, The Internet

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

Describe Firmware

A

Software embedded directly in a hardware, used to make it function

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

Open-source vs closed source software

A

Source code is Public vs Private

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

Examples of Open and Closed source Software

A

Open: Firefox, MySQL, Perl, PHP, Linux
Closed: Windows, IOS, Mac OS

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

Categories of Application Software

A

Information Worker
Entertainment
Educational
Enterprise
Simulation
Media Development
Product Engineering
Software Engineering

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

Examples of application software used by an information worker

A

Spreadsheets, Email and blog clients

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

What are programming tools?

A

Applications used to create, debug, maintain, or otherwise support software development

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

Examples of programming tools

A

Compilers
Debuggers
Interpreters
Linkers
Editors
IDEs
Linters

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

What are differences between compiled, interpreted, hybrid

A

C: all at once before we load and execute the program
I: convert each line of code as you execute the program
H: Convert the source code to a pseudo-machine code. Pass to an interpreter
that converts the p-code (portable code) as it executes

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

Describe Machine Language

A

Directly executable by a CPU. Each CPU uses its own binary machine code made up of 0s and 1s.

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

Describe Assembly Language

A

Provides some human-understandable representation of 0s and 1s

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

Describe Low-Level Languages

A

Low-level language provides a minimal abstraction of the processor
Low-level code doesn’t significantly abstract the computer’s instruction set architecture but does hide the specific assembly codes.

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

Describe High-Level Languages

A

High-level languages significantly abstract the details of the computer.

17
Q

Define an Operating System

A
  1. A system software that manages computer hardware, software resources, and provides common services for computer programs
  2. A program that implements the detailed interactions with hardware and applications
18
Q

Name tasts that need an OS

A

Input a character from the keyboard
Allocate n bytes of memory for a new data structure
Load a program into memory
Call a shared library function
Exit current program
Sleep for n seconds

19
Q

Difference between User and Kernel Modes

A

User mode provides a safe and controlled environment for applications
Kernel mode allows the OS to manage hardware and system resources directly

20
Q

What is the mode bit?

A

The mode bit prevents direct communication with the Kernel & Hardware
Separation is essential for system security and stability

21
Q

What is the mode bit set to for user mode and kernel mode?

A

User - 0
Kernel - 1

22
Q

Provide Examples of Privileged Instructions

A

I/O Operations
Memory Management
Interrupt handling
Mode Changing
System Control

23
Q

Provide Examples of Non-Privileged Instructions

A

Arithmetic Operations
Data Movement
Control Flow
Basic Memory Access
I/O Requests

24
Q

Describe Unix and what its used on

A

Written in C. Text Based. Multi-user Support
Used by AT&T and Bell

25
Q

Describe MS DOS and what its used on

A

Simple and Text Based
Used for Microsoft PCs

26
Q

Describe Linux and what its used on

A

Based on Unix. Open Source.
Started text based, has graphical interface distributions

27
Q

Describe Windows and what its used on

A

Graphical OS
Started as interface with DOS, no longer is
Used on PCs

28
Q

Describe Mac OS and what its used on

A

Based on Unix. Graphical OS
Used on PCs

29
Q

Describe iOS and what its used on

A

Some Unix Basis. Touch Controls
Used on iPhones

30
Q

Describe Android and what its used on

A

Graphical OS. Touch Controls
Used on Smartphones

31
Q
A