Operations Systems C6 Flashcards

1
Q

Define parallel processing and explain its significance in computer systems.

A

Parallel processing involves the simultaneous operation of two or more processors within a system. It is significant as it enhances system reliability and accelerates processing speed by executing instructions concurrently.

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

What role does a Processor Manager play in parallel processing systems?

A

The Processor Manager coordinates the activities of each processor and synchronizes their interaction within a parallel processing system.

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

Discuss two benefits of parallel processing in computer systems.

A

Parallel processing increases system reliability by allowing multiple CPUs to continue operations if one fails. It also speeds up processing by executing instructions simultaneously.

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

Describe three methods for achieving faster instruction processing in parallel processing systems.

A

Faster instruction
processing can be achieved by allocating CPUs to each program or job,
to each working set or parts of it, or
by subdividing individual instructions for simultaneous processing.

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

What are the major challenges faced in concurrent programming?

A

Concurrent programming faces challenges in connecting processors into configurations and organizing their interaction effectively. Synchronization is a key aspect in addressing these challenges.

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

Define multi-core processing and explain how it addresses issues like current leakage and heat generation.

A

Multi-core processing involves placing several processors on a single chip, which helps mitigate problems like current leakage and heat generation commonly associated with traditional single-core chips.

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

Describe the solution proposed to overcome problems in multi-core processing systems.

A

The solution involves integrating multiple processor cores onto a single chip, allowing for simultaneous calculations. However, each core typically operates at a slower speed compared to a single-core chip.

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

Discuss three typical configurations of multiprocessing systems.

A

Multiprocessing systems can be configured in three common ways: master/slave, loosely coupled, and symmetric configurations.

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

What are the advantages and disadvantages of multi-core processing?

A

Advantages of multi-core processing include improved performance through parallel processing and better utilization of chip space. Disadvantages may include increased complexity in programming and potential for increased power consumption.

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

Explain the difference between master/slave, loosely coupled, and symmetric multiprocessing configurations.

A

In a master/slave configuration, one processor acts as the master and coordinates tasks with the slave processors.

Loosely coupled systems involve processors working independently but communicating through shared memory or messaging.

Symmetric multiprocessing configurations have multiple processors sharing a single memory and working cooperatively on tasks.

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

Define asymmetric multiprocessing and outline the responsibilities of the master processor in a master/slave configuration.

A

Asymmetric multiprocessing involves a single primary master processor managing additional slave processors. The master processor’s responsibilities include managing the entire system, maintaining process status, storage management, scheduling work for other processors, and executing control programs.

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

Compare and contrast loosely coupled and symmetric configurations in multiprocessing systems

A

Loosely coupled configurations involve independent computer systems communicating and cooperating with each other. In contrast, symmetric configurations have processors utilizing the same scheduling algorithm, providing increased reliability and efficient resource utilization. However, symmetric configurations are more challenging to implement and require well-synchronized processes to avoid races and deadlocks

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

Discuss the advantages of symmetric multiprocessing over loosely coupled configurations.

A

Symmetric multiprocessing offers increased reliability, efficient resource utilization, balanced load distribution, and graceful degradation in failure scenarios compared to loosely coupled configurations.

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

What challenges are associated with implementing symmetric multiprocessing systems?

A

Implementing symmetric multiprocessing systems requires well-synchronized processes to avoid races and deadlocks. Additionally, specialized algorithms are needed to address issues such as interrupt processing and conflicts arising from multiple processors accessing the same resource simultaneously.

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

Explain the concept of master/slave configuration in multiprocessing systems.

A

In a master/slave configuration, a single primary master processor manages additional slave processors. The master processor is responsible for managing the entire system, maintaining process status, storage management, scheduling work for other processors, and executing control programs.

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

Describe the concept of process synchronization and explain why it is essential in multitasking environments.

A

Process synchronization involves using locks to ensure that resources are accessed by only one process at a time, thus preventing conflicts and maintaining data integrity in multitasking environments.

17
Q

What are the potential issues that can arise from mistakes in synchronization?

A

Mistakes in synchronization can lead to problems like starvation, where a process waits indefinitely for a resource, and deadlock, where multiple processes are blocked because they are each holding a resource needed by another.

18
Q

Define the critical region in the context of process synchronization and explain why it is crucial.

A

A critical region is a part of a program where execution must be completed without interruption to maintain data integrity. Other processes must wait before accessing resources within the critical region to prevent conflicts.

19
Q

Explain the test-and-set locking mechanism, including its advantages and drawbacks.

A

Test-and-set is a locking mechanism executed in a single machine cycle, setting a key to unavailable if it’s available. Its advantages include simplicity and effectiveness for a small number of processes, but it can lead to issues like starvation and busy waiting.

20
Q

How does process synchronization contribute to efficient multitasking in computer systems?

