COSC65 | Finals Flashcards

1
Q

refers to the process of designing and implementing the components and protocols that manage the interaction between a computer system and its external environment, including peripherals such as keyboards, monitors, disk drives, network interfaces, and other devices

A

Input/Output System Design

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

data or instructions entered into the computer system for processing

A

input

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

processed data or results produced by the computer system and presented to the user or another system

A

output

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

input or output devices that are connected to computer

A

peripheral devices

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

these devices are designed to read information into or out of the memory unit upon command from the CPU and are considered to be the part of computer system

A

peripheral devices

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

types of peripheral devices

A

input peripherals
output peripherals
input-output peripherals

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

a specialized software that operates a particular computer-connected device

A

device driver

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

it offers a software interface to the hardware allows operating systems and other computer applications to access hardware functionalities

A

device driver

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

Understanding device driver development

A
  • Know the equipment
  • Write the driver code
  • Initialize the hardware
  • Begin data communication with the hardware
  • Control data communication
  • Test the driver and debug it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Types of Device Driver

A

Kernel-mode Device Driver and User-mode Device Driver

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

it includes some generic hardware that loads with the operating system as part of the OS these are BIOS, motherboard, processor, and some other hardware that are part of kernel software

A

Kernel-mode Device Driver

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

it includes the minimum system requirement device drivers for each operating system

A

Kernel-mode Device Driver

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

other than the devices which are brought by the kernel for working the system the user also brings some devices for use during the using of a system that devices need device drivers to function those drivers

A

User-mode Device Driver

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

the user needs any plug-and-play action that comes under this

A

User-mode Device Driver

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

it works by using a combination of hardware and software to map the physical addresses used by a program to virtual addresses

A

virtual memory

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

it allows the operating system to swap data in and out of physical memory as needed, providing the illusion of a larger memory space

A

virtual memory

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

Virtual memory separates the logical memory space used by programs from physical memory, allowing each program to have its own virtual address space

A

Address space separation

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

Virtual memory only loads the portions of a program that are needed into physical memory, reducing the amount of physical memory required and allowing for more efficient use of resources

A

Demand paging

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

When physical memory becomes full, virtual memory uses this algorithm to determine which pages to swap out to disk in order to make room for new pages

A

Page replacement

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

Virtual memory uses this to map virtual addresses to physical addresses, allowing the operating system to manage the mapping between virtual and physical memory

A

Page tables

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

Virtual memory provides this by assigning different levels of access permissions to different pages of memory, preventing programs from accessing memory that they are not authorized to access

A

Memory protection

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

Virtual memory allows files to be mapped directly into memory, enabling efficient file I/O operations and simplifying memory management for the operating system

A

Memory-mapped files

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

Virtual memory uses this technique to optimize memory usage by allowing multiple processes to share the same memory pages until one of them attempts to modify the page, at which point a copy of the page is made

A

Copy-on-write

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

PRINCIPLES OF VIRTUAL MEMORY

A
  • Address space separation
  • Demand paging
  • Page replacement
  • Page tables
  • Memory protection
  • Memory-mapped files
  • Copy-on-write
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

it is a memory management technique used by operating systems to optimize memory usage

A

Demand Paging

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

in this, only the required pages of a program are loaded into memory when needed, rather than loading the entire program at once

A

Demand Paging

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

it helps to reduce memory wastage and improve overall system performance

A

Demand Paging

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

it is an important part of virtual memory management, and it helps the OS to decide which memory page can be moved out, making space for the currently needed page

A

page replacement algorithm

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

the ultimate objective of this is to reduce the number of page faults

A

page replacement algorithm

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

it is the simplest page replacement algorithm

A

first in, first out (FIFO)

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

in this algorithm, the operating system keeps track of all pages in the memory in a queue, the oldest page is in the front of the queue

A

first in, first out (FIFO)

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

When a page needs to be replaced page in the front of the queue is selected for removal

A

first in, first out (FIFO)

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

it happens when a running program accesses a memory page that is mapped into the virtual address space but not loaded in physical memory

A

page fault

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

it refers to a set of techniques and hardware/software features used in computer systems to control and manage access to memory resources

A

Memory Protection Mechanisms

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

under of Memory Protection Mechanisms

A
  • Memory Segmentation
  • Memory Paging
  • Virtual Memory
  • Memory Protection Rings
  • Address Space Layout Randomization (ASLR)
  • Executable Space Protection (NX bit)
  • Memory Access Violation Handling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

it divides the computer’s memory into logical segments, each with its own base address and size

A

Memory Segmentation

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

it can have different access permissions, such as read-only, read-write, execute, or no access

A

segments

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

it breaks memory into fixed-size blocks called pages

A

Memory Paging

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

fixed-size blocks are called?

A

pages

40
Q

these are mapped to physical memory frames, and the mapping is maintained in a page table

A

pages

41
Q

