COMPSCI 340 Flashcards
29 Questions
100 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is a timesharing system?

A practice in which the CPU executes multiple jobs by switching among them, but the switches occur so frequently that the users can interact with the processes.

What is virtualization?

A technology for abstracting the hardware of a single computer into several different execution environments, creating an illusion that each environment is running on its own private computer.

What is the kernel?

The OS component running on the computer at all times after system boot.

What is kernel mode?

<p>CPU mode in which all instructions are enabled. The kernel runs in this mode.</p> Signup and view all the answers

What is user mode?

<p>CPU mode for executing user processes in which some instructions are limited or not allowed.</p> Signup and view all the answers

What is priority inversion?

<p>A scheduling challenge arising when a higher priority process needs to read or modify kernel data currently being accessed by a lower priority process.</p> Signup and view all the answers

What is a scheduler?

<p>The part of the OS that determines the next job to be done.</p> Signup and view all the answers

What is a monitor in programming?

<p>A high-level language synchronization construct that protects variables from race conditions.</p> Signup and view all the answers

What is a condition variable?

<p>A component of a monitor lock; a container of threads waiting for a condition to be true to enter the critical section.</p> Signup and view all the answers

What are fibres?

<p>User mode code that can be scheduled according to a user-defined scheduling algorithm.</p> Signup and view all the answers

What is round robin (RR) scheduling?

<p>A scheduling algorithm similar to FCFS scheduling, but with the pre-emption added to enable the system to switch between threads; designed especially for timesharing systems.</p> Signup and view all the answers

What are atomic instructions?

<p>Operations that are always observed to be done or not done, but never halfway done.</p> Signup and view all the answers

What is a semaphore?

<p>An integer variable that, apart from initialization, is accessed only through two standard atomic operations: wait() and signal().</p> Signup and view all the answers

What is concurrency runtime?

<p>C++ designed for task-based parallelism on multicore processors.</p> Signup and view all the answers

What is parallelism in computing?

<p>A computing method that distributes subsets of the same data across multiple cores and performs the same operation on each core.</p> Signup and view all the answers

What is the dining philosophers problem?

<p>A classic synchronization problem in which multiple operators (philosophers) try to access multiple items (chopsticks) simultaneously.</p> Signup and view all the answers

What is process synchronization?

<p>Coordination of access to data by two or more threads or processes.</p> Signup and view all the answers

What is livelock?

<p>A condition in which a thread continuously attempts an action that fails.</p> Signup and view all the answers

What does pre-emptive scheduling mean?

<p>A form of scheduling in which processors or threads are involuntarily moved from running state.</p> Signup and view all the answers

What is the running state of an OS?

<p>The state of the OS after boot when all kernel initialization has completed and system services have started.</p> Signup and view all the answers

What is a Type 2 hypervisor?

<p>An application that runs on a standard OS but provides VM management features to guest OS.</p> Signup and view all the answers

What is rate monotonic scheduling?

<p>A scheduling algorithm that schedules periodic tasks using a static priority policy with pre-emption.</p> Signup and view all the answers

What is a lock-free algorithm?

<p>An algorithm that provides protection from race conditions without requiring the overhead of locking.</p> Signup and view all the answers

What is a mutex lock?

<p>A mutual exclusion lock; the simplest software tool for assuring mutual exclusion.</p> Signup and view all the answers

What is a memory barrier?

<p>Computer instructions that force any changes in memory to be propagated to all other processors in the system.</p> Signup and view all the answers

What does cooperative scheduling mean?

<p>A form of scheduling in which threads voluntarily move from the running state.</p> Signup and view all the answers

What is a real-time OS?

<p>Systems used when rigid time requirements have been placed on the operation of a processor or the flow of data.</p> Signup and view all the answers

What is a microkernel?

<p>An OS structure that removes all nonessential components from the kernel and implements them as system and user level programs.</p> Signup and view all the answers

What is earliest deadline first scheduling?

<p>A real-time scheduling algorithm in which the scheduler dynamically assigns priorities according to completion deadlines.</p> Signup and view all the answers

Study Notes

Operating System Concepts

  • Timesharing System: Enables multiple jobs to execute by rapidly switching between them, allowing user interaction with processes.
  • Virtualization: Abstracts computer hardware into multiple execution environments, simulating independent computing instances.
  • Kernel: Core component of an operating system that remains active post-boot, managing system resources and processes.

CPU Modes

  • Kernel Mode: Allows full access to CPU instructions; the kernel operates in this mode.
  • User Mode: Restricts execution of certain instructions, providing a safe environment for user processes.

Scheduling Challenges

  • Priority Inversion: Occurs when a higher-priority process is blocked by a lower-priority process accessing critical data.
  • Scheduler: Determines which job or process will run next in the operating system.

Synchronization Mechanisms

  • Monitor: A high-level synchronization construct ensuring variables are safe from concurrent access issues, known as race conditions.
  • Condition Variable: Works with monitors, managing threads that wait for specific conditions to enter critical sections.
  • Semaphore: An integer variable accessed through atomic operations (wait and signal) for synchronization purposes.

Concurrency and Execution

  • Fibres: User-level threads scheduled by user-defined algorithms, allowing for more flexible concurrency.
  • Round Robin (RR): A scheduling strategy that pre-empts processes to ensure fair CPU time sharing, especially in timesharing systems.
  • Atomic Instruction: An operation that completes entirely or not at all, crucial for preventing inconsistencies during concurrent operations.

Algorithms and Scheduling

  • Concurrency Runtime: C++ framework for task-based parallelism optimized for multicore processors.
  • Parallelism: Distributes data subsets across multiple cores for simultaneous processing of identical operations.
  • Rate Monotonic: Static priority scheduling algorithm for periodic tasks with pre-emption considerations.

Synchronization Problems

  • Dining Philosophers Problem: Classic example illustrating the complexities of synchronizing access to shared resources among multiple entities.
  • Process Synchronization: Manages coordination of processes or threads accessing shared data.

System States and Conditions

  • Livelock: A condition where a thread repeatedly attempts a failed action without making progress.
  • Running State: Indicates the operating system's active phase post-boot, where services are operational until a shutdown or crash occurs.

Advanced OS Features

  • Type 2 Hypervisor: Software running on a host OS that provides virtual machine management for guest operating systems.
  • Lock-Free Algorithm: Prevents race conditions without the overhead of traditional locks, improving efficiency.
  • Mutex Lock: A basic tool for ensuring mutual exclusion in concurrent programming contexts.

Memory and Scheduling Concepts

  • Memory Barrier: Instructions that ensure memory updates are visible across all processors.
  • Cooperative Scheduling: Requires threads to voluntarily yield the CPU, providing another mechanism for process scheduling.
  • Real-Time OS: Operating systems designed for applications with strict timing constraints, often utilized in control systems.

Cutting-Edge Scheduling Algorithms

  • Earliest Deadline First: Dynamic priority scheduling that assigns high priority to processes with imminent completion deadlines.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Test your understanding of key concepts in computer science with these flashcards. Topics include timesharing systems and virtualization, essential for grasping modern computing environments. Perfect for students preparing for exams or looking to refresh their knowledge.

Use Quizgecko on...
Browser
Browser