EECS 482 Final Flashcards
47 Questions
100 Views

EECS 482 Final Flashcards

Created by
@StatuesquePrimrose

Questions and Answers

What abstractions does the OS provide regarding memory management?

Virtual Memory, Address Independence, Protection, Sharing

What is the difference between Uni and Multi programming?

  • Multiple processes in physical memory space (correct)
  • Only one process in physical memory space at a time (correct)
  • Only managed languages are used
  • It is related to static address translation
  • What type of address translation happens at compile time?

    Static

    What is the early dynamic address translation mechanism that doesn't allow sharing?

    <p>Base and Bounds</p> Signup and view all the answers

    What is a dynamic address translation mechanism that allows sharing?

    <p>Segmentation</p> Signup and view all the answers

    What is the dynamic address translation mechanism with fixed segment sizes?

    <p>Paging</p> Signup and view all the answers

    What is the best way to speed up paging?

    <p>TLB (Translation Lookaside Buffer) caching</p> Signup and view all the answers

    What happens when many processes are using all of their address space?

    <p>Thrashing</p> Signup and view all the answers

    What are two solutions to thrashing?

    <p>Buy more RAM or run fewer processes at once</p> Signup and view all the answers

    What is the operating abstraction responsible for managing translation data?

    <p>Kernel</p> Signup and view all the answers

    What is the best way to increase exec() performance?

    <p>Memory Mapped Files</p> Signup and view all the answers

    What is the best way to increase multi-threaded server performance?

    <p>Thread pools</p> Signup and view all the answers

    What are the factors affecting disk performance?

    <p>Queueing request, positioning, access</p> Signup and view all the answers

    What is the efficiency formula for disk transfers in LaTeX?

    <p>T_transfer / (T_transfer + T_pos)</p> Signup and view all the answers

    What are three disk scheduling algorithms?

    <p>FCFS, SSTF, SCAN</p> Signup and view all the answers

    What method helps improve throughput with processes with many disk-local requests?

    <p>Anticipatory scheduling</p> Signup and view all the answers

    What is the way to ensure file system consistency across failures?

    <p>Careful ordering</p> Signup and view all the answers

    What are two methods to make a file system update atomic?

    <p>Logging and shadowing</p> Signup and view all the answers

    Log operations must be ___________________

    <p>Idempotent</p> Signup and view all the answers

    What are log structured file systems good for?

    <p>RAID and SSD</p> Signup and view all the answers

    What are some problems associated with RAID?

    <p>More disks increase chance of failure, small files are a bit inefficient</p> Signup and view all the answers

    What is the way to improve RAID reliability?

    <p>Parity</p> Signup and view all the answers

    What is RAID 0 known for?

    <p>Striping only, no reliability</p> Signup and view all the answers

    What does RAID 1 do?

    <p>Mirroring, maintain full copy</p> Signup and view all the answers

    What is RAID 5?

    <p>Floating parity (complicated)</p> Signup and view all the answers

    What is the socket analogy compared to?

    <p>Mailbox analogy</p> Signup and view all the answers

    Are packet transfers over the internet reliable?

    <p>False</p> Signup and view all the answers

    What is TCP?

    <p>Data reliability transfer mechanism</p> Signup and view all the answers

    What design ensures data sent was received successfully?

    <p>ACK design</p> Signup and view all the answers

    What is the way to handle dropped data packets?

    <p>Three identical ACKs in a row</p> Signup and view all the answers

    If TCP is sending 150 bytes, how many bytes might the user receive?

    <p>1-150 bytes</p> Signup and view all the answers

    What is a great flag to use with recv to avoid looping?

    <p>MSG_WAITALL</p> Signup and view all the answers

    What is a super common network design pattern?

    <p>Client-Server</p> Signup and view all the answers

    What abstracts network functionality into simple function calls?

    <p>RPC (Remote Procedure Calls)</p> Signup and view all the answers

    What are the illusion factors of RPC?

    <p>Failure, performance, service discovery</p> Signup and view all the answers

    What is an easy method for distributed ordering?

    <p>Reorder send and receives</p> Signup and view all the answers

    What ensures partial ordering in a distributed system?

    <p>Lamport Happens Before</p> Signup and view all the answers

    What ensures full ordering in a distributed system?

    <p>Lamport Clocks</p> Signup and view all the answers

    What does any operation do in Lamport's system?

    <p>increments clock</p> Signup and view all the answers

    What is the best way to speed up client-server file systems?

    <p>Client-Side Caching</p> Signup and view all the answers

    What is the term for transferring the sole copy of a file to the client?

    <p>Migration</p> Signup and view all the answers

    What involves creating an additional copy of a file at the client?

    <p>Replication</p> Signup and view all the answers

    What manages concurrency with three states?

    <p>Pessimistic concurrency control</p> Signup and view all the answers

    What describes concurrency control with no states?

    <p>Optimistic concurrency control</p> Signup and view all the answers

    What relates to maintaining consistency in file systems?

    <p>Consistency in operations</p> Signup and view all the answers

    What is advisable when dealing with file system problems?

    <p>Draw pictures</p> Signup and view all the answers

    What should you read very carefully in search problems?

    <p>Search condition</p> Signup and view all the answers

    Study Notes

    Virtual Memory and Memory Management

    • Offers abstractions like Address Independence, Protection, and Sharing.
    • Integral for efficient process handling and resource allocation.

    Uni vs Multi Programming

    • Single process operation in memory leads to simpler management.
    • Multi-programming enhances CPU utilization by running multiple processes concurrently.

    Static Address Translation

    • Performed at compile time; limits flexibility for dynamic checks, particularly in C language.

    Base and Bounds

    • Early dynamic address translation method.
    • Prevents memory sharing and suffers from external fragmentation issues.

    Segmentation

    • Allows flexible memory allocation with variable-sized address ranges.
    • Facilitates sharing among processes, but can lead to fragmentation.

    Paging

    • Implements fixed-size memory blocks for efficient address translation.
    • Simplifies memory management, enabling faster access and performance.

    TLB (Translation Lookaside Buffer)

    • Essential caching mechanism to accelerate paging operations.

    Thrashing

    • Results from excessive paging when memory resources are overcommitted.
    • Causes significant performance degradation due to constant page transfers.

    Thrashing Solutions

    • Solutions include increasing RAM or reducing the number of active processes.

    Kernel

    • Core OS component managing memory translation and handling page faults through traps.

    Memory Mapped Files

    • Method to boost performance of exec() calls by mapping file content directly into memory.

    Thread Pools

    • Strategy to enhance multi-threaded server performance through pre-allocated threads.

    Disk Performance Factors

    • Influenced by queueing requests, disk positioning, and access patterns.

    Disk Transfer Efficiency

    • Calculated using the formula T_transfer / (T_transfer + T_pos).

    Disk Scheduling Algorithms

    • First-Come, First-Served (FCFS), Shortest Seek Time First (SSTF), and SCAN define strategies for optimizing disk access.

    Anticipatory Scheduling

    • Improves disk throughput by anticipating future requests and optimizing server responses.

    File System Consistency

    • Ensured through careful ordering to maintain integrity during outages or failures.

    Atomic File System Updates

    • Achieved through techniques such as logging and shadowing.

    Idempotency in Logs

    • Essential feature for ensuring that log operations can be repeatedly applied without unintended effects.

    Log Structured File Systems

    • Particularly effective in environments utilizing RAID and SSD configurations.

    RAID Challenges

    • Increased number of disks raises failure risks; small file handling can be inefficient.

    RAID Reliability Enhancement

    • Parity is implemented to improve data reliability in RAID setups.

    RAID Types

    • RAID 0: Focus on performance without data redundancy.
    • RAID 1: Offers full redundancy through mirroring.
    • RAID 5: Includes floating parity to balance performance and reliability.

    Socket Communication

    • Comparable to a mailbox analogy; encapsulates data transfer protocols.

    Internet Packet Transfer Reliability

    • Generally unreliable, leading to potential data loss during transmission.

    TCP Mechanism

    • Implements reliability through acknowledgments (ACKs) to ensure successful data transfers.

    ACK Design

    • Uses acknowledgment packets to verify successful receipt of data.

    Handling Dropped Packets

    • Sending three identical ACKs consecutively helps mitigate data loss.

    TCP Data Segmentation

    • If transmitting 150 bytes, the user may receive between 1 to 150 bytes.

    MSG_WAITALL Flag

    • Utilization with recv to receive complete message data without looping.

    Client-Server Architecture

    • A prevalent design pattern for networked applications managing resources and requests.

    RPC (Remote Procedure Calls)

    • Abstracts network interactions into function calls for easier programming.

    RPC Illusions

    • Factors include challenges of failure, performance, and service discovery.

    Distributed Ordering

    • Achieved by reordering send and receive operations across systems.

    Lamport's Happens Before

    • Establishes a mechanism for ensuring partial order in distributed systems.

    Lamport Clocks

    • Method for maintaining a total order of events within distributed computing.

    Incrementing Clocks in Lamport

    • Every operation recorded increments the clock to reflect event sequence.

    Client-Side Caching

    • Improves performance in client-server file systems through localized data storage.

    File Migration

    • Process of transferring a single copy of a file to the client for access.

    File Replication

    • Creates additional file copies to ease access but complicates concurrent write handling.

    Concurrency Control Mechanisms

    • Pessimistic control manages access states, while optimistic allows unregulated access with conflict resolution.

    Project 3 Headspace

    • Focus on virtual and physical memory identification and handling dirty page transitions.

    Project 4 Headspace

    • Emphasizes consistency, visual aids in problem-solving, and careful reading of search conditions.

    Studying That Suits You

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

    Quiz Team

    Description

    Test your knowledge on important concepts in operating systems, particularly focusing on memory management and programming paradigms. This quiz covers virtual memory, process handling, and static address translation. Perfect for reviewing key ideas before your EECS 482 final exam.

    Use Quizgecko on...
    Browser
    Browser