it is a memory management technique that allows a computer to use more memory than physically available by utilizing disk space as an extension of RAM

A

Virtual Memory

42
Q

they are used in CPUs to control access to system resources and ensure security

A

Memory Protection Rings

43
Q

Memory Protection Rings are also known as

A

privilege levels

44
Q

it is a security technique that randomizes the memory addresses of various components of an application, including the stack, heap, and libraries

A

Address Space Layout Randomization (ASLR)

45
Q

it is a hardware feature that marks memory pages as non- executable

A

Executable Space Protection (NX bit)

46
Q

it refers to the mechanisms used by operating systems to detect and respond to illegal memory accesses

A

Memory Access Violation Handling

47
Q

it is a computing technique when multiple streams of calculations or data processing tasks co-occur through numerous central processing units (CPUs) working concurrently

A

Parallel Processing

48
Q

it uses two or more processors or CPUs simultaneously to handle various components of a single activity

A

Parallel Processing

49
Q

For improved speed, lower power consumption, and more effective handling of several activities, multi-core processors are _______ with two or more CPUs

A

integrated circuit (IC) chips

50
Q

Is it possible to manage parallel processing at a higher level of complexity by using a variety of functional units that perform the same or different activities simultaneously?

A

Yes

51
Q

what are the types of parallel processing?

A
  • Single Instruction, Single Data (SISD)
  • Multiple Instruction, Single Data (MISD)
  • Single Instruction, Multiple Data (SIMD)
  • Multiple Instruction, Multiple Data (MIMD)
  • Single Program, Multiple Data (SPMD)
  • Massively Parallel Processing (MPP)
52
Q

In the type of computing called ____, a single processor is responsible for simultaneously managing a single algorithm as a single data source. A computer organization having a control unit, a processing unit, and a memory unit is represented by ____. It is similar to the current serial computer. Instructions are carried out sequentially by ____, which may or may not be capable of parallel processing, depending on its configuration.

A

Single Instruction, Single Data (SISD)

53
Q

Multiple processors are standard in computers that use the
______ instruction set. While using
several algorithms, all processors share the same input data. ____
computers can simultaneously perform many operations on the
same batch of data. As expected, the number of operations is
impacted by the number of processors available.

A

Multiple Instruction, Single Data (MISD)

54
Q

Computers that use this architecture have multiple processors that carry out identical instructions. However, each processor supplies the instructions with its unique collection of data. ____ computers apply the same algorithm to several data sets. The ___ architecture has numerous processing components.

A

Single Instruction, Multiple Data (SIMD)

55
Q

it is probably the most popular. It is a parallel processing type where a computer has two or more processors that all follow the same instruction set but handle distinct data types

A

Single Instruction, Multiple Data (SIMD)

56
Q

____, computers are characterized by the presence of multiple processors, each capable of independently accepting its instruction stream. These kinds of computers have many processors. Additionally, each CPU draws data from a different data stream. A ____ computer is capable of running many tasks simultaneously.

A

Multiple Instruction, Multiple Data (MIMD)

57
Q

____ systems are a subset of MIMD. Although an ____ computer is constructed similarly to a MIMD, each of its processors is responsible for carrying out the same instructions. ____ is a message passing programming used in distributed memory computer systems. A group of separate computers, collectively called nodes, make up a distributed memory computer.

A

Single Program, Multiple Data (SPMD)

58
Q

A group of separate computers that make up a distributed memory computer

A

nodes

59
Q

A storage structure called ____ is made to manage the coordinated execution of program operations by numerous processors. With each CPU using its operating system and memory, this coordinated processing can be applied to different program sections.

A

Massively Parallel Processing (MPP)

60
Q

benefits of parallel processing

A
  • speed
  • efficiency
  • scalability
  • performance
61
Q

application of parallel processing

A
  • scientific computing
  • big data analysis
  • graphics and image processing
  • machine learning and ai
62
Q

parallel processing examples

A
  • Desktops and laptops
  • Accurate medical imaging
  • Video post-production effects
  • Making predictions in agriculture
  • The American Summit computer
63
Q

it is a combination of computer hardware and software designed for a specific function

A

embedded system

64
Q

it may also function within a larger system where the systems can be programmable or have a fixed functionality

A

embedded system

65
Q

Industrial machines, consumer electronics, agricultural and processing industry devices, automobiles, medical equipment, cameras, digital watches, household appliances, airplanes, vending machines and toys, as well as mobile devices, are possible locations for this

A

embedded system

66
Q

two parts of typical embedded system

A

embedded hardware and embedded software

67
Q

they are based around microprocessors and microcontrollers, also include memory, bus, Input/Output, and Controller

A

embedded hardware

68
Q

it includes embedded operating systems, different applications and device drivers

A

embedded software

69
Q

what two types of architecture are used in embedded systems?

A

Harvard architecture and Von Neumann architecture

70
Q