A

Process synchronization ensures that resources are accessed and shared appropriately among multiple processes, preventing conflicts and maintaining data integrity, thus contributing to efficient multitasking in computer systems.

21
Q

Explain the WAIT and SIGNAL operations in process synchronization, and discuss their significance.

A

WAIT and SIGNAL operations are modifications of the test-and-set mechanism aimed at eliminating busy waiting in process synchronization. WAIT is activated when a process encounters a busy condition code, while SIGNAL is activated when a process exits a critical region, signaling that the resource is free for other processes to use.

22
Q

Define semaphores and describe their role in process synchronization.

A

Semaphores are nonnegative integer variables or binary signals used to indicate the availability of a resource. They help manage access to shared resources among multiple processes by controlling mutual exclusion and synchronization through operations like P (proberen) and V (verhogen).

23
Q

Discuss the importance of process cooperation and provide examples of scenarios where it is crucial.

A

Process cooperation involves multiple processes working together to achieve a common task, requiring mutual exclusion and synchronization. Examples include the producers and consumers problem, where one process produces data and another consumes it, and the readers and writers problem, where multiple processes need access to a shared resource like a file or database.

24
Q

How are semaphores utilized in solving the readers and writers problem?

A

In the readers and writers problem, semaphores are used to ensure mutual exclusion between readers and writers accessing a shared resource. They control access to the resource, granting it to readers if no writers are processing and to a writer if no readers are reading and no writers are writing.

25
Q

Explain the concept of mutual exclusion and synchronization in the context of process cooperation.

A

Mutual exclusion ensures that only one process can access a shared resource at a time, preventing conflicts and maintaining data integrity. Synchronization ensures that processes coordinate their actions effectively to avoid race conditions and ensure the correct order of operations.

26
Q

Describe concurrent programming and discuss its significance in modern computing systems.

A

Concurrent programming involves systems where one job utilizes multiple processors to execute sets of instructions in parallel. It is significant in modern computing as it allows for efficient utilization of resources and acceleration of computations.

27
Q

Explain the concept of Amdahl’s Law and its implications for parallel computing.

A

Amdahl’s Law states that the speedup of a parallel program is limited by the sequential portion of the program. As the number of processors increases, the speedup becomes limited by the sequential portion, leading to diminishing returns in performance gains.

28
Q

Differentiate between data level parallelism and instruction level parallelism, providing examples of each.

A

Data level parallelism involves parallelism in operations performed on multiple data elements, such as SIMD systems. Instruction level parallelism, on the other hand, involves parallelism in executing multiple instructions concurrently, like in MIMD systems.

29
Q

Discuss the order of operations in arithmetic calculations and provide an example equation demonstrating this order.

A

The order of operations dictates the sequence in which arithmetic calculations are performed: parentheses, exponents, multiplications/divisions (from left to right), and additions/subtractions (from left to right). An example equation demonstrating this order is: Z = 10 - A / B + C * (D + E) ** (F - G).

30
Q

How does Amdahl’s Law impact the scalability of parallel computing systems?

A

Amdahl’s Law limits the speedup achievable by parallel computing systems, as the performance gains become increasingly limited by the sequential portion of the program as the number of processors increases. This impacts the scalability of parallel computing systems by imposing practical limits on the achievable speedup.

31
Q

Discuss the significance of concurrent programming in reducing complexity in various applications, providing examples.

A

Concurrent programming reduces complexity in applications such as array operations, matrix multiplication, database searching, and sorting/merging files by enabling parallel execution of tasks.

32
Q

What are threads, and how do they contribute to concurrent programming?

A

Threads are lightweight processes within a larger process that minimize overhead and improve performance by allowing tasks to be executed concurrently. They share data areas and resources allocated to their process, enhancing performance and interactivity, particularly in applications like web servers.

33
Q

Compare Ada and Java as concurrent programming languages, highlighting their development history and key features.

A

Ada, developed in the late 1970s, was the first language to provide specific concurrency commands and was standardized by the ISO in Ada 2012. Java, developed by Sun Microsystems in 1995, is a universal Internet application software platform allowing cross-platform application development.

34
Q

Explain the components of the Java Platform and their roles in supporting Java applications.

A

The Java Platform consists of the Java Virtual Machine (Java VM), which serves as the foundation and contains the interpreter for running compiled bytecodes, and the Java application programming interface (Java API), which provides a collection of software modules grouped into libraries.

35
Q

Describe the key features of the Java Language Environment and its suitability for distributed client-server applications.

A

The Java Language Environment is designed for experienced programmers, follows an object-oriented paradigm, and features memory allocation at runtime using symbolic “handles.” It includes built-in security features, such as compile-time and runtime checks, and sophisticated synchronization capabilities, making it suitable for distributed client-server applications.