Fundamentals Of Computer Systems Flashcards

1
Q

What is hardware in a computer system?

A

Hardware refers to the physical components of a computer system that can be touched.

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

Give examples of internal and external hardware components.

A

Internal hardware examples include the hard drive and sound card, while external hardware examples include printers and speakers.

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

What is software in a computer system?

A

Software refers to program code, which consists of sequences of instructions executed to perform tasks.

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

Provide examples of hardware, software, and hardware & software components.

A

Examples include a monitor (hardware), word processor (software), and wireless router (hardware & software).

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

What is application software?

A

Application software refers to programs designed to complete specific tasks for the user, such as word processors, web browsers, and spreadsheet software.

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

What is system software?

A

System software operates, controls, and maintains the computer and its components, including the operating system, utility programs, library programs, and translators.

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

What is the purpose of an operating system?

A

An operating system allows users to control the computer and provides a virtual machine to hide the computer’s complexity. It also manages resources, handles memory, processor scheduling, and interrupts.

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

What are utility programs used for?

A

Utility programs are used for housekeeping tasks in a computer system, such as data backup, hard drive defragmentation, data compression, and encryption.

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

What are library programs?

A

Library programs contain useful functions frequently used by a program, allowing programmers to simplify development by importing them into their code.

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

What are translators in software?

A

Translators are software pieces that translate between different types of languages, including compilers, assemblers, and interpreters.

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

Why were high-level languages developed?

A

High-level languages were developed to make programming easier for programmers by allowing instructions to be communicated to a computer’s processor.

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

What are low-level languages?

A

Low-level languages are specific to the type of processor and directly manipulate the computer’s processor. They include machine code and assembly language.

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

What is machine code?

A

Machine code uses binary digits (1s and 0s) to represent instructions. Programs written in machine code are lengthy and difficult for humans to understand.

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

What are the advantages of machine code?

A

Machine code allows direct manipulation of the computer’s processor and is useful for embedded systems and real-time applications where speed is crucial.

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

What is assembly language?

A

Assembly language is a low-level language that uses mnemonics instead of binary instructions. It is more compact and less error-prone than machine code.

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

What is the purpose of high-level languages?

A

High-level languages are not platform-specific and use English instructions and symbols to make programming easier for humans. They need to be translated into machine code before execution.

17
Q

Give examples of high-level languages.

A

C#, Java, Pascal, Python, and VB.Net.

18
Q

What are the advantages of high-level languages?

A

High-level languages are easier to learn, understand, and debug than low-level languages. They offer features like built-in functions, named variables, indentation, and commenting.

19
Q

What is the difference between low-level and high-level languages in terms of portability?

A

Low-level languages are not portable and are specific to certain processors, while high-level languages are portable and not specific to certain processors.

20
Q

How is debugging different in low-level and high-level languages?

A

Debugging low-level languages is challenging due to difficulties in spotting and correcting errors. High-level languages offer features like named variables, indentation, and commenting, making debugging easier.

21
Q

What needs to be done before executing programs written in low-level and high-level languages?

A

For low-level languages, machine code is directly executed by processors. For high-level languages, an assembler (for assembly language) or a compiler/interpreter (for high-level languages) must be used to translate source code into object code before execution.

22
Q

What is the purpose of program translators?

A

Program translators are used to translate programs written in assembly language or high-level languages into machine code so that they can be executed by a computer’s processor.

23
Q

What are the three types of program translator?

A

The three types of program translator are assemblers, compilers, and interpreters.

24
Q

What is the role of an assembler?

A

An assembler translates assembly language into machine code. Each assembly language instruction has a 1-to-1 relationship with a machine code instruction.

25
Q

How does a compiler work?

A

A compiler translates high-level language programs into machine code. It checks the entire program for errors and translates it all at once. If errors are found, the program won’t be translated.

26
Q

What is the difference between a compiler and an interpreter?

A
  • A compiler translates the entire program before execution
  • An interpreter translates high-level languages into machine code line-by-line during execution.
27
Q

What is the advantage of using an intermediate language in compilers?

A

Compilers that use an intermediate language (such as bytecode) allow for platform independence. The intermediate language can be executed on different processors using a virtual machine.

28
Q

What is the source code?

A

Source code is the input to a translator and can be assembly language code or code written in a high-level language.

29
Q

What are imperative high-level languages and how do they differ from declarative programming?

A

Imperative high-level languages are a category of programming languages that use instructions to specify how a computer should complete a task.
* They differ from declarative programming, which focuses on describing what a computer should do rather than how it should do it.