it includes Sensor, Analog to Digital Converter, Memory, Processor, Digital to Analog Converter, and Actuators etc.

A

Architecture of the Embedded System

71
Q

it is associated with various
challenges. Since such solutions consist of hardware and software, developers have to deal with issues related to both electronics engineering and programming

A

embedded system design

72
Q

it requires deep knowledge of both electronics engineering and programming

A

embedded system design

73
Q

projects require the following specialists

A
  • project managers
  • system analyst and tech lead
  • embedded developers
  • QA specialists
74
Q

they participate in the pre-sale phase. If you contact Integra Sources, you can discuss your idea with them as they have the necessary skills to make a rough estimation of the project. They also organize and supervise the work of the team on a particular project. For customers, PMs are the main contact person in the development team

A

project managers

75
Q

they are responsible for collecting and analyzing the requirements for the future system and thorough project estimation. The tech lead also designs the architecture of the future solution

A

system analyst and tech lead

76
Q

they are front-line layout engineers and software engineers responsible for designing printed circuit boards and coding programs

A

embedded developers

77
Q

they are responsible for testing solutions under development

A

QA specialists

78
Q

stages in Embedded System Design: Hardware Development

A
  1. Requirements gathering and project development specification
  2. Technical proposal
  3. Schematics and Printed circuit Board (PCB) design and layout
  4. Testing
79
Q

The device under development must not only perform its key functions but also be safe and reliable.

  • The design of the board must fully comply with the PCB design rules so that the device can serve as long as possible with no issues.
  • Due attention must be paid to heat dissipation, especially when designing a powerful device. It can be achieved with proper component placement, or by extending the copper area, adding bias, using a cooling radiator, or by other means.
A

Schematics and Printed circuit Board (PCB) design and layout

80
Q

At this stage, the team creates a document that describes the architecture of the future system and the solutions we are going to implement. We also select components for the future device.

A

Technical proposal

81
Q

power consumption, memory capacity, MCU performance, size,
weight, etc.

A

technical characteristics

82
Q

extreme temperatures, humidity, vibration stress, etc.

A

operating environment

83
Q

Since Integra specializes in outsource embedded electronics development, the ideas of new products usually belong to our customers. When the team joins a project, our first task is to gather the requirements for the future device:

  • Functional requirements (what the system must do)
  • Non-functional requirements: performance, scalability, security,
    size, weight, and other important features.
A

Requirements gathering and project development specification

84
Q

The components we have never used before must be ____ to make sure they function as their data sheets indicate

A

tested

85
Q

____ must be protected from EOS and ESD events, EM interference, environmental hazards, and other factors.

A

PCBs

86
Q

If the embedded system is to be mass-produced, we must follow the _____.

A

Design for Manufacturing (DFM) principles

87
Q

The board must be designed with ____ in mind (if the client wants the product to be certified).

A

certification requirements

88
Q

Our team tests PCBs under development at each phase of the process. Tests can show if the board functions correctly and complies with various certification requirements. Tests are conducted both after and during development so that we can reveal and eliminate all kinds of defects and issues before moving on to mass production

A

Testing

89
Q

Creating software is the other part of embedded system design. Unlike applications that run on PCs or smartphones, ____ is created for specific hardware, i.e., can only run on the microcontrollers of special-purpose, non-computer devices. A program that controls a smart watch, a digital camera, a multimeter, or a washing machine is ____

A

Embedded Software

90
Q

four levels of embedded software

A
  1. Firmware
  2. Embedded operating system
  3. Middleware
  4. Embedded application
91
Q

it is a type of computer program that boots a piece of hardware and provides it with low-level instructions. Operating systems and applications run on top of ____. It is written in low-level languages (typically in C/C++). To let the device read it and execute the instructions, the program is then converted into machine code

A

firmware

92
Q

they are specialized software that controls system resources. With drivers and APIs, an OS provides application-level software with access to the device’s hardware. Applications run on top of ____.

A

embedded operating systems

93
Q

Some embedded software designs can include middleware. It’s a software layer between the OS and the application. Virtual machines are typical examples of ____. A VM emulates a platform and executes a computer-independent code, thus making it compatible with different operating systems. For instance, programs written in Kotlin are converted to a Java code (application level) that, in turn, is executed in a virtual machine (middleware level) running on an operating system (OS level).

A

middleware

94
Q

Just like typical apps for computers, this type of software performs the functions of the embedded system and directly interacts with users. It processes data, interacts with other devices, and performs high-level functions. ____ are written in high-level languages such as C++, Python, and JavaScript

A

Embedded applications

95
Q

Embedded Software Development Tools

A
  • Debuggers
  • Linkers
  • Simulators and emulators
  • Code suggestion tools
  • Compilers and cross-compilers
96
Q

Challenges of Embedded Software Development

A
  • Hardware platform selection
  • Selecting a programming language and operating system
  • Software architecture design
  • Coding
  • Testing and Debugging