commit e83b60af4f6f31dfee1b44e8f1d8ef7c552efdce Author: gwg313 Date: Mon Apr 20 22:44:45 2026 -0400 first commit update readme reformat diff --git a/README.md b/README.md new file mode 100644 index 0000000..6e585ed --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +Some flashcards for 3303 + +import in https://mochi.cards/ diff --git a/hATaBiZQ - 3303/03iSJpuB - What is a Design Anti-Pattern.md b/hATaBiZQ - 3303/03iSJpuB - What is a Design Anti-Pattern.md new file mode 100644 index 0000000..6babdcd --- /dev/null +++ b/hATaBiZQ - 3303/03iSJpuB - What is a Design Anti-Pattern.md @@ -0,0 +1,7 @@ + + What is a **Design Anti-Pattern**? + +--- + +โš ๏ธ **Bad code** or poor design solutions that are seen repeatedly. + diff --git a/hATaBiZQ - 3303/0cXmwn3Z - Why does the JVM rely on the preemption of lower-priority threads.md b/hATaBiZQ - 3303/0cXmwn3Z - Why does the JVM rely on the preemption of lower-priority threads.md new file mode 100644 index 0000000..08fff6e --- /dev/null +++ b/hATaBiZQ - 3303/0cXmwn3Z - Why does the JVM rely on the preemption of lower-priority threads.md @@ -0,0 +1,6 @@ + +Why does the JVM rely on the **preemption** of lower-priority threads? + +--- + +๐Ÿšจ To ensure that **high-priority threads** that need processor time urgently (e.g., for real-time tasks) receive it immediately without waiting for others to finish. diff --git a/hATaBiZQ - 3303/0gCTh6vr - How does the OS distinguish between a Process and a Thread.md b/hATaBiZQ - 3303/0gCTh6vr - How does the OS distinguish between a Process and a Thread.md new file mode 100644 index 0000000..fbfd33d --- /dev/null +++ b/hATaBiZQ - 3303/0gCTh6vr - How does the OS distinguish between a Process and a Thread.md @@ -0,0 +1,11 @@ + + +How does the OS distinguish between a **Process** and a **Thread**? + +--- + +๐Ÿงต + +- **Thread**: A single thread of control/execution. +- **Process**: A collection of threads and an associated **address space**. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/0giiktq8 - What is a Coordinator control object.md b/hATaBiZQ - 3303/0giiktq8 - What is a Coordinator control object.md new file mode 100644 index 0000000..9a9c695 --- /dev/null +++ b/hATaBiZQ - 3303/0giiktq8 - What is a Coordinator control object.md @@ -0,0 +1,6 @@ + +What is a **Coordinator** control object? + +--- + +๐Ÿค An overall decision-making object that controls others but is **not state-dependent** (e.g., a system scheduler). diff --git a/hATaBiZQ - 3303/1mP3Csyc - What two events cause a thread to terminate and release the processor permanently.md b/hATaBiZQ - 3303/1mP3Csyc - What two events cause a thread to terminate and release the processor permanently.md new file mode 100644 index 0000000..f9aa410 --- /dev/null +++ b/hATaBiZQ - 3303/1mP3Csyc - What two events cause a thread to terminate and release the processor permanently.md @@ -0,0 +1,10 @@ + + What two events cause a thread to **terminate** and release the processor permanently? + +--- + +๐Ÿ + +1. The **`run()`** method finishes its execution. +2. An **exception** is thrown that propagates beyond the `run()` method. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/1mnrnrnJ - Why is OS support Native Threads required for true multi-processor concurrency.md b/hATaBiZQ - 3303/1mnrnrnJ - Why is OS support Native Threads required for true multi-processor concurrency.md new file mode 100644 index 0000000..40183db --- /dev/null +++ b/hATaBiZQ - 3303/1mnrnrnJ - Why is OS support Native Threads required for true multi-processor concurrency.md @@ -0,0 +1,6 @@ + +Why is **OS support (Native Threads)** required for true multi-processor concurrency? + +--- + +๐Ÿš€ Because Green Threads are managed inside a single OS process, they cannot be distributed across multiple physical CPUs by the OS. Only **Native Threads** allow the OS to run different Java threads on different cores simultaneously. diff --git a/hATaBiZQ - 3303/27O0OwdT - Why are Entity Objects usually the only passive objects in this architecture.md b/hATaBiZQ - 3303/27O0OwdT - Why are Entity Objects usually the only passive objects in this architecture.md new file mode 100644 index 0000000..85e9d5b --- /dev/null +++ b/hATaBiZQ - 3303/27O0OwdT - Why are Entity Objects usually the only passive objects in this architecture.md @@ -0,0 +1,6 @@ + +Why are **Entity Objects** usually the only passive objects in this architecture? + +--- + +๐Ÿ’พ Because their primary role is to **store and manage data** for other active components rather than orchestrating system behavior or timing. diff --git a/hATaBiZQ - 3303/2oSEtZME - Why is a mutex usually required when using Entity Objects in a multi-threaded environment.md b/hATaBiZQ - 3303/2oSEtZME - Why is a mutex usually required when using Entity Objects in a multi-threaded environment.md new file mode 100644 index 0000000..6e34d1b --- /dev/null +++ b/hATaBiZQ - 3303/2oSEtZME - Why is a mutex usually required when using Entity Objects in a multi-threaded environment.md @@ -0,0 +1,6 @@ + +Why is a **mutex** usually required when using Entity Objects in a multi-threaded environment? + +--- + +๐Ÿ”’ Because Entity Objects are almost always **passive**, meaning they do not manage their own concurrency/execution flow. diff --git a/hATaBiZQ - 3303/3UeTLboG - How does a Service Subsystem differ from other subsystems in terms of behavior.md b/hATaBiZQ - 3303/3UeTLboG - How does a Service Subsystem differ from other subsystems in terms of behavior.md new file mode 100644 index 0000000..f831cd5 --- /dev/null +++ b/hATaBiZQ - 3303/3UeTLboG - How does a Service Subsystem differ from other subsystems in terms of behavior.md @@ -0,0 +1,6 @@ + + How does a **Service Subsystem** differ from other subsystems in terms of behavior? + +--- + +๐Ÿ› ๏ธ It **does not initiate actions** on its own; it only provides services to other subsystems upon request. diff --git a/hATaBiZQ - 3303/3vPbF387 - If a method call like sleep or wait causes a thread to relinquish the processor when does that method return.md b/hATaBiZQ - 3303/3vPbF387 - If a method call like sleep or wait causes a thread to relinquish the processor when does that method return.md new file mode 100644 index 0000000..aae8cb4 --- /dev/null +++ b/hATaBiZQ - 3303/3vPbF387 - If a method call like sleep or wait causes a thread to relinquish the processor when does that method return.md @@ -0,0 +1,7 @@ + + +## If a method call (like `sleep` or `wait`) causes a thread to relinquish the processor, when does that method **return**? + +--- + +โณ The method does **not return** until the thread is rescheduled and is back in the **Running** state. diff --git a/hATaBiZQ - 3303/4Gx5T4NM - Which class acts as the middleman that can talk to Boundary Entity and other Control objects.md b/hATaBiZQ - 3303/4Gx5T4NM - Which class acts as the middleman that can talk to Boundary Entity and other Control objects.md new file mode 100644 index 0000000..2bcc764 --- /dev/null +++ b/hATaBiZQ - 3303/4Gx5T4NM - Which class acts as the middleman that can talk to Boundary Entity and other Control objects.md @@ -0,0 +1,6 @@ + +Which class acts as the "middleman" that can talk to **Boundary**, **Entity**, and other **Control** objects? + +--- + +๐Ÿ•น๏ธ The **Control** class. (Note: It still cannot talk directly to Actors). diff --git a/hATaBiZQ - 3303/4ZE7Mnsm - What exotic tool can be used to record specific event times by thread at the OS level.md b/hATaBiZQ - 3303/4ZE7Mnsm - What exotic tool can be used to record specific event times by thread at the OS level.md new file mode 100644 index 0000000..a92731f --- /dev/null +++ b/hATaBiZQ - 3303/4ZE7Mnsm - What exotic tool can be used to record specific event times by thread at the OS level.md @@ -0,0 +1,6 @@ + + What "exotic" tool can be used to record specific event times by thread at the OS level? + +--- + +๐Ÿ•ต๏ธ **OS Tracing Tools**. diff --git a/hATaBiZQ - 3303/5CqQd5zo - What is the difference between Deadlock Detection and Deadlock Prevention.md b/hATaBiZQ - 3303/5CqQd5zo - What is the difference between Deadlock Detection and Deadlock Prevention.md new file mode 100644 index 0000000..2fd8af1 --- /dev/null +++ b/hATaBiZQ - 3303/5CqQd5zo - What is the difference between Deadlock Detection and Deadlock Prevention.md @@ -0,0 +1,10 @@ + +What is the difference between **Deadlock Detection** and **Deadlock Prevention**? + +--- + +๐Ÿ” + +- **Detection**: Allowing deadlocks to happen but using tools (like watchdog timers or request graph analysis) to find and reset the system. +- **Prevention**: Using a strict policy, such as **requesting resources in the same order**, to ensure a deadlock can never physically occur. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/5F6pTno4 - Who are Entity Objects permitted to communicate with.md b/hATaBiZQ - 3303/5F6pTno4 - Who are Entity Objects permitted to communicate with.md new file mode 100644 index 0000000..6464bf9 --- /dev/null +++ b/hATaBiZQ - 3303/5F6pTno4 - Who are Entity Objects permitted to communicate with.md @@ -0,0 +1,6 @@ + +Who are **Entity Objects** permitted to communicate with? + +--- + +๐Ÿ“ฆ Only **Controllers** and **other Entity Objects**. diff --git a/hATaBiZQ - 3303/5lKBOfp2 - What does it mean for Application Logic to be independent of presentation details.md b/hATaBiZQ - 3303/5lKBOfp2 - What does it mean for Application Logic to be independent of presentation details.md new file mode 100644 index 0000000..aeab503 --- /dev/null +++ b/hATaBiZQ - 3303/5lKBOfp2 - What does it mean for Application Logic to be independent of presentation details.md @@ -0,0 +1,7 @@ + + +## What does it mean for Application Logic to be **independent of presentation details**? + +--- + +๐Ÿ—๏ธ It ensures **separation of concerns**; changes to the User Interface (UI) should not directly impact the core application logic. diff --git a/hATaBiZQ - 3303/6ENKicBx - What is the specific responsibility of a Boundary Object regarding Hardware.md b/hATaBiZQ - 3303/6ENKicBx - What is the specific responsibility of a Boundary Object regarding Hardware.md new file mode 100644 index 0000000..9f5fc41 --- /dev/null +++ b/hATaBiZQ - 3303/6ENKicBx - What is the specific responsibility of a Boundary Object regarding Hardware.md @@ -0,0 +1,6 @@ + +What is the specific responsibility of a Boundary Object regarding **Hardware**? + +--- + +๐Ÿ”Œ **Device I/O**: It receives input from and/or sends output to a hardware device. diff --git a/hATaBiZQ - 3303/6HmSECvS - How does the scale of a Design Pattern compare to a single Class.md b/hATaBiZQ - 3303/6HmSECvS - How does the scale of a Design Pattern compare to a single Class.md new file mode 100644 index 0000000..8104c46 --- /dev/null +++ b/hATaBiZQ - 3303/6HmSECvS - How does the scale of a Design Pattern compare to a single Class.md @@ -0,0 +1,7 @@ + + +## How does the scale of a **Design Pattern** compare to a single Class? + +--- + +๐Ÿ—๏ธ It is a **larger-grained** form of reuse; it involves **multiple classes** and their specific interactions rather than just one. diff --git a/hATaBiZQ - 3303/6IvdCzQY - How does a Watchdog Timer help handle deadlocks.md b/hATaBiZQ - 3303/6IvdCzQY - How does a Watchdog Timer help handle deadlocks.md new file mode 100644 index 0000000..739793f --- /dev/null +++ b/hATaBiZQ - 3303/6IvdCzQY - How does a Watchdog Timer help handle deadlocks.md @@ -0,0 +1,6 @@ + +How does a **Watchdog Timer** help handle deadlocks? + +--- + +๐Ÿ• It is a timer that must be reset periodically by the software; if a deadlock occurs and the software stops responding, the timer expires and **automatically resets the system**. diff --git a/hATaBiZQ - 3303/7DPEsoCe - When measuring by events what does Wall Clock Time refer to.md b/hATaBiZQ - 3303/7DPEsoCe - When measuring by events what does Wall Clock Time refer to.md new file mode 100644 index 0000000..b7b8a47 --- /dev/null +++ b/hATaBiZQ - 3303/7DPEsoCe - When measuring by events what does Wall Clock Time refer to.md @@ -0,0 +1,6 @@ + + When measuring by events, what does **"Wall Clock Time"** refer to? + +--- + +โŒš The actual time elapsed as measured by a **system timer** or stopwatch, including execution, transfer latency, and waiting (queuing). diff --git a/hATaBiZQ - 3303/7Q6BA8X8 - What are the two methods for measuring the state of an entity eg Device Busy.md b/hATaBiZQ - 3303/7Q6BA8X8 - What are the two methods for measuring the state of an entity eg Device Busy.md new file mode 100644 index 0000000..1a9ee37 --- /dev/null +++ b/hATaBiZQ - 3303/7Q6BA8X8 - What are the two methods for measuring the state of an entity eg Device Busy.md @@ -0,0 +1,9 @@ + + +## What are the **two methods** for measuring the state of an entity (e.g., "Device Busy")? + +--- + +1. **Event Logging**: Record when it "goes busy" and "goes idle," then sum the total time. +2. **Sampling**: Use a **timer-based daemon** to periodically check the state and count how often it is busy vs idle. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/99qRPpnf - In a MasterSlave pattern what are the three main rules for the Slaves.md b/hATaBiZQ - 3303/99qRPpnf - In a MasterSlave pattern what are the three main rules for the Slaves.md new file mode 100644 index 0000000..17cafa2 --- /dev/null +++ b/hATaBiZQ - 3303/99qRPpnf - In a MasterSlave pattern what are the three main rules for the Slaves.md @@ -0,0 +1,11 @@ + +In a **Master/Slave** pattern, what are the three main rules for the Slaves? + +--- + +โ›“๏ธ + +1. Slaves **do not interact** with each other. +2. Slaves **do not have** their own control objects. +3. They only respond to the Master, who integrates their results. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/9Ialcody - Why is disabling preemption while a low-priority thread is in a critical section considered a poor solution.md b/hATaBiZQ - 3303/9Ialcody - Why is disabling preemption while a low-priority thread is in a critical section considered a poor solution.md new file mode 100644 index 0000000..68dc2a6 --- /dev/null +++ b/hATaBiZQ - 3303/9Ialcody - Why is disabling preemption while a low-priority thread is in a critical section considered a poor solution.md @@ -0,0 +1,5 @@ + + +## Why is **disabling preemption** while a low-priority thread is in a critical section considered a poor solution? + +๐Ÿšซ Because it stops **all** other high-priority threads from running, even those that have **nothing to do** with the critical section or the lock in question. diff --git a/hATaBiZQ - 3303/9OvFGJBe - What occurs in the Synchronous Object Access pattern.md b/hATaBiZQ - 3303/9OvFGJBe - What occurs in the Synchronous Object Access pattern.md new file mode 100644 index 0000000..d0c79c9 --- /dev/null +++ b/hATaBiZQ - 3303/9OvFGJBe - What occurs in the Synchronous Object Access pattern.md @@ -0,0 +1,8 @@ + + +## What occurs in the **Synchronous Object Access** pattern? + +--- + +๐Ÿค Two or more **active objects** share data through a **passive object**. Because the data is shared, **mutual exclusion (mutex)** is strictly required. + diff --git a/hATaBiZQ - 3303/9Pxr1C3p - What is the difference between Design Patterns and Architectural Patterns.md b/hATaBiZQ - 3303/9Pxr1C3p - What is the difference between Design Patterns and Architectural Patterns.md new file mode 100644 index 0000000..f051a22 --- /dev/null +++ b/hATaBiZQ - 3303/9Pxr1C3p - What is the difference between Design Patterns and Architectural Patterns.md @@ -0,0 +1,10 @@ + +What is the difference between **Design Patterns** and **Architectural Patterns**? + +--- + +๐Ÿ“ + +- **Design Patterns**: A small group of collaborating objects (e.g., Gang of Four). +- **Architectural Patterns**: Larger-grained, addressing the structure of **major subsystems**. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/9VelMVvp - What is a classic example of the Synchronous Object Access pattern.md b/hATaBiZQ - 3303/9VelMVvp - What is a classic example of the Synchronous Object Access pattern.md new file mode 100644 index 0000000..9234ee1 --- /dev/null +++ b/hATaBiZQ - 3303/9VelMVvp - What is a classic example of the Synchronous Object Access pattern.md @@ -0,0 +1,6 @@ + +What is a classic example of the **Synchronous Object Access** pattern? + +--- + +๐Ÿญ The **Producer-Consumer** problem (where both access a shared buffer entity). diff --git a/hATaBiZQ - 3303/9bKORvm7 - What are Idioms in the context of software patterns.md b/hATaBiZQ - 3303/9bKORvm7 - What are Idioms in the context of software patterns.md new file mode 100644 index 0000000..d04bbd8 --- /dev/null +++ b/hATaBiZQ - 3303/9bKORvm7 - What are Idioms in the context of software patterns.md @@ -0,0 +1,6 @@ + +What are **Idioms** in the context of software patterns? + +--- + +๐Ÿ’ป They are **low-level patterns** tailored to a **specific programming language**. diff --git a/hATaBiZQ - 3303/9uaX1o4K - What is the primary benefit of the Synchronous Message without Reply pattern.md b/hATaBiZQ - 3303/9uaX1o4K - What is the primary benefit of the Synchronous Message without Reply pattern.md new file mode 100644 index 0000000..58450a1 --- /dev/null +++ b/hATaBiZQ - 3303/9uaX1o4K - What is the primary benefit of the Synchronous Message without Reply pattern.md @@ -0,0 +1,16 @@ + +What is the primary benefit of the **Synchronous Message without Reply** pattern? + +--- + +โฑ๏ธ It **throttles the producer**: the producer blocks until the consumer receives the message, preventing the producer from overwhelming a slow consumer. + +--- + +## What is the main advantage and disadvantage of **Asynchronous Communication**? + +โš–๏ธ + +- **(+) More Parallelism**: The sender doesn't wait and keeps working. +- **(-) Buffer Loss**: Data can be lost if the sender is faster than the receiver. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/9zNtT5Kx - What is a major risk of Asynchronous Message Communication.md b/hATaBiZQ - 3303/9zNtT5Kx - What is a major risk of Asynchronous Message Communication.md new file mode 100644 index 0000000..3029f37 --- /dev/null +++ b/hATaBiZQ - 3303/9zNtT5Kx - What is a major risk of Asynchronous Message Communication.md @@ -0,0 +1,6 @@ + +What is a major risk of **Asynchronous Message Communication**? + +--- + +โš ๏ธ If the producer sends data faster than the consumer can receive it, **messages will be dropped** (buffer overflow). diff --git a/hATaBiZQ - 3303/A3CJPTxL - What is the difference between System Threads and User Threads.md b/hATaBiZQ - 3303/A3CJPTxL - What is the difference between System Threads and User Threads.md new file mode 100644 index 0000000..4b0edd6 --- /dev/null +++ b/hATaBiZQ - 3303/A3CJPTxL - What is the difference between System Threads and User Threads.md @@ -0,0 +1,10 @@ + +What is the difference between **System Threads** and **User Threads**? + +--- + +๐Ÿ‘ฅ + +- **User Threads**: Run the actual application and middleware logic. +- **System Threads**: Run OS services and the scheduler itself (there may be hundreds of these). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/AayQLm0P - What is the difference between Data Collection and Data Analysis subsystems.md b/hATaBiZQ - 3303/AayQLm0P - What is the difference between Data Collection and Data Analysis subsystems.md new file mode 100644 index 0000000..9fb4b8a --- /dev/null +++ b/hATaBiZQ - 3303/AayQLm0P - What is the difference between Data Collection and Data Analysis subsystems.md @@ -0,0 +1,10 @@ + +What is the difference between **Data Collection** and **Data Analysis** subsystems? + +--- + +๐Ÿ“Š + +- **Data Collection**: Gathers data from the environment and may perform **data reduction**. +- **Data Analysis**: Provides **reports and analysis**; often operates in non-real-time. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/Asr4M2DS - How does the OS view a Java process using Green Threads.md b/hATaBiZQ - 3303/Asr4M2DS - How does the OS view a Java process using Green Threads.md new file mode 100644 index 0000000..7c1bd96 --- /dev/null +++ b/hATaBiZQ - 3303/Asr4M2DS - How does the OS view a Java process using Green Threads.md @@ -0,0 +1,7 @@ + +How does the OS view a Java process using **Green Threads**? + +--- + +๐Ÿ‘๏ธ The OS sees the entire JVM as a **single process** with a single thread. All context switching between Java threads happens internally within the JVM without OS system calls. + diff --git a/hATaBiZQ - 3303/Au4jjrb0 - How do Control Objects facilitate the fulfillment of a Use Case.md b/hATaBiZQ - 3303/Au4jjrb0 - How do Control Objects facilitate the fulfillment of a Use Case.md new file mode 100644 index 0000000..f8bf690 --- /dev/null +++ b/hATaBiZQ - 3303/Au4jjrb0 - How do Control Objects facilitate the fulfillment of a Use Case.md @@ -0,0 +1,6 @@ + +How do Control Objects facilitate the fulfillment of a **Use Case**? + +--- + +๐ŸŽผ They contain methods that **orchestrate the sequence of actions** needed to execute the use case logic. diff --git a/hATaBiZQ - 3303/AwwKwoDL - How do components in a Component-Based Architecture interact.md b/hATaBiZQ - 3303/AwwKwoDL - How do components in a Component-Based Architecture interact.md new file mode 100644 index 0000000..44a9e22 --- /dev/null +++ b/hATaBiZQ - 3303/AwwKwoDL - How do components in a Component-Based Architecture interact.md @@ -0,0 +1,6 @@ + + How do components in a **Component-Based Architecture** interact? + +--- + +๐Ÿ”Œ They are treated as **black boxes** that communicate through **well-defined interfaces**. diff --git a/hATaBiZQ - 3303/BFwIufeU - What are the defining features of a Control Subsystem.md b/hATaBiZQ - 3303/BFwIufeU - What are the defining features of a Control Subsystem.md new file mode 100644 index 0000000..a119c85 --- /dev/null +++ b/hATaBiZQ - 3303/BFwIufeU - What are the defining features of a Control Subsystem.md @@ -0,0 +1,11 @@ + +What are the defining features of a **Control Subsystem**? + +--- + +๐Ÿ•น๏ธ + +- Receives inputs from and sends outputs to the **external environment**. +- It is usually **state-dependent**. +- It interacts with other subsystems as needed. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/BGI8INIc - How does communication differ between Active and Passive objects.md b/hATaBiZQ - 3303/BGI8INIc - How does communication differ between Active and Passive objects.md new file mode 100644 index 0000000..7e062af --- /dev/null +++ b/hATaBiZQ - 3303/BGI8INIc - How does communication differ between Active and Passive objects.md @@ -0,0 +1,10 @@ + +How does communication differ between **Active** and **Passive** objects? + +--- + +๐Ÿ’ฌ + +- **Active to Active**: Asynchronous communication. +- **Active to Passive**: Synchronous communication (e.g., a standard method call). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/BLIVREGh - What does a Boundary Class typically represent in a UML class diagram.md b/hATaBiZQ - 3303/BLIVREGh - What does a Boundary Class typically represent in a UML class diagram.md new file mode 100644 index 0000000..40d5f9d --- /dev/null +++ b/hATaBiZQ - 3303/BLIVREGh - What does a Boundary Class typically represent in a UML class diagram.md @@ -0,0 +1,6 @@ + +What does a **Boundary Class** typically represent in a UML class diagram? + +--- + +๐Ÿ–ฅ๏ธ It represents the **User Interface (UI)** or **external systems' interfaces**, depicting interactions between the system and its actors. diff --git a/hATaBiZQ - 3303/BeWo9Pov - What operation moves a thread from the Born state to the Runnable state.md b/hATaBiZQ - 3303/BeWo9Pov - What operation moves a thread from the Born state to the Runnable state.md new file mode 100644 index 0000000..e08c811 --- /dev/null +++ b/hATaBiZQ - 3303/BeWo9Pov - What operation moves a thread from the Born state to the Runnable state.md @@ -0,0 +1,7 @@ + + +## What operation moves a thread from the **Born** state to the **Runnable** state? + +--- + +๐Ÿฃ Invoking the **`start()`** method. diff --git a/hATaBiZQ - 3303/BwuhBQzg - What are the communication limits for a Boundary Object.md b/hATaBiZQ - 3303/BwuhBQzg - What are the communication limits for a Boundary Object.md new file mode 100644 index 0000000..487632f --- /dev/null +++ b/hATaBiZQ - 3303/BwuhBQzg - What are the communication limits for a Boundary Object.md @@ -0,0 +1,6 @@ + +What are the communication limits for a **Boundary Object**? + +--- + +๐Ÿ”Œ it can only talk to **Actors** and **Controllers**. (It cannot talk directly to Entities). diff --git a/hATaBiZQ - 3303/CmbphXLi - How does Timeslicing change the execution of equal-priority threads.md b/hATaBiZQ - 3303/CmbphXLi - How does Timeslicing change the execution of equal-priority threads.md new file mode 100644 index 0000000..7876085 --- /dev/null +++ b/hATaBiZQ - 3303/CmbphXLi - How does Timeslicing change the execution of equal-priority threads.md @@ -0,0 +1,6 @@ + +How does **Timeslicing** change the execution of equal-priority threads? + +--- + +๐Ÿ”„ The scheduler uses a **Round-Robin** approach, allowing each thread to run for a **fixed amount of time** before switching to the next thread of the same priority. diff --git a/hATaBiZQ - 3303/Cruy1IO9 - In UNIX accounting what two categories is Process CPU time divided into.md b/hATaBiZQ - 3303/Cruy1IO9 - In UNIX accounting what two categories is Process CPU time divided into.md new file mode 100644 index 0000000..9828123 --- /dev/null +++ b/hATaBiZQ - 3303/Cruy1IO9 - In UNIX accounting what two categories is Process CPU time divided into.md @@ -0,0 +1,10 @@ + + In UNIX accounting, what two categories is **Process CPU time** divided into? + +--- + +โฐ + +1. **System Time**: Time spent executing OS/kernel-level calls. +2. **User Time**: Time spent executing the application's own code. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/Cs9R0AEx - What is the Ceiling Priority of a lock.md b/hATaBiZQ - 3303/Cs9R0AEx - What is the Ceiling Priority of a lock.md new file mode 100644 index 0000000..c511af7 --- /dev/null +++ b/hATaBiZQ - 3303/Cs9R0AEx - What is the Ceiling Priority of a lock.md @@ -0,0 +1,7 @@ + + +## What is the **Ceiling Priority** of a lock? + +--- + +๐Ÿ” It is a priority assigned to a lock when it is created that is **at least as high** as the priority of the highest-priority thread that can ever acquire it. diff --git a/hATaBiZQ - 3303/EAWnjJfJ - In a JVM without timeslicing how do two equal-priority threads $t_1$ and $t_2$ share a single processor.md b/hATaBiZQ - 3303/EAWnjJfJ - In a JVM without timeslicing how do two equal-priority threads $t_1$ and $t_2$ share a single processor.md new file mode 100644 index 0000000..ff73017 --- /dev/null +++ b/hATaBiZQ - 3303/EAWnjJfJ - In a JVM without timeslicing how do two equal-priority threads $t_1$ and $t_2$ share a single processor.md @@ -0,0 +1,7 @@ + + +## In a JVM without **timeslicing**, how do two equal-priority threads ($t_1$ and $t_2$) share a single processor? + +--- + +๐Ÿงต $t_1$ will run until it **terminates, relinquishes the processor voluntarily, or is preempted** by a higher-priority thread. $t_2$ will not start until $t_1$ is no longer eligible to run. diff --git a/hATaBiZQ - 3303/EHvbQ6v9 - What are the three named priority constants defined in the Java Thread class.md b/hATaBiZQ - 3303/EHvbQ6v9 - What are the three named priority constants defined in the Java Thread class.md new file mode 100644 index 0000000..0e97b85 --- /dev/null +++ b/hATaBiZQ - 3303/EHvbQ6v9 - What are the three named priority constants defined in the Java Thread class.md @@ -0,0 +1,10 @@ + + +## What are the three **named priority constants** defined in the Java Thread class? + +--- + +1. **`Thread.MAX_PRIORITY`** (Value: 10) +2. **`Thread.NORM_PRIORITY`** (Value: 5) +3. **`Thread.MIN_PRIORITY`** (Value: 1) + \ No newline at end of file diff --git a/hATaBiZQ - 3303/EK25wATo - What are the three major steps in the Measurement Technique process.md b/hATaBiZQ - 3303/EK25wATo - What are the three major steps in the Measurement Technique process.md new file mode 100644 index 0000000..2fa23ec --- /dev/null +++ b/hATaBiZQ - 3303/EK25wATo - What are the three major steps in the Measurement Technique process.md @@ -0,0 +1,10 @@ + + +## What are the **three major steps** in the Measurement Technique process? + +--- + +1. **Specify**: Decide exactly what you want to measure. +2. **Instrument/Gather**: Attach monitors and run a benchmark to collect data. +3. **Analyze/Transform**: Process the raw data into meaningful insights. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/EVkix4ID - How do Entity Classes typically interact with one another.md b/hATaBiZQ - 3303/EVkix4ID - How do Entity Classes typically interact with one another.md new file mode 100644 index 0000000..4500f22 --- /dev/null +++ b/hATaBiZQ - 3303/EVkix4ID - How do Entity Classes typically interact with one another.md @@ -0,0 +1,7 @@ + + +## How do **Entity Classes** typically interact with one another? + +--- + +๐Ÿ”— Through **associations** (relationships) that indicate how different entities are connected. diff --git a/hATaBiZQ - 3303/EtiUYm4s - Does Java currently support the Priority Ceiling Protocol.md b/hATaBiZQ - 3303/EtiUYm4s - Does Java currently support the Priority Ceiling Protocol.md new file mode 100644 index 0000000..4767412 --- /dev/null +++ b/hATaBiZQ - 3303/EtiUYm4s - Does Java currently support the Priority Ceiling Protocol.md @@ -0,0 +1,6 @@ + + Does **Java** currently support the Priority Ceiling Protocol? + +--- + +๐Ÿ“œ **No.** The priority ceiling protocol is not currently supported by Java; Java implementations typically use Priority Inheritance. diff --git a/hATaBiZQ - 3303/GHDUbfXl - What is the main downside of the Broadcast pattern in a network.md b/hATaBiZQ - 3303/GHDUbfXl - What is the main downside of the Broadcast pattern in a network.md new file mode 100644 index 0000000..0a792f8 --- /dev/null +++ b/hATaBiZQ - 3303/GHDUbfXl - What is the main downside of the Broadcast pattern in a network.md @@ -0,0 +1,6 @@ + +What is the main downside of the **Broadcast** pattern in a network? + +--- + +๐Ÿšฆ It creates **more message traffic**, as data is pushed to every potential recipient regardless of interest. diff --git a/hATaBiZQ - 3303/GQUY8oZg - What are the two types of Entity Objects based on data lifespan.md b/hATaBiZQ - 3303/GQUY8oZg - What are the two types of Entity Objects based on data lifespan.md new file mode 100644 index 0000000..ccf3444 --- /dev/null +++ b/hATaBiZQ - 3303/GQUY8oZg - What are the two types of Entity Objects based on data lifespan.md @@ -0,0 +1,10 @@ + +What are the two types of **Entity Objects** based on data lifespan? + +--- + +โณ + +1. **Data abstraction objects**: Used for **transient** data (temporary). +2. **Database objects**: Used for **persistent** data (long-term). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/Geb1p9t1 - What is the difference between the Ready to Run and Running states.md b/hATaBiZQ - 3303/Geb1p9t1 - What is the difference between the Ready to Run and Running states.md new file mode 100644 index 0000000..b89fdbf --- /dev/null +++ b/hATaBiZQ - 3303/Geb1p9t1 - What is the difference between the Ready to Run and Running states.md @@ -0,0 +1,9 @@ +## What is the difference between the **Ready to Run** and **Running** states? + +--- + +๐Ÿšฆ + +- **Ready to Run**: The thread is in the Runnable pool and waiting for a processor to become available. +- **Running**: The thread's code is actively being executed by a processor. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/GjAdqQs9 - What does it mean for an Entity Object to be passive.md b/hATaBiZQ - 3303/GjAdqQs9 - What does it mean for an Entity Object to be passive.md new file mode 100644 index 0000000..6741a15 --- /dev/null +++ b/hATaBiZQ - 3303/GjAdqQs9 - What does it mean for an Entity Object to be passive.md @@ -0,0 +1,6 @@ + +What does it mean for an **Entity Object** to be **passive**? + +--- + +๐Ÿง˜ It does not have its own thread; instead, it is **called by active objects** to perform tasks. diff --git a/hATaBiZQ - 3303/HYpAPYoO - What is the difference between the two types of Software Monitors.md b/hATaBiZQ - 3303/HYpAPYoO - What is the difference between the two types of Software Monitors.md new file mode 100644 index 0000000..5bfccbc --- /dev/null +++ b/hATaBiZQ - 3303/HYpAPYoO - What is the difference between the two types of Software Monitors.md @@ -0,0 +1,10 @@ + + What is the difference between the two types of **Software Monitors**? + +--- + +๐Ÿ–ฅ๏ธ + +1. **Accounting Systems** (e.g., `sar`): Used for billing/resource usage; may not collect enough specific data for debugging. +2. **Program Analyzers** (e.g., Valgrind, JProfiler): Provide deep code insights but can **significantly interfere** with system performance. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/HdCKbPon - How does a timeslice affect thread execution in supported systems.md b/hATaBiZQ - 3303/HdCKbPon - How does a timeslice affect thread execution in supported systems.md new file mode 100644 index 0000000..c9eb3e2 --- /dev/null +++ b/hATaBiZQ - 3303/HdCKbPon - How does a timeslice affect thread execution in supported systems.md @@ -0,0 +1,6 @@ + +How does a **timeslice** affect thread execution in supported systems? + +--- + +โณ If timeslicing is supported, a thread will relinquish the processor if its allotted **time interval (timeslice) expires**, allowing other threads of equal priority a chance to run. diff --git a/hATaBiZQ - 3303/IcMlwJNw - What happens to a client during a Synchronous Message with Reply.md b/hATaBiZQ - 3303/IcMlwJNw - What happens to a client during a Synchronous Message with Reply.md new file mode 100644 index 0000000..ad693fb --- /dev/null +++ b/hATaBiZQ - 3303/IcMlwJNw - What happens to a client during a Synchronous Message with Reply.md @@ -0,0 +1,8 @@ + +What happens to a client during a **Synchronous Message with Reply**? + +--- + +๐Ÿ›‘ The client sends a message and **blocks** (stops execution) until the server processes the request and sends a reply back. +**Examples:** RPC (Remote Procedure Call) or RMI. + diff --git a/hATaBiZQ - 3303/JTErs5B7 - Which two system conditions must exist for Unbounded Priority Inversion to be a risk.md b/hATaBiZQ - 3303/JTErs5B7 - Which two system conditions must exist for Unbounded Priority Inversion to be a risk.md new file mode 100644 index 0000000..905fee2 --- /dev/null +++ b/hATaBiZQ - 3303/JTErs5B7 - Which two system conditions must exist for Unbounded Priority Inversion to be a risk.md @@ -0,0 +1,10 @@ + + Which two system conditions must exist for **Unbounded Priority Inversion** to be a risk? + +--- + +โš™๏ธ + +1. **Priority-based preemptive scheduling**. +2. A mechanism for **locking/mutual exclusion** to protect critical sections. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/JcYAP1DW - How does PCP prevent Deadlocks.md b/hATaBiZQ - 3303/JcYAP1DW - How does PCP prevent Deadlocks.md new file mode 100644 index 0000000..40a1e49 --- /dev/null +++ b/hATaBiZQ - 3303/JcYAP1DW - How does PCP prevent Deadlocks.md @@ -0,0 +1,7 @@ + + +## How does PCP prevent **Deadlocks**? + +--- + +๐Ÿšซ By design, the protocol ensures the system is **deadlock-free** because it coordinates lock acquisition in a way that prevents circular wait conditions from ever forming. diff --git a/hATaBiZQ - 3303/Je1lIwOD - What defines the Native Threads model.md b/hATaBiZQ - 3303/Je1lIwOD - What defines the Native Threads model.md new file mode 100644 index 0000000..6789471 --- /dev/null +++ b/hATaBiZQ - 3303/Je1lIwOD - What defines the Native Threads model.md @@ -0,0 +1,6 @@ + +What defines the **Native Threads** model? + +--- + +๐Ÿ–ฅ๏ธ Java threads are mapped directly to the **threads supported by the host Operating System**. The OS, not the JVM, is responsible for scheduling the threads. diff --git a/hATaBiZQ - 3303/JynZMQKe - If persistent data is stored in a database what is the role of the Entity Object.md b/hATaBiZQ - 3303/JynZMQKe - If persistent data is stored in a database what is the role of the Entity Object.md new file mode 100644 index 0000000..0c367b5 --- /dev/null +++ b/hATaBiZQ - 3303/JynZMQKe - If persistent data is stored in a database what is the role of the Entity Object.md @@ -0,0 +1,6 @@ + +If persistent data is stored in a database, what is the role of the **Entity Object**? + +--- + +๐ŸŽ It acts as a **wrapper**: mapping database columns to the object's attributes. diff --git a/hATaBiZQ - 3303/K2RJOzPV - What is the granularity of Network measurements compared to DiskMemory.md b/hATaBiZQ - 3303/K2RJOzPV - What is the granularity of Network measurements compared to DiskMemory.md new file mode 100644 index 0000000..7470560 --- /dev/null +++ b/hATaBiZQ - 3303/K2RJOzPV - What is the granularity of Network measurements compared to DiskMemory.md @@ -0,0 +1,10 @@ + +What is the "granularity" of **Network measurements** compared to **Disk/Memory**? + +--- + +๐Ÿ” + +- **Disk/Memory**: Can often be tracked with granularity down to the specific **thread**. +- **Network**: Usually measured for the **system as a whole**. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/K6hOlZgY - How does a Hybrid Monitor function.md b/hATaBiZQ - 3303/K6hOlZgY - How does a Hybrid Monitor function.md new file mode 100644 index 0000000..a62fb3f --- /dev/null +++ b/hATaBiZQ - 3303/K6hOlZgY - How does a Hybrid Monitor function.md @@ -0,0 +1,6 @@ + + How does a **Hybrid Monitor** function? + +--- + +๐Ÿค It combines both worlds: **event signals** are embedded in the software, but they are processed by an **external hardware device** to minimize system perturbation. diff --git a/hATaBiZQ - 3303/KeVEjnOI - How does the OS Scheduler view the population of threads.md b/hATaBiZQ - 3303/KeVEjnOI - How does the OS Scheduler view the population of threads.md new file mode 100644 index 0000000..f404cdc --- /dev/null +++ b/hATaBiZQ - 3303/KeVEjnOI - How does the OS Scheduler view the population of threads.md @@ -0,0 +1,7 @@ + + +## How does the **OS Scheduler** view the population of threads? + +--- + +๐ŸŽŸ๏ธ It sees them as **tokens** moving through various states (e.g., Ready, Running, Waiting, Dead) and managed within queues. diff --git a/hATaBiZQ - 3303/M5a51LQa - What are the scheduling characteristics of most Green Thread implementations.md b/hATaBiZQ - 3303/M5a51LQa - What are the scheduling characteristics of most Green Thread implementations.md new file mode 100644 index 0000000..74930cd --- /dev/null +++ b/hATaBiZQ - 3303/M5a51LQa - What are the scheduling characteristics of most Green Thread implementations.md @@ -0,0 +1,6 @@ + +What are the scheduling characteristics of most **Green Thread** implementations? + +--- + +โš–๏ธ They typically support **priority-based, preemptive scheduling**, but most do **not** support timeslicing. They often use **priority inheritance** to prevent inversion. diff --git a/hATaBiZQ - 3303/Msh4GA7y - What characterizes a Hierarchical Control pattern.md b/hATaBiZQ - 3303/Msh4GA7y - What characterizes a Hierarchical Control pattern.md new file mode 100644 index 0000000..8816924 --- /dev/null +++ b/hATaBiZQ - 3303/Msh4GA7y - What characterizes a Hierarchical Control pattern.md @@ -0,0 +1,7 @@ + + +## What characterizes a **Hierarchical Control** pattern? + +--- + +๐Ÿ‘‘ A **top-level coordinator** component sends commands to and receives responses from lower-level distributed controllers (e.g., a Telephone Switch). diff --git a/hATaBiZQ - 3303/NB5hwjVl - What is the primary role of a Boundary Object.md b/hATaBiZQ - 3303/NB5hwjVl - What is the primary role of a Boundary Object.md new file mode 100644 index 0000000..1cc55d6 --- /dev/null +++ b/hATaBiZQ - 3303/NB5hwjVl - What is the primary role of a Boundary Object.md @@ -0,0 +1,5 @@ +## What is the primary role of a **Boundary Object**? + +--- + +๐ŸŒ It defines **interfaces** to and communicates with the **external environment**. diff --git a/hATaBiZQ - 3303/NGi8dAzd - What are three ways a thread voluntarily relinquishes the processor.md b/hATaBiZQ - 3303/NGi8dAzd - What are three ways a thread voluntarily relinquishes the processor.md new file mode 100644 index 0000000..fdbf186 --- /dev/null +++ b/hATaBiZQ - 3303/NGi8dAzd - What are three ways a thread voluntarily relinquishes the processor.md @@ -0,0 +1,12 @@ + + +## What are three ways a thread **voluntarily** relinquishes the processor? + +--- + +๐Ÿ™‹ + +1. **`Thread.yield()`**: Explicitly giving up the processor. +2. **`Thread.sleep()`**: Ceasing execution for a specific time. +3. **`Object.wait()`**: Waiting for a notification from another thread. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/OQYWvr3J - In a Broker Pattern what are the two ways a Broker can handle a clients request.md b/hATaBiZQ - 3303/OQYWvr3J - In a Broker Pattern what are the two ways a Broker can handle a clients request.md new file mode 100644 index 0000000..dac70a7 --- /dev/null +++ b/hATaBiZQ - 3303/OQYWvr3J - In a Broker Pattern what are the two ways a Broker can handle a clients request.md @@ -0,0 +1,11 @@ + + +## In a **Broker Pattern**, what are the two ways a Broker can handle a client's request? + +--- + +๐Ÿ”„ + +1. **Query once**: The broker provides the server's information, and the client contacts the server directly. +2. **Intermediary**: The broker acts as a middleman and forwards the requests to the server. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/OV4Hg508 - How does the Priority Inheritance Protocol protect against medium-priority threads.md b/hATaBiZQ - 3303/OV4Hg508 - How does the Priority Inheritance Protocol protect against medium-priority threads.md new file mode 100644 index 0000000..555d20d --- /dev/null +++ b/hATaBiZQ - 3303/OV4Hg508 - How does the Priority Inheritance Protocol protect against medium-priority threads.md @@ -0,0 +1,7 @@ + + +## How does the **Priority Inheritance Protocol** protect against medium-priority threads? + +--- + +๐Ÿ›ก๏ธ When a high-priority thread blocks on a lock held by a low-priority thread, the **low-priority thread's priority is raised** to match the high-priority thread. This prevents medium-priority threads from preempting it and causing unbounded delay. diff --git a/hATaBiZQ - 3303/OY6qcpmc - Does the Java specification require timeslicing for equal-priority threads.md b/hATaBiZQ - 3303/OY6qcpmc - Does the Java specification require timeslicing for equal-priority threads.md new file mode 100644 index 0000000..c4cb03e --- /dev/null +++ b/hATaBiZQ - 3303/OY6qcpmc - Does the Java specification require timeslicing for equal-priority threads.md @@ -0,0 +1,6 @@ + +Does the Java specification **require** timeslicing for equal-priority threads? + +--- + +๐Ÿ“œ **No.** Either approach (running to completion or timeslicing) is permitted by the Java specification. diff --git a/hATaBiZQ - 3303/OcLVVYJJ - What are the three types of Control Objects.md b/hATaBiZQ - 3303/OcLVVYJJ - What are the three types of Control Objects.md new file mode 100644 index 0000000..3d5e18d --- /dev/null +++ b/hATaBiZQ - 3303/OcLVVYJJ - What are the three types of Control Objects.md @@ -0,0 +1,9 @@ + +What are the **three types** of Control Objects? + +--- + +1. **State-dependent** (Behavior depends on state). +2. **Coordinator** (Decision making, non-state-based). +3. **Timer** (Periodic triggers). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/OnXqlzxI - What is Bounded Priority Inversion.md b/hATaBiZQ - 3303/OnXqlzxI - What is Bounded Priority Inversion.md new file mode 100644 index 0000000..1f6205d --- /dev/null +++ b/hATaBiZQ - 3303/OnXqlzxI - What is Bounded Priority Inversion.md @@ -0,0 +1,7 @@ + + +## What is **Bounded Priority Inversion**? + +--- + +๐Ÿ“‰ It occurs when a **high-priority** thread is forced to wait for a **low-priority** thread to release a lock. It is "bounded" because the delay is limited to the time it takes the low-priority thread to finish its critical section. diff --git a/hATaBiZQ - 3303/PVTcsARC - What is the key restriction in Distributed Independent Control.md b/hATaBiZQ - 3303/PVTcsARC - What is the key restriction in Distributed Independent Control.md new file mode 100644 index 0000000..61d797b --- /dev/null +++ b/hATaBiZQ - 3303/PVTcsARC - What is the key restriction in Distributed Independent Control.md @@ -0,0 +1,7 @@ + + +## What is the key restriction in **Distributed Independent Control**? + +--- + +๐Ÿงฑ While control is distributed, there is **no communication** or coordination between the various control components (e.g., Railway crossings). diff --git a/hATaBiZQ - 3303/PhHltFaw - Why might equal-priority threads behave differently on Windows vs early Unix Green Threads.md b/hATaBiZQ - 3303/PhHltFaw - Why might equal-priority threads behave differently on Windows vs early Unix Green Threads.md new file mode 100644 index 0000000..978f73c --- /dev/null +++ b/hATaBiZQ - 3303/PhHltFaw - Why might equal-priority threads behave differently on Windows vs early Unix Green Threads.md @@ -0,0 +1,6 @@ + +Why might equal-priority threads behave differently on Windows vs. early Unix Green Threads? + +--- + +โณ In Windows Native Threads, equal-priority threads **timeslice**, whereas many Green Thread implementations do not support timeslicing (one runs until it blocks or terminates). diff --git a/hATaBiZQ - 3303/QBaqnilS - What may a User-Interaction Subsystem contain for performance optimization.md b/hATaBiZQ - 3303/QBaqnilS - What may a User-Interaction Subsystem contain for performance optimization.md new file mode 100644 index 0000000..92bcc47 --- /dev/null +++ b/hATaBiZQ - 3303/QBaqnilS - What may a User-Interaction Subsystem contain for performance optimization.md @@ -0,0 +1,6 @@ + +What may a **User-Interaction Subsystem** contain for performance optimization? + +--- + +๐Ÿ—„๏ธ It may contain **Entity objects** for local storage and **caching**. diff --git a/hATaBiZQ - 3303/QH1kVSxo - What defines a State-dependent control object.md b/hATaBiZQ - 3303/QH1kVSxo - What defines a State-dependent control object.md new file mode 100644 index 0000000..159d18f --- /dev/null +++ b/hATaBiZQ - 3303/QH1kVSxo - What defines a State-dependent control object.md @@ -0,0 +1,6 @@ + +What defines a **State-dependent** control object? + +--- + +๐Ÿšฆ Its behavior depends on its **current state**, and it changes states based on **inputs (events)** from other objects. diff --git a/hATaBiZQ - 3303/QRHCtzNT - In terms of External Interaction how does a Boundary Class function.md b/hATaBiZQ - 3303/QRHCtzNT - In terms of External Interaction how does a Boundary Class function.md new file mode 100644 index 0000000..d8027ee --- /dev/null +++ b/hATaBiZQ - 3303/QRHCtzNT - In terms of External Interaction how does a Boundary Class function.md @@ -0,0 +1,6 @@ + +In terms of **External Interaction**, how does a Boundary Class function? + +--- + +๐Ÿ”„ It acts as a **Proxy**: handling input/output operations and facilitating communication between the internal system and external entities. diff --git a/hATaBiZQ - 3303/QfPDrKZP - How does Unbounded Priority Inversion differ from the bounded version.md b/hATaBiZQ - 3303/QfPDrKZP - How does Unbounded Priority Inversion differ from the bounded version.md new file mode 100644 index 0000000..88623d4 --- /dev/null +++ b/hATaBiZQ - 3303/QfPDrKZP - How does Unbounded Priority Inversion differ from the bounded version.md @@ -0,0 +1,7 @@ + + +## How does **Unbounded Priority Inversion** differ from the bounded version? + +--- + +๐ŸŒช๏ธ It happens when a **medium-priority** thread preempts the low-priority thread that holds the lock. Since the high-priority thread is waiting for the lock, and the low-priority thread can't run to release it because of the medium thread, the high-priority thread is blocked for an **indeterminate (unbounded)** amount of time. diff --git a/hATaBiZQ - 3303/RJTVmoU5 - What is the primary purpose of a Control Object.md b/hATaBiZQ - 3303/RJTVmoU5 - What is the primary purpose of a Control Object.md new file mode 100644 index 0000000..b1a43b4 --- /dev/null +++ b/hATaBiZQ - 3303/RJTVmoU5 - What is the primary purpose of a Control Object.md @@ -0,0 +1,6 @@ + +What is the primary purpose of a **Control Object**? + +--- + +๐Ÿ•น๏ธ It provides **overall coordination** for a collection of objects within the system. diff --git a/hATaBiZQ - 3303/RU2oRvBN - If $t_1$ and $t_2$ are high priority and $t_3$ is low priority when will $t_3$ get to run in a timesliced system.md b/hATaBiZQ - 3303/RU2oRvBN - If $t_1$ and $t_2$ are high priority and $t_3$ is low priority when will $t_3$ get to run in a timesliced system.md new file mode 100644 index 0000000..7d1165e --- /dev/null +++ b/hATaBiZQ - 3303/RU2oRvBN - If $t_1$ and $t_2$ are high priority and $t_3$ is low priority when will $t_3$ get to run in a timesliced system.md @@ -0,0 +1,6 @@ + +If $t_1$ and $t_2$ are high priority and $t_3$ is low priority, when will $t_3$ get to run in a timesliced system? + +--- + +โณ Only when **both $t_1$ and $t_2$** are no longer eligible to run (e.g., they terminate or block). The JVM will not schedule lower-priority threads while higher ones are Runnable. diff --git a/hATaBiZQ - 3303/RZeRzXvK - What does it mean to model a threads lifecycle as a Finite State Machine FSM.md b/hATaBiZQ - 3303/RZeRzXvK - What does it mean to model a threads lifecycle as a Finite State Machine FSM.md new file mode 100644 index 0000000..8572d11 --- /dev/null +++ b/hATaBiZQ - 3303/RZeRzXvK - What does it mean to model a threads lifecycle as a Finite State Machine FSM.md @@ -0,0 +1,6 @@ + + What does it mean to model a thread's lifecycle as a **Finite State Machine (FSM)**? + +--- + +๐Ÿค– It means representing the various **states** a thread can occupy and the specific **operations** (transitions) that cause it to move from one state to another. diff --git a/hATaBiZQ - 3303/RfqZKLxs - How do the wait and notify methods interact.md b/hATaBiZQ - 3303/RfqZKLxs - How do the wait and notify methods interact.md new file mode 100644 index 0000000..5181062 --- /dev/null +++ b/hATaBiZQ - 3303/RfqZKLxs - How do the wait and notify methods interact.md @@ -0,0 +1,11 @@ + + +## How do the **`wait()`** and **`notify()`** methods interact? + +--- + +๐Ÿ›‘ + +- **`wait()`**: Causes the current thread to block and enter the **Waiting** state. +- **`notify()` / `notifyAll()`**: Invoked by _another_ thread to move the waiting thread(s) back to the **Runnable** state. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/SRW6v9nm - In Embedded Systems how is Java thread scheduling typically determined.md b/hATaBiZQ - 3303/SRW6v9nm - In Embedded Systems how is Java thread scheduling typically determined.md new file mode 100644 index 0000000..ae7c83f --- /dev/null +++ b/hATaBiZQ - 3303/SRW6v9nm - In Embedded Systems how is Java thread scheduling typically determined.md @@ -0,0 +1,6 @@ + +In **Embedded Systems**, how is Java thread scheduling typically determined? + +--- + +๐Ÿ“Ÿ Java threads are usually mapped to the native threads/tasks of the **Real-Time Operating System (RTOS)**. Therefore, Java thread scheduling is equivalent to **RTOS scheduling**. diff --git a/hATaBiZQ - 3303/StDBNwYU - What are the main differences between Priority Inheritance and Priority Ceiling regarding configuration.md b/hATaBiZQ - 3303/StDBNwYU - What are the main differences between Priority Inheritance and Priority Ceiling regarding configuration.md new file mode 100644 index 0000000..41f3fff --- /dev/null +++ b/hATaBiZQ - 3303/StDBNwYU - What are the main differences between Priority Inheritance and Priority Ceiling regarding configuration.md @@ -0,0 +1,10 @@ + +What are the main differences between **Priority Inheritance** and **Priority Ceiling** regarding configuration? + +--- + +โš™๏ธ + +- **Priority Inheritance**: Managed **transparently** by the system; no programmer setup is required. +- **Priority Ceiling**: Requires the **programmer to manually configure** the priority ceilings for every lock. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/T5uAII2J - What is the primary objective when choosing a Measurement Tool.md b/hATaBiZQ - 3303/T5uAII2J - What is the primary objective when choosing a Measurement Tool.md new file mode 100644 index 0000000..5d76e93 --- /dev/null +++ b/hATaBiZQ - 3303/T5uAII2J - What is the primary objective when choosing a Measurement Tool.md @@ -0,0 +1,6 @@ + + What is the primary objective when choosing a **Measurement Tool**? + +--- + +๐ŸŽฏ To measure the behavior of the system **without perturbing it** (avoiding the "observer effect" where the tool itself slows down the system enough to change the results). diff --git a/hATaBiZQ - 3303/T7hjpCOc - Where should Control objects and the Entity objects they interact with be located.md b/hATaBiZQ - 3303/T7hjpCOc - Where should Control objects and the Entity objects they interact with be located.md new file mode 100644 index 0000000..427175c --- /dev/null +++ b/hATaBiZQ - 3303/T7hjpCOc - Where should Control objects and the Entity objects they interact with be located.md @@ -0,0 +1,6 @@ + +Where should **Control objects** and the **Entity objects** they interact with be located? + +--- + +๐Ÿ“ฆ They should both be part of the **same subsystem**. diff --git a/hATaBiZQ - 3303/T9hV8ZwD - How do Application Logic classes interact with Entities and Controls.md b/hATaBiZQ - 3303/T9hV8ZwD - How do Application Logic classes interact with Entities and Controls.md new file mode 100644 index 0000000..70885c5 --- /dev/null +++ b/hATaBiZQ - 3303/T9hV8ZwD - How do Application Logic classes interact with Entities and Controls.md @@ -0,0 +1,6 @@ + +How do Application Logic classes interact with **Entities** and **Controls**? + +--- + +๐Ÿ”— They interact with **Entity classes** to retrieve/update data and with **Control classes** to coordinate the flow of system activities. diff --git a/hATaBiZQ - 3303/TiHpylp4 - How does Bidirectional Asynchronous messaging differ from standard asynchronous messaging.md b/hATaBiZQ - 3303/TiHpylp4 - How does Bidirectional Asynchronous messaging differ from standard asynchronous messaging.md new file mode 100644 index 0000000..0f5d4c8 --- /dev/null +++ b/hATaBiZQ - 3303/TiHpylp4 - How does Bidirectional Asynchronous messaging differ from standard asynchronous messaging.md @@ -0,0 +1,8 @@ + +How does **Bidirectional Asynchronous** messaging differ from standard asynchronous messaging? + +--- + +๐Ÿ”„ The sender needs a reply but **not immediately**. Multiple messages can be sent before a response (like an ACK) is required. +**Example:** TCP protocol. + diff --git a/hATaBiZQ - 3303/Tke5Edjw - What determines the current priority of a thread holding a lock under Priority Inheritance.md b/hATaBiZQ - 3303/Tke5Edjw - What determines the current priority of a thread holding a lock under Priority Inheritance.md new file mode 100644 index 0000000..eb983c8 --- /dev/null +++ b/hATaBiZQ - 3303/Tke5Edjw - What determines the current priority of a thread holding a lock under Priority Inheritance.md @@ -0,0 +1,10 @@ + +What determines the **current priority** of a thread holding a lock under Priority Inheritance? + +--- + +๐Ÿ“ˆ It is the **higher** of: + +1. Its own assigned priority. +2. The priority of the **highest-priority thread** currently blocked and waiting for that same lock. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/UOJnMBKV - What causes a thread to move into the Sleeping state and how does it leave.md b/hATaBiZQ - 3303/UOJnMBKV - What causes a thread to move into the Sleeping state and how does it leave.md new file mode 100644 index 0000000..18459fb --- /dev/null +++ b/hATaBiZQ - 3303/UOJnMBKV - What causes a thread to move into the Sleeping state and how does it leave.md @@ -0,0 +1,10 @@ + +What causes a thread to move into the **Sleeping** state, and how does it leave? + +--- + +๐Ÿ˜ด + +- **Entering**: The thread invokes the **`sleep()`** method. +- **Leaving**: It remains blocked until the specified **sleep time elapses** or it is interrupted. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/UhBxWDGP - What is the valid integer range for a threads priority.md b/hATaBiZQ - 3303/UhBxWDGP - What is the valid integer range for a threads priority.md new file mode 100644 index 0000000..3a1acdd --- /dev/null +++ b/hATaBiZQ - 3303/UhBxWDGP - What is the valid integer range for a threads priority.md @@ -0,0 +1,6 @@ + + What is the valid **integer range** for a thread's priority? + +--- + +๐Ÿ”ข It must be an integer between **1 and 10**, inclusive. diff --git a/hATaBiZQ - 3303/Uikz7GsD - How does a Deadlock occur in a system with shared resources.md b/hATaBiZQ - 3303/Uikz7GsD - How does a Deadlock occur in a system with shared resources.md new file mode 100644 index 0000000..43ee03f --- /dev/null +++ b/hATaBiZQ - 3303/Uikz7GsD - How does a Deadlock occur in a system with shared resources.md @@ -0,0 +1,7 @@ + + How does a **Deadlock** occur in a system with shared resources? + +--- + +๐Ÿ”„ It arises when two or more threads are stuck in a circular wait: Thread A holds Resource 1 and waits for Resource 2, while Thread B holds Resource 2 and waits for Resource 1. + diff --git a/hATaBiZQ - 3303/V2dTgEK7 - In what context are methods always executed.md b/hATaBiZQ - 3303/V2dTgEK7 - In what context are methods always executed.md new file mode 100644 index 0000000..93f71b2 --- /dev/null +++ b/hATaBiZQ - 3303/V2dTgEK7 - In what context are methods always executed.md @@ -0,0 +1,6 @@ + +In what **context** are methods always executed? + +--- + +๐Ÿงต Methods are always executed in the **invoking thread's context**. A thread can only invoke a method when it is currently in the **Running** state. diff --git a/hATaBiZQ - 3303/WEAYiXV9 - How does the Priority Ceiling Protocol handle preemption.md b/hATaBiZQ - 3303/WEAYiXV9 - How does the Priority Ceiling Protocol handle preemption.md new file mode 100644 index 0000000..bb8e96a --- /dev/null +++ b/hATaBiZQ - 3303/WEAYiXV9 - How does the Priority Ceiling Protocol handle preemption.md @@ -0,0 +1,6 @@ + +How does the **Priority Ceiling Protocol** handle preemption? + +--- + +๐Ÿ›ก๏ธ Only threads with a priority **higher than the current global ceiling priority** can preempt a thread that is executing within a critical section. diff --git a/hATaBiZQ - 3303/WHiHLo8P - What does the Deployment View represent.md b/hATaBiZQ - 3303/WHiHLo8P - What does the Deployment View represent.md new file mode 100644 index 0000000..0a081f8 --- /dev/null +++ b/hATaBiZQ - 3303/WHiHLo8P - What does the Deployment View represent.md @@ -0,0 +1,6 @@ + +What does the **Deployment View** represent? + +--- + +๐ŸŒ It shows the **physical configuration** of the system, including how software is mapped to hardware. diff --git a/hATaBiZQ - 3303/WK4PrzMr - What are the two common protocols used to solve the Priority Inversion problem.md b/hATaBiZQ - 3303/WK4PrzMr - What are the two common protocols used to solve the Priority Inversion problem.md new file mode 100644 index 0000000..8da1496 --- /dev/null +++ b/hATaBiZQ - 3303/WK4PrzMr - What are the two common protocols used to solve the Priority Inversion problem.md @@ -0,0 +1,10 @@ + +What are the two common protocols used to solve the Priority Inversion problem? + +--- + +๐Ÿ›ก๏ธ + +1. **Priority Inheritance Protocol**: The low-priority thread "inherits" the high-priority of the thread it is blocking until it releases the lock. +2. **Priority Ceiling (Priority Protect) Protocol**: The priority of the thread holding the lock is elevated to a predefined "ceiling" value (the highest priority of any thread that might ever need that lock). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/XYyl27Dd - When applying Separation of Concerns what is the rule regarding objects on separate nodes.md b/hATaBiZQ - 3303/XYyl27Dd - When applying Separation of Concerns what is the rule regarding objects on separate nodes.md new file mode 100644 index 0000000..d9a3942 --- /dev/null +++ b/hATaBiZQ - 3303/XYyl27Dd - When applying Separation of Concerns what is the rule regarding objects on separate nodes.md @@ -0,0 +1,7 @@ + + +## When applying **Separation of Concerns**, what is the rule regarding objects on **separate nodes**? + +--- + +๐ŸŒ They should be placed in **separate subsystems**. diff --git a/hATaBiZQ - 3303/YHQLNTD2 - Which types of objects are assumed to be active concurrent by default.md b/hATaBiZQ - 3303/YHQLNTD2 - Which types of objects are assumed to be active concurrent by default.md new file mode 100644 index 0000000..e8f1941 --- /dev/null +++ b/hATaBiZQ - 3303/YHQLNTD2 - Which types of objects are assumed to be active concurrent by default.md @@ -0,0 +1,6 @@ + +Which types of objects are assumed to be **active (concurrent)** by default? + +--- + +๐Ÿƒ **All non-entity objects**. Each has its own thread of control and can operate in parallel. diff --git a/hATaBiZQ - 3303/ZXc3D7yi - Can an Entity Object initiate communication with a Boundary Object.md b/hATaBiZQ - 3303/ZXc3D7yi - Can an Entity Object initiate communication with a Boundary Object.md new file mode 100644 index 0000000..2d99412 --- /dev/null +++ b/hATaBiZQ - 3303/ZXc3D7yi - Can an Entity Object initiate communication with a Boundary Object.md @@ -0,0 +1,6 @@ + +Can an **Entity Object** initiate communication with a **Boundary Object**? + +--- + +โŒ **No.** Communication between data (Entity) and the interface (Boundary) must be mediated by a **Controller**. diff --git a/hATaBiZQ - 3303/ZZDRjAZg - How does Centralized Control manage system inputs and outputs.md b/hATaBiZQ - 3303/ZZDRjAZg - How does Centralized Control manage system inputs and outputs.md new file mode 100644 index 0000000..452b9df --- /dev/null +++ b/hATaBiZQ - 3303/ZZDRjAZg - How does Centralized Control manage system inputs and outputs.md @@ -0,0 +1,7 @@ + + +## How does **Centralized Control** manage system inputs and outputs? + +--- + +๐ŸŽฏ There is only **one control component**: all inputs flow into it, and all outputs originate from it (e.g., a Nuclear Power Station). diff --git a/hATaBiZQ - 3303/ZfgSDRWr - What are the pros and cons of Hardware Monitors eg oscilloscopes or logic analyzers.md b/hATaBiZQ - 3303/ZfgSDRWr - What are the pros and cons of Hardware Monitors eg oscilloscopes or logic analyzers.md new file mode 100644 index 0000000..bf1b1fa --- /dev/null +++ b/hATaBiZQ - 3303/ZfgSDRWr - What are the pros and cons of Hardware Monitors eg oscilloscopes or logic analyzers.md @@ -0,0 +1,10 @@ + + What are the pros and cons of **Hardware Monitors** (e.g., oscilloscopes or logic analyzers)? + +--- + +๐Ÿ”Œ + +- **(+)**: External to the system, so they **don't perturb** results; very portable. +- **(-)**: Hard to use and difficult to map a raw electrical event back to a specific software cause. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/aCX1shcK - Define the following transitions between Ready to Run and Running.md b/hATaBiZQ - 3303/aCX1shcK - Define the following transitions between Ready to Run and Running.md new file mode 100644 index 0000000..e4a3271 --- /dev/null +++ b/hATaBiZQ - 3303/aCX1shcK - Define the following transitions between Ready to Run and Running.md @@ -0,0 +1,15 @@ + +Define the following transitions between **Ready to Run** and **Running**: + +1. **Dispatched** +2. **Yield** +3. **Preempted / Timeslice Expired** + +--- + +๐Ÿ”„ + +1. **Dispatched**: The scheduler selects a "Ready" thread to start running. +2. **Yield**: The thread voluntarily gives up the processor to let others run. +3. **Preempted**: The OS forces the thread to stop running (often because its time is up or a higher priority thread arrived). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/aUL2yRwS - What happens to a threads state during an IO operation like reading a file.md b/hATaBiZQ - 3303/aUL2yRwS - What happens to a threads state during an IO operation like reading a file.md new file mode 100644 index 0000000..d947223 --- /dev/null +++ b/hATaBiZQ - 3303/aUL2yRwS - What happens to a threads state during an IO operation like reading a file.md @@ -0,0 +1,6 @@ + + What happens to a thread's state during an **I/O operation** (like reading a file)? + +--- + +๐Ÿ“ฅ The thread enters the **I/O blocked** state when the request is made and only becomes **Runnable** again once the **I/O is completed**. diff --git a/hATaBiZQ - 3303/b1G435QN - What is the difference between a delay measure and a deadline in embedded systems.md b/hATaBiZQ - 3303/b1G435QN - What is the difference between a delay measure and a deadline in embedded systems.md new file mode 100644 index 0000000..bc01dc5 --- /dev/null +++ b/hATaBiZQ - 3303/b1G435QN - What is the difference between a delay measure and a deadline in embedded systems.md @@ -0,0 +1,10 @@ + +What is the difference between a **delay measure** and a **deadline** in embedded systems? + +--- + +๐Ÿ“ + +- **Delay measure**: The actual measured time between stimulus and response. +- **Deadline**: The **maximum allowed delay** the system can tolerate. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/bL9GptCK - How many threads can be in the Running state at any given time.md b/hATaBiZQ - 3303/bL9GptCK - How many threads can be in the Running state at any given time.md new file mode 100644 index 0000000..5036b0b --- /dev/null +++ b/hATaBiZQ - 3303/bL9GptCK - How many threads can be in the Running state at any given time.md @@ -0,0 +1,10 @@ + + How many threads can be in the **Running** state at any given time? + +--- + +๐Ÿ’ป + +- On a **single-processor** computer: At most **one** thread. +- On a **multi-processor** computer: At most **one thread per processor**. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/bUZh2kgs - What does the Utilization of a resource measure.md b/hATaBiZQ - 3303/bUZh2kgs - What does the Utilization of a resource measure.md new file mode 100644 index 0000000..377ae39 --- /dev/null +++ b/hATaBiZQ - 3303/bUZh2kgs - What does the Utilization of a resource measure.md @@ -0,0 +1,7 @@ + + +## What does the **Utilization** of a resource measure? + +--- + +๐Ÿ“‰ The **percentage of time** a resource remains in a "busy" state versus an "idle" state. diff --git a/hATaBiZQ - 3303/bd0wblBb - Why does Synchronous Communication involve less data copying on the same node.md b/hATaBiZQ - 3303/bd0wblBb - Why does Synchronous Communication involve less data copying on the same node.md new file mode 100644 index 0000000..8ed1b56 --- /dev/null +++ b/hATaBiZQ - 3303/bd0wblBb - Why does Synchronous Communication involve less data copying on the same node.md @@ -0,0 +1,6 @@ + + Why does **Synchronous Communication** involve less data copying on the same node? + +--- + +๐Ÿ“‹ Because the sender and receiver can **share the same address space**, whereas asynchronous usually requires copying data into a message buffer and then out again. diff --git a/hATaBiZQ - 3303/bop8ZreL - Which object types are allowed to communicate with others of their own type.md b/hATaBiZQ - 3303/bop8ZreL - Which object types are allowed to communicate with others of their own type.md new file mode 100644 index 0000000..190f973 --- /dev/null +++ b/hATaBiZQ - 3303/bop8ZreL - Which object types are allowed to communicate with others of their own type.md @@ -0,0 +1,6 @@ + +Which object types are allowed to communicate with **others of their own type**? + +--- + +๐Ÿ‘ฅ **Entity** objects and **Control** objects. diff --git a/hATaBiZQ - 3303/eP0Uh9jC - What is the primary purpose of a Boundary Object in the context of the HardwareSoftware boundary.md b/hATaBiZQ - 3303/eP0Uh9jC - What is the primary purpose of a Boundary Object in the context of the HardwareSoftware boundary.md new file mode 100644 index 0000000..286cfde --- /dev/null +++ b/hATaBiZQ - 3303/eP0Uh9jC - What is the primary purpose of a Boundary Object in the context of the HardwareSoftware boundary.md @@ -0,0 +1,6 @@ + + What is the primary purpose of a **Boundary Object** in the context of the Hardware/Software boundary? + +--- + +๐Ÿ”Œ To **abstract away the details** of communicating with the "hardware" side of the interface. diff --git a/hATaBiZQ - 3303/eaFUYQCb - How do the two protocols differ in when they promote a threads priority.md b/hATaBiZQ - 3303/eaFUYQCb - How do the two protocols differ in when they promote a threads priority.md new file mode 100644 index 0000000..d1c36c1 --- /dev/null +++ b/hATaBiZQ - 3303/eaFUYQCb - How do the two protocols differ in when they promote a threads priority.md @@ -0,0 +1,10 @@ + + How do the two protocols differ in when they "promote" a thread's priority? + +--- + +๐Ÿ“ˆ + +- **Priority Inheritance**: Promotion occurs **only when** a higher-priority thread actually attempts to acquire the lock. +- **Priority Ceiling**: Promotion is associated with the **lock itself**; the priority is effectively managed as soon as any thread interacts with the protected critical section. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/eiwOBS8i - How does the Asynchronous Message Communication pattern affect the sender.md b/hATaBiZQ - 3303/eiwOBS8i - How does the Asynchronous Message Communication pattern affect the sender.md new file mode 100644 index 0000000..a4f4c08 --- /dev/null +++ b/hATaBiZQ - 3303/eiwOBS8i - How does the Asynchronous Message Communication pattern affect the sender.md @@ -0,0 +1,7 @@ + +How does the **Asynchronous Message Communication** pattern affect the sender? + +--- + +๐Ÿ“จ The sender (Producer) sends the message and **continues immediately** without waiting. Messages may queue at the consumer. + diff --git a/hATaBiZQ - 3303/fzBPLVbF - What is the difference between Strict and Loose Layered architectures.md b/hATaBiZQ - 3303/fzBPLVbF - What is the difference between Strict and Loose Layered architectures.md new file mode 100644 index 0000000..622ded6 --- /dev/null +++ b/hATaBiZQ - 3303/fzBPLVbF - What is the difference between Strict and Loose Layered architectures.md @@ -0,0 +1,10 @@ + +What is the difference between **Strict** and **Loose** Layered architectures? + +--- + +๐Ÿฅž + +- **Strict**: A layer can only use services from the layer **immediately below** it. +- **Loose**: A layer can use services from **any** lower layer. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/gl26c2kk - What are the two types of Transparency provided by a Broker Pattern.md b/hATaBiZQ - 3303/gl26c2kk - What are the two types of Transparency provided by a Broker Pattern.md new file mode 100644 index 0000000..7750e44 --- /dev/null +++ b/hATaBiZQ - 3303/gl26c2kk - What are the two types of Transparency provided by a Broker Pattern.md @@ -0,0 +1,11 @@ + + +## What are the two types of **Transparency** provided by a **Broker Pattern**? + +--- + +๐Ÿ•ต๏ธ + +1. **Location Transparency**: The client only needs to know the broker's location; the server can move. +2. **Platform Transparency**: The server can run on different hardware or software platforms. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/gx3qZf3U - Why is a Controller forbidden from talking to an Actor.md b/hATaBiZQ - 3303/gx3qZf3U - Why is a Controller forbidden from talking to an Actor.md new file mode 100644 index 0000000..6eeca0f --- /dev/null +++ b/hATaBiZQ - 3303/gx3qZf3U - Why is a Controller forbidden from talking to an Actor.md @@ -0,0 +1,6 @@ + +Why is a **Controller** forbidden from talking to an **Actor**? + +--- + +๐Ÿงฑ To ensure **independence from presentation details**; the logic (Controller) should only interact with the interface representation (Boundary). diff --git a/hATaBiZQ - 3303/iK3llXDu - When does a thread transition into the Dead state.md b/hATaBiZQ - 3303/iK3llXDu - When does a thread transition into the Dead state.md new file mode 100644 index 0000000..8b38e3d --- /dev/null +++ b/hATaBiZQ - 3303/iK3llXDu - When does a thread transition into the Dead state.md @@ -0,0 +1,5 @@ + + +## When does a thread transition into the **Dead** state? + +๐Ÿ’€ When its **`run()` method terminates**, either by returning normally or by throwing an **uncaught exception**. diff --git a/hATaBiZQ - 3303/k5u0ZzFj - When is a threads priority restored to its original value under the Priority Inheritance Protocol.md b/hATaBiZQ - 3303/k5u0ZzFj - When is a threads priority restored to its original value under the Priority Inheritance Protocol.md new file mode 100644 index 0000000..56f8370 --- /dev/null +++ b/hATaBiZQ - 3303/k5u0ZzFj - When is a threads priority restored to its original value under the Priority Inheritance Protocol.md @@ -0,0 +1,7 @@ + + +## When is a thread's priority **restored** to its original value under the Priority Inheritance Protocol? + +--- + +๐Ÿ”™ As soon as the thread **leaves the critical section** and releases the lock. diff --git a/hATaBiZQ - 3303/khnWRGZC - What is the difference between Broadcast and Subscription message patterns.md b/hATaBiZQ - 3303/khnWRGZC - What is the difference between Broadcast and Subscription message patterns.md new file mode 100644 index 0000000..9e1106e --- /dev/null +++ b/hATaBiZQ - 3303/khnWRGZC - What is the difference between Broadcast and Subscription message patterns.md @@ -0,0 +1,10 @@ + +What is the difference between **Broadcast** and **Subscription** message patterns? + +--- + +๐Ÿ“ก + +- **Broadcast**: Messages are sent to **everyone**; recipients must filter out what they don't want. +- **Subscription**: Recipients **register** for specific messages; they only receive what they asked for. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/koVmOol7 - What types of operations are measured at the OS Service Level.md b/hATaBiZQ - 3303/koVmOol7 - What types of operations are measured at the OS Service Level.md new file mode 100644 index 0000000..27456c8 --- /dev/null +++ b/hATaBiZQ - 3303/koVmOol7 - What types of operations are measured at the OS Service Level.md @@ -0,0 +1,6 @@ + + What types of operations are measured at the **OS Service Level**? + +--- + +๐Ÿ’พ Disk I/O, memory usage, and network operations (packets sent/received). diff --git a/hATaBiZQ - 3303/kzPL9PbJ - In a Component-Based system what is a Subsystem.md b/hATaBiZQ - 3303/kzPL9PbJ - In a Component-Based system what is a Subsystem.md new file mode 100644 index 0000000..7ecc4e0 --- /dev/null +++ b/hATaBiZQ - 3303/kzPL9PbJ - In a Component-Based system what is a Subsystem.md @@ -0,0 +1,6 @@ + +In a Component-Based system, what is a **Subsystem**? + +--- + +๐Ÿงฉ A **Composite Component** (a component that contains other components). diff --git a/hATaBiZQ - 3303/lZgPPb6M - What is the primary cost or disadvantage of using a Broker.md b/hATaBiZQ - 3303/lZgPPb6M - What is the primary cost or disadvantage of using a Broker.md new file mode 100644 index 0000000..809a04c --- /dev/null +++ b/hATaBiZQ - 3303/lZgPPb6M - What is the primary cost or disadvantage of using a Broker.md @@ -0,0 +1,6 @@ + + What is the primary "cost" or disadvantage of using a **Broker**? + +--- + +โณ **Overhead**: The client must perform an extra step (asking the broker) before it can actually access the server. diff --git a/hATaBiZQ - 3303/lbofJKOO - What does the Structural View of a software architecture show.md b/hATaBiZQ - 3303/lbofJKOO - What does the Structural View of a software architecture show.md new file mode 100644 index 0000000..bc908c7 --- /dev/null +++ b/hATaBiZQ - 3303/lbofJKOO - What does the Structural View of a software architecture show.md @@ -0,0 +1,5 @@ +## What does the **Structural View** of a software architecture show? + +--- + +๐Ÿ—๏ธ It is a **static view** (like a class diagram) that shows component types, ports, connectors, and architecture stereotypes. diff --git a/hATaBiZQ - 3303/lcA5uZbT - How does a Control Object interact with Boundary and Entity classes.md b/hATaBiZQ - 3303/lcA5uZbT - How does a Control Object interact with Boundary and Entity classes.md new file mode 100644 index 0000000..2c4c3fc --- /dev/null +++ b/hATaBiZQ - 3303/lcA5uZbT - How does a Control Object interact with Boundary and Entity classes.md @@ -0,0 +1,7 @@ + + +## How does a Control Object interact with **Boundary** and **Entity** classes? + +--- + +๐Ÿ”„ It **receives input** from Boundary classes, processes it, and interacts with Entity classes to **retrieve or update** data. diff --git a/hATaBiZQ - 3303/mGn5xDIO - How does a Sampling Profiler determine where a program is spending its time.md b/hATaBiZQ - 3303/mGn5xDIO - How does a Sampling Profiler determine where a program is spending its time.md new file mode 100644 index 0000000..5f789d7 --- /dev/null +++ b/hATaBiZQ - 3303/mGn5xDIO - How does a Sampling Profiler determine where a program is spending its time.md @@ -0,0 +1,7 @@ + + +## How does a **Sampling Profiler** determine where a program is spending its time? + +--- + +๐Ÿ“‰ It **periodically samples the instruction counter** and uses a symbol table to map those instructions to specific methods or procedures. The percentage of total counts per method represents the percentage of time spent there. diff --git a/hATaBiZQ - 3303/mWnFzCqX - Which well-known design pattern is used to implement SubscriptionNotification.md b/hATaBiZQ - 3303/mWnFzCqX - Which well-known design pattern is used to implement SubscriptionNotification.md new file mode 100644 index 0000000..d7d0411 --- /dev/null +++ b/hATaBiZQ - 3303/mWnFzCqX - Which well-known design pattern is used to implement SubscriptionNotification.md @@ -0,0 +1,7 @@ + + +## Which well-known design pattern is used to implement **Subscription/Notification**? + +--- + +๐Ÿ”” The **Observer Pattern**: A publisher sends messages to a group without needing to know specific individual recipients. diff --git a/hATaBiZQ - 3303/msBgZ4YO - How is Throughput Capacity defined.md b/hATaBiZQ - 3303/msBgZ4YO - How is Throughput Capacity defined.md new file mode 100644 index 0000000..46c7ede --- /dev/null +++ b/hATaBiZQ - 3303/msBgZ4YO - How is Throughput Capacity defined.md @@ -0,0 +1,6 @@ + +How is **Throughput Capacity** defined? + +--- + +๐Ÿš€ The **maximum allowed frequency** of responses. Note that these may overlap in time, such as in web servers handling multiple clients. diff --git a/hATaBiZQ - 3303/nPbiMVUz - What defines Distributed Collaborative Control.md b/hATaBiZQ - 3303/nPbiMVUz - What defines Distributed Collaborative Control.md new file mode 100644 index 0000000..f095daf --- /dev/null +++ b/hATaBiZQ - 3303/nPbiMVUz - What defines Distributed Collaborative Control.md @@ -0,0 +1,7 @@ + + +## What defines **Distributed Collaborative Control**? + +--- + +๐Ÿค Multiple peer controllers manage subsets of the system and **exchange events** for coordination (e.g., Air Traffic Control). diff --git a/hATaBiZQ - 3303/nUhdLRtQ - In the Asynchronous Message with Callback pattern what is the limit on outstanding requests.md b/hATaBiZQ - 3303/nUhdLRtQ - In the Asynchronous Message with Callback pattern what is the limit on outstanding requests.md new file mode 100644 index 0000000..55ee0fd --- /dev/null +++ b/hATaBiZQ - 3303/nUhdLRtQ - In the Asynchronous Message with Callback pattern what is the limit on outstanding requests.md @@ -0,0 +1,7 @@ + +In the **Asynchronous Message with Callback** pattern, what is the limit on outstanding requests? + +--- + +๐Ÿ“ž Only **one request** can be outstanding at a time. The client continues running but expects a response via a callback later. + diff --git a/hATaBiZQ - 3303/ndiHJi2U - Why are Application Logic classes used to partition logic away from data.md b/hATaBiZQ - 3303/ndiHJi2U - Why are Application Logic classes used to partition logic away from data.md new file mode 100644 index 0000000..60dcbdb --- /dev/null +++ b/hATaBiZQ - 3303/ndiHJi2U - Why are Application Logic classes used to partition logic away from data.md @@ -0,0 +1,6 @@ + +Why are Application Logic classes used to **partition logic away from data**? + +--- + +๐Ÿ”„ Because **logic is expected to change** more frequently than the underlying data structures. diff --git a/hATaBiZQ - 3303/niDAaDa1 - What is the rule for Clients and Services in subsystem structuring.md b/hATaBiZQ - 3303/niDAaDa1 - What is the rule for Clients and Services in subsystem structuring.md new file mode 100644 index 0000000..bdd2243 --- /dev/null +++ b/hATaBiZQ - 3303/niDAaDa1 - What is the rule for Clients and Services in subsystem structuring.md @@ -0,0 +1,7 @@ + + +## What is the rule for **Clients and Services** in subsystem structuring? + +--- + +โ†”๏ธ They should be in **separate subsystems**. diff --git a/hATaBiZQ - 3303/oPcSlccY - What is a major limitation of Processor-level measurements.md b/hATaBiZQ - 3303/oPcSlccY - What is a major limitation of Processor-level measurements.md new file mode 100644 index 0000000..27c2eba --- /dev/null +++ b/hATaBiZQ - 3303/oPcSlccY - What is a major limitation of Processor-level measurements.md @@ -0,0 +1,7 @@ + + +## What is a major limitation of **Processor-level** measurements? + +--- + +๐Ÿšซ There is **no application context**. While you can see cache misses or % busy time, you cannot identify which specific application function is responsible for the delay. diff --git a/hATaBiZQ - 3303/pZzSoZE1 - What is the interface rule regarding External Components.md b/hATaBiZQ - 3303/pZzSoZE1 - What is the interface rule regarding External Components.md new file mode 100644 index 0000000..834152d --- /dev/null +++ b/hATaBiZQ - 3303/pZzSoZE1 - What is the interface rule regarding External Components.md @@ -0,0 +1,6 @@ + +What is the interface rule regarding **External Components**? + +--- + +๐Ÿ”Œ An external component should only interface to **one single subsystem**. diff --git a/hATaBiZQ - 3303/pp1FE7QU - What is the function of a Timer control object.md b/hATaBiZQ - 3303/pp1FE7QU - What is the function of a Timer control object.md new file mode 100644 index 0000000..85cd213 --- /dev/null +++ b/hATaBiZQ - 3303/pp1FE7QU - What is the function of a Timer control object.md @@ -0,0 +1,6 @@ + +What is the function of a **Timer** control object? + +--- + +โฑ๏ธ It controls other objects on a **periodic basis**, triggered by an external clock. diff --git a/hATaBiZQ - 3303/qitOJOC1 - Is the reduced parallelism of Synchronous Communication always a disadvantage.md b/hATaBiZQ - 3303/qitOJOC1 - Is the reduced parallelism of Synchronous Communication always a disadvantage.md new file mode 100644 index 0000000..8669f06 --- /dev/null +++ b/hATaBiZQ - 3303/qitOJOC1 - Is the reduced parallelism of Synchronous Communication always a disadvantage.md @@ -0,0 +1,6 @@ + +Is the "reduced parallelism" of Synchronous Communication always a disadvantage? + +--- + +๐Ÿค” **Not necessarily.** While it reduces parallel execution, the resulting "blocking" behavior naturally synchronizes the timing of the two components (throttling). diff --git a/hATaBiZQ - 3303/r413NImq - What is the purpose of a Service type Application Logic class.md b/hATaBiZQ - 3303/r413NImq - What is the purpose of a Service type Application Logic class.md new file mode 100644 index 0000000..b6f5f0a --- /dev/null +++ b/hATaBiZQ - 3303/r413NImq - What is the purpose of a Service type Application Logic class.md @@ -0,0 +1,6 @@ + + What is the purpose of a **Service** type Application Logic class? + +--- + +๐Ÿ› ๏ธ It provides a **specific service** to other objects, such as reading/writing data or forwarding messages across a network. diff --git a/hATaBiZQ - 3303/r4iUGxWX - Which specific object type is the only one allowed to communicate with an Actor.md b/hATaBiZQ - 3303/r4iUGxWX - Which specific object type is the only one allowed to communicate with an Actor.md new file mode 100644 index 0000000..8c3f660 --- /dev/null +++ b/hATaBiZQ - 3303/r4iUGxWX - Which specific object type is the only one allowed to communicate with an Actor.md @@ -0,0 +1,6 @@ + +Which specific object type is the **only** one allowed to communicate with an **Actor**? + +--- + +๐ŸŽญ **Boundary Objects**. Actors cannot interact with Controllers or Entities directly. diff --git a/hATaBiZQ - 3303/rEHTV96X - How are Java priorities handled in Windows Native Threads.md b/hATaBiZQ - 3303/rEHTV96X - How are Java priorities handled in Windows Native Threads.md new file mode 100644 index 0000000..9b2c3a7 --- /dev/null +++ b/hATaBiZQ - 3303/rEHTV96X - How are Java priorities handled in Windows Native Threads.md @@ -0,0 +1,6 @@ + +How are Java priorities handled in **Windows Native Threads**? + +--- + +๐Ÿ—บ๏ธ There is a **one-to-one mapping** between Java and Win-32 threads, but because Windows has fewer priority levels, the **10 Java priorities are mapped onto 6 Win-32 priorities**. diff --git a/hATaBiZQ - 3303/rJ7Jfkku - What is Preemptive Priority-Based Scheduling.md b/hATaBiZQ - 3303/rJ7Jfkku - What is Preemptive Priority-Based Scheduling.md new file mode 100644 index 0000000..4c31e87 --- /dev/null +++ b/hATaBiZQ - 3303/rJ7Jfkku - What is Preemptive Priority-Based Scheduling.md @@ -0,0 +1,7 @@ + + What is **Preemptive, Priority-Based Scheduling**? + +--- + +๐ŸฅŠ A scheduling policy where a lower-priority thread is **forced to stop running** (preempted) as soon as a higher-priority thread becomes **ready to run**. + diff --git a/hATaBiZQ - 3303/rRF6BU9Z - What is Response Time in the context of system performance.md b/hATaBiZQ - 3303/rRF6BU9Z - What is Response Time in the context of system performance.md new file mode 100644 index 0000000..4f8b488 --- /dev/null +++ b/hATaBiZQ - 3303/rRF6BU9Z - What is Response Time in the context of system performance.md @@ -0,0 +1,5 @@ +## What is **Response Time** in the context of system performance? + +--- + +โฑ๏ธ The duration from a **start event** (e.g., sending a request) to an **end event** (e.g., receiving the output). diff --git a/hATaBiZQ - 3303/rlDjH8Xq - In a standard priority-based scheduler which threads are normally selected to enter the Running state.md b/hATaBiZQ - 3303/rlDjH8Xq - In a standard priority-based scheduler which threads are normally selected to enter the Running state.md new file mode 100644 index 0000000..59f3a3c --- /dev/null +++ b/hATaBiZQ - 3303/rlDjH8Xq - In a standard priority-based scheduler which threads are normally selected to enter the Running state.md @@ -0,0 +1,7 @@ + + +## In a standard priority-based scheduler, which threads are **normally selected** to enter the Running state? + +--- + +๐Ÿš€ The threads in the **Runnable state with the highest priorities**. diff --git a/hATaBiZQ - 3303/rvnFPhDB - What is the purpose of Stack Sampling in profiling.md b/hATaBiZQ - 3303/rvnFPhDB - What is the purpose of Stack Sampling in profiling.md new file mode 100644 index 0000000..6686e13 --- /dev/null +++ b/hATaBiZQ - 3303/rvnFPhDB - What is the purpose of Stack Sampling in profiling.md @@ -0,0 +1,6 @@ + +What is the purpose of **Stack Sampling** in profiling? + +--- + +๐ŸŒณ It captures the **context of the call** by recording the sequence of calling methods (the call tree), allowing the profiler to break down time spent in higher-level methods into their constituent lower-level calls. diff --git a/hATaBiZQ - 3303/s72yTlfZ - What are Green Threads.md b/hATaBiZQ - 3303/s72yTlfZ - What are Green Threads.md new file mode 100644 index 0000000..bf084a5 --- /dev/null +++ b/hATaBiZQ - 3303/s72yTlfZ - What are Green Threads.md @@ -0,0 +1,7 @@ + + +## What are **Green Threads**? + +--- + +๐ŸŒณ A thread model where the **JVM is completely responsible** for thread management (stack, PC, bookkeeping). The underlying operating system is **unaware** of these threads. diff --git a/hATaBiZQ - 3303/s77nHRf0 - What are the three key characteristics of a Boundary Class.md b/hATaBiZQ - 3303/s77nHRf0 - What are the three key characteristics of a Boundary Class.md new file mode 100644 index 0000000..f8a31ac --- /dev/null +++ b/hATaBiZQ - 3303/s77nHRf0 - What are the three key characteristics of a Boundary Class.md @@ -0,0 +1,10 @@ + + +## What are the **three key characteristics** of a Boundary Class? + +--- + +1. **Interface Representation** (UI/External interfaces). +2. **External Interaction (Proxy)** (Mediating communication). +3. **Device I/O** (Hardware communication). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/t6YjW9xw - Compare the two main Monitoring Modes Event Trace vs Sampling.md b/hATaBiZQ - 3303/t6YjW9xw - Compare the two main Monitoring Modes Event Trace vs Sampling.md new file mode 100644 index 0000000..5fe503b --- /dev/null +++ b/hATaBiZQ - 3303/t6YjW9xw - Compare the two main Monitoring Modes Event Trace vs Sampling.md @@ -0,0 +1,10 @@ + +Compare the two main **Monitoring Modes**: Event Trace vs. Sampling. + +--- + +๐Ÿ”„ + +- **Event Trace**: Collects info on specific **state changes** via probes; has low overhead (~5%) but shouldn't be used in sensitive areas like interrupt handlers. +- **Sampling**: **Polls the system state** periodically; accuracy is proportional to overhead (higher accuracy requires more frequent polling). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/tF4SNndv - What is the primary function of an Entity Object.md b/hATaBiZQ - 3303/tF4SNndv - What is the primary function of an Entity Object.md new file mode 100644 index 0000000..a245765 --- /dev/null +++ b/hATaBiZQ - 3303/tF4SNndv - What is the primary function of an Entity Object.md @@ -0,0 +1,6 @@ + + What is the primary function of an **Entity Object**? + +--- + +๐Ÿ“ฆ It **encapsulates information** and represents data that needs to be stored and managed within the system. diff --git a/hATaBiZQ - 3303/tHCk52ST - How do you calculate Throughput using event counters.md b/hATaBiZQ - 3303/tHCk52ST - How do you calculate Throughput using event counters.md new file mode 100644 index 0000000..c9d49a0 --- /dev/null +++ b/hATaBiZQ - 3303/tHCk52ST - How do you calculate Throughput using event counters.md @@ -0,0 +1,6 @@ + +How do you calculate **Throughput** using event counters? + +--- + +๐Ÿงฎ By taking the **total count** of events and **dividing it by the duration** of the measurement period. diff --git a/hATaBiZQ - 3303/ty8ZlnNW - What are the standard components of an Event Log entry.md b/hATaBiZQ - 3303/ty8ZlnNW - What are the standard components of an Event Log entry.md new file mode 100644 index 0000000..e7d560c --- /dev/null +++ b/hATaBiZQ - 3303/ty8ZlnNW - What are the standard components of an Event Log entry.md @@ -0,0 +1,6 @@ + +What are the standard components of an **Event Log** entry? + +--- + +๐Ÿ“ `[time, entity, event code, ...additional data]` diff --git a/hATaBiZQ - 3303/uFuuZpdX - Which methods are used to modify or check a threads priority at runtime.md b/hATaBiZQ - 3303/uFuuZpdX - Which methods are used to modify or check a threads priority at runtime.md new file mode 100644 index 0000000..0eb37ac --- /dev/null +++ b/hATaBiZQ - 3303/uFuuZpdX - Which methods are used to modify or check a threads priority at runtime.md @@ -0,0 +1,10 @@ + +Which methods are used to **modify or check** a thread's priority at runtime? + +--- + +๐Ÿ› ๏ธ + +- **`setPriority(int)`**: Sets the priority to a specific value. +- **`getPriority()`**: Returns the current priority of the thread. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/un2HR6ML - What are the defining characteristics of a Sequential Software Architecture.md b/hATaBiZQ - 3303/un2HR6ML - What are the defining characteristics of a Sequential Software Architecture.md new file mode 100644 index 0000000..051cb21 --- /dev/null +++ b/hATaBiZQ - 3303/un2HR6ML - What are the defining characteristics of a Sequential Software Architecture.md @@ -0,0 +1,11 @@ + +What are the defining characteristics of a **Sequential Software Architecture**? + +--- + +๐Ÿงต + +1. **Single thread** of control. +2. **All objects are passive**. +3. Used by cyclic executives. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/vwJrzYX0 - What is the difference between how Simple and Complex Algorithms are encapsulated.md b/hATaBiZQ - 3303/vwJrzYX0 - What is the difference between how Simple and Complex Algorithms are encapsulated.md new file mode 100644 index 0000000..a55afe3 --- /dev/null +++ b/hATaBiZQ - 3303/vwJrzYX0 - What is the difference between how Simple and Complex Algorithms are encapsulated.md @@ -0,0 +1,10 @@ + +What is the difference between how **Simple** and **Complex Algorithms** are encapsulated? + +--- + +๐Ÿงฎ + +- **Simple**: Often encapsulated directly within **Entity objects**. +- **Complex**: Placed in a **separate class** that interacts with multiple objects (similar to a coordinator). + \ No newline at end of file diff --git a/hATaBiZQ - 3303/wSNlf0it - What is the primary role of Application Logic classes.md b/hATaBiZQ - 3303/wSNlf0it - What is the primary role of Application Logic classes.md new file mode 100644 index 0000000..228d3fe --- /dev/null +++ b/hATaBiZQ - 3303/wSNlf0it - What is the primary role of Application Logic classes.md @@ -0,0 +1,7 @@ + + +## What is the primary role of **Application Logic** classes? + +--- + +๐Ÿง  They encapsulate the **core functionality, algorithms, and logic** of an application, playing a central role in executing its operations. diff --git a/hATaBiZQ - 3303/xF6oCtO3 - How is a newly created threads priority determined by default.md b/hATaBiZQ - 3303/xF6oCtO3 - How is a newly created threads priority determined by default.md new file mode 100644 index 0000000..2579b2e --- /dev/null +++ b/hATaBiZQ - 3303/xF6oCtO3 - How is a newly created threads priority determined by default.md @@ -0,0 +1,6 @@ + +How is a **newly created thread's** priority determined by default? + +--- + +๐Ÿ‘ช It is set equal to the **priority of the thread that created it**. diff --git a/hATaBiZQ - 3303/xVgd8P54 - In the Priority Ceiling Protocol why might a high-priority thread be blocked even if a lock is free.md b/hATaBiZQ - 3303/xVgd8P54 - In the Priority Ceiling Protocol why might a high-priority thread be blocked even if a lock is free.md new file mode 100644 index 0000000..268ca04 --- /dev/null +++ b/hATaBiZQ - 3303/xVgd8P54 - In the Priority Ceiling Protocol why might a high-priority thread be blocked even if a lock is free.md @@ -0,0 +1,6 @@ + +In the Priority Ceiling Protocol, why might a high-priority thread be **blocked** even if a lock is free? + +--- + +๐Ÿšฆ If the thread's priority is not higher than the **current global ceiling priority**, it is blocked from acquiring the lock to ensure that lower-priority threads currently holding other resources can finish without interference. diff --git a/hATaBiZQ - 3303/yzWM3cKG - Name three major benefits of Concurrent Software Architectures.md b/hATaBiZQ - 3303/yzWM3cKG - Name three major benefits of Concurrent Software Architectures.md new file mode 100644 index 0000000..1bbfa26 --- /dev/null +++ b/hATaBiZQ - 3303/yzWM3cKG - Name three major benefits of Concurrent Software Architectures.md @@ -0,0 +1,11 @@ + + Name three major benefits of **Concurrent Software Architectures**. + +--- + +๐Ÿš€ + +1. Threads can run while others are **blocked** for events. +2. Supports **multi-core** or distributed systems. +3. Multiple input streams can be handled in **parallel**. + \ No newline at end of file diff --git a/hATaBiZQ - 3303/zM1XYlDF - Why is requesting resources in the same order considered a Prevention strategy.md b/hATaBiZQ - 3303/zM1XYlDF - Why is requesting resources in the same order considered a Prevention strategy.md new file mode 100644 index 0000000..c66e0ef --- /dev/null +++ b/hATaBiZQ - 3303/zM1XYlDF - Why is requesting resources in the same order considered a Prevention strategy.md @@ -0,0 +1,6 @@ + + Why is "requesting resources in the same order" considered a **Prevention** strategy? + +--- + +๐Ÿ“ It removes the possibility of a **circular wait**. If everyone agrees to lock Resource A before Resource B, you can never have a situation where two threads are waiting on each other. diff --git a/hATaBiZQ - 3303/zUzdNxcF - What is the role of a Coordinator Subsystem.md b/hATaBiZQ - 3303/zUzdNxcF - What is the role of a Coordinator Subsystem.md new file mode 100644 index 0000000..03cac8f --- /dev/null +++ b/hATaBiZQ - 3303/zUzdNxcF - What is the role of a Coordinator Subsystem.md @@ -0,0 +1,6 @@ + + What is the role of a **Coordinator Subsystem**? + +--- + +๐Ÿค It coordinates the actions of **multiple control subsystems** in a complex system. diff --git a/hATaBiZQ - 3303/zcdbNQ0Q - What is the primary focus of the Dynamic View in software architecture.md b/hATaBiZQ - 3303/zcdbNQ0Q - What is the primary focus of the Dynamic View in software architecture.md new file mode 100644 index 0000000..8b1dfc6 --- /dev/null +++ b/hATaBiZQ - 3303/zcdbNQ0Q - What is the primary focus of the Dynamic View in software architecture.md @@ -0,0 +1,6 @@ + +What is the primary focus of the **Dynamic View** in software architecture? + +--- + +๐ŸŽฌ It shows all possible **interactions** between objects in the system. diff --git a/hATaBiZQ - 3303/zlblJ8Zv - In a UML class diagram what do the attributes of an Entity Class represent.md b/hATaBiZQ - 3303/zlblJ8Zv - In a UML class diagram what do the attributes of an Entity Class represent.md new file mode 100644 index 0000000..aeb49f7 --- /dev/null +++ b/hATaBiZQ - 3303/zlblJ8Zv - In a UML class diagram what do the attributes of an Entity Class represent.md @@ -0,0 +1,6 @@ + + In a UML class diagram, what do the **attributes** of an Entity Class represent? + +--- + +๐Ÿ“‹ They represent the **properties or characteristics** of the entity, corresponding to specific data fields.