Operating Systems: Von Neumann Architecture

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Which of the following assertions regarding the evolution of operating systems is most accurate in the context of distributed computing?

  • Distributed systems represent a paradigm shift aimed at enhancing fault tolerance and scalability through networked, loosely-coupled architectures, diverging from the monolithic approach of time-sharing systems. (correct)
  • The evolution from parallel systems to distributed systems is characterized by a move towards tightly-coupled architectures with shared memory, optimizing inter-process communication.
  • Time-sharing systems inherently possess the characteristics of distributed systems due to their ability to allocate CPU time slices among multiple users.
  • The transition from time-sharing systems to distributed systems primarily addresses resource allocation challenges in centralized environments.

In the context of operating system design, what is the most significant trade-off when choosing between a monolithic kernel and a microkernel architecture?

  • Microkernels inherently consume fewer system resources because of their minimal core functionalities, resulting in improved efficiency compared to monolithic kernels.
  • Monolithic kernels offer decreased security due to the isolation of system services, whereas microkernels lack the flexibility to adapt to varied hardware architectures.
  • Monolithic kernels provide optimized performance due to integrated functionalities, but suffer from reduced modularity and resilience compared to microkernels. (correct)
  • Microkernels facilitate straightforward debugging across all the OS services, unlike monolithic kernels that have a single point of failure.

When evaluating the effectiveness of different scheduling algorithms, which composite metric provides the most nuanced insight into Quality of Service (QoS) from a user-centric perspective?

  • Balancing fairness, response time, and throughput, which involves ensuring equitable resource allocation, responsive interactive performance, and efficient overall system productivity. (correct)
  • Optimizing for raw CPU utilization, favoring algorithms that maximize the percentage of time the CPU spends actively processing tasks.
  • Maximizing system throughput, choosing algorithms that process requests at the highest possible rate, disregarding individual process latencies.
  • Minimizing average turnaround time, which focuses on reducing the total time from submission to completion for each process.

In the context of memory management, what is the most critical challenge in designing a virtual memory system for a real-time operating system (RTOS) used in safety-critical applications?

<p>Ensuring deterministic access times to memory locations to guarantee that processes meet strict deadlines, despite the complexities of virtual-to-physical address translation. (D)</p>
Signup and view all the answers

How might an adversary exploit a race condition in an operating system's kernel to achieve privilege escalation, assuming the kernel uses a preemptive scheduling algorithm?

<p>By designing a multi-threaded application that leverages shared resources to unpredictably influence the execution of kernel-level operations to grant elevated privileges to the attacker's process. (B)</p>
Signup and view all the answers

Which of the following scenarios would MOST necessitate the use of asymmetric multiprocessing over symmetric multiprocessing in a modern operating system?

<p>Managing a real-time embedded system where specific tasks demand dedicated and predictable processing capabilities due to strict timing constraints. (B)</p>
Signup and view all the answers

What is the most critical concern when implementing a distributed lock manager (DLM) in a clustered system designed for high-performance computing (HPC)?

<p>Minimizing lock contention and latency to avoid performance bottlenecks that could impede the overall computational throughput of the cluster. (D)</p>
Signup and view all the answers

Consider a scenario where an operating system utilizes a multi-level page table for virtual memory management. If the system experiences a high rate of TLB (Translation Lookaside Buffer) misses, what advanced hardware or software optimization technique could most effectively mitigate this issue?

<p>Employing superpages (or huge pages) to reduce the number of page table entries required for large contiguous memory regions, thereby improving TLB hit rates. (D)</p>
Signup and view all the answers

In the context of file system design, what is the paramount challenge in ensuring data integrity and consistency when implementing a journaling file system for a database server that experiences frequent power failures?

<p>Ensuring all metadata and data are written to stable storage in an atomic fashion to prevent corruption and guarantee recovery to a consistent state after an unexpected shutdown. (B)</p>
Signup and view all the answers

What is the key distinction between a Type 1 (bare-metal) and a Type 2 (hosted) hypervisor, and how does that influence their suitability for different computing environments?

<p>Type 1 hypervisors are designed to run directly on hardware, offering superior performance and resource management, making them ideal for enterprise servers, whereas Type 2 hypervisors run on top of an existing operating system and is more suitable for desktop virtualization. (A)</p>
Signup and view all the answers

In the context of real-time operating systems (RTOS), what is the most significant challenge in guaranteeing determinism when dealing with interrupt handling, and how can it be addressed?

<p>Minimizing the interrupt latency by using techniques such as preemptive interrupt handling and interrupt vector optimization to ensure timely response to external events. (A)</p>
Signup and view all the answers

Consider an operating system that implements a capability-based security model. Which statement accurately describes a critical vulnerability that could compromise system security?

<p>Obtaining a valid capability and then exploiting a use-after-free vulnerability in the object manager to gain unauthorized control over a protected resource. (C)</p>
Signup and view all the answers

In the design of networked file systems, what is the most critical challenge in maintaining cache coherence across multiple client machines, especially when dealing with concurrent write operations to the same file?

<p>Implementing an efficient locking mechanism that minimizes latency and overhead while preventing conflicting writes and maintaining consistency across all clients. (A)</p>
Signup and view all the answers

In the context of microkernel-based operating systems, what is the most significant complexity introduced by inter-process communication (IPC) for guaranteeing system reliability and security?

<p>Ensuring the integrity and confidentiality of messages exchanged between processes, especially when crossing privilege boundaries, to prevent information leakage or unauthorized access. (B)</p>
Signup and view all the answers

What is the primary reason that a real-time operating system (RTOS) might not be suitable for a general-purpose desktop computer, despite its potential for deterministic task scheduling?

<p>RTOSs are designed with a focus on minimizing latency and maximizing predictability, which may come at the expense of throughput and overall system performance for non-real-time tasks common in desktop usage. (B)</p>
Signup and view all the answers

In the context of virtualized environments, what is the most critical security challenge associated with shared memory between a host operating system and a guest virtual machine (VM), especially when the VM is running untrusted code?

<p>Protecting the host system from malicious attacks initiated by the VM through vulnerabilities in the shared memory interface, such as buffer overflows or race conditions. (C)</p>
Signup and view all the answers

How can an attacker leverage side-channel attacks, such as timing or power analysis, to compromise the security of cryptographic operations within an operating system's kernel, even if the cryptographic algorithms themselves are mathematically secure?

<p>By observing variations in execution time or power consumption during cryptographic operations to infer information about secret keys or plaintext data. (D)</p>
Signup and view all the answers

In the context of cloud computing, what are the most critical challenges in ensuring data sovereignty and compliance with regional data protection regulations, such as GDPR, when using multi-tenant, geographically distributed cloud infrastructure?

<p>Guaranteeing that data is stored and processed only within specific geographical boundaries and providing mechanisms for users to verify compliance. (A)</p>
Signup and view all the answers

What are the most significant trade-offs when choosing between different inter-process communication (IPC) mechanisms (e.g., shared memory, message queues, pipes) in an operating system designed for high-frequency trading (HFT) applications?

<p>Balancing the need for low latency and high throughput with the complexities of concurrency control, data synchronization, and security considerations. (D)</p>
Signup and view all the answers

In the context of operating system security, what is the most effective strategy for mitigating the risk of return-oriented programming (ROP) attacks, which involve chaining together existing code snippets to execute malicious code?

<p>Implementing control-flow integrity (CFI) to ensure that the program's control flow follows a legitimate path, preventing attackers from redirecting execution to arbitrary code snippets. (B)</p>
Signup and view all the answers

In the design of an operating system for a high-security environment, what is the most critical consideration when implementing a mandatory access control (MAC) system, such as SELinux, to enforce strict security policies?

<p>Ensuring that the MAC policies are comprehensive, rigorously defined, and consistently enforced to prevent unauthorized access to sensitive resources, even by privileged users. (B)</p>
Signup and view all the answers

When designing a real-time operating system (RTOS) for an autonomous vehicle, what is the most critical challenge in managing shared resources among multiple tasks with strict deadlines, and how can it be addressed?

<p>Preventing priority inversion by using priority inheritance or priority ceiling protocols to ensure that high-priority tasks are not blocked indefinitely by lower-priority tasks holding shared resources. (A)</p>
Signup and view all the answers

In the context of distributed systems, what is the most significant challenge in achieving strong consistency among multiple replicas of a data object, especially in the presence of network partitions and failures?

<p>Implementing a fault-tolerant consensus algorithm, such as Paxos or Raft, to ensure that all replicas agree on a single, consistent view of the data, even in the face of failures and partitions. (D)</p>
Signup and view all the answers

Consider an intrusion detection system (IDS) operating within an operating system kernel. What is the most critical concern when analyzing system call traces for detecting malicious activity, and how can it be addressed?

<p>Identifying patterns of system call sequences that are indicative of known attack techniques while avoiding false positives from legitimate application behavior. (B)</p>
Signup and view all the answers

In the context of mobile operating systems, what advanced power management technique can most effectively reduce energy consumption when the device is idle or running background tasks with flexible deadlines?

<p>Coordinating sleep states across multiple hardware components (e.g., CPU, memory, peripherals) to maximize the duration of low-power modes. (D)</p>
Signup and view all the answers

In the context of cloud computing security, what is the most critical challenge when implementing data loss prevention (DLP) mechanisms in a multi-tenant environment, and how can it be addressed?

<p>Accurately identifying and classifying sensitive data based on its content, context, and metadata, while avoiding false positives and minimizing the risk of data breaches. (A)</p>
Signup and view all the answers

When designing a high-availability operating system, what advanced technique can most effectively minimize downtime and ensure continuous operation in the event of a catastrophic failure, such as a hardware malfunction or a software bug?

<p>Utilizing a redundant, hot-standby system that can seamlessly take over in the event of a failure, with minimal disruption to ongoing operations. (D)</p>
Signup and view all the answers

In the context of operating systems, what architectural adaptation is most effective in utilizing persistent memory (PMEM) to accelerate database operations while minimizing the risk of data loss in the event of a system crash?

<p>Using PMEM as a direct-access storage device (DAX) to bypass the traditional block-based I/O stack, allowing applications to directly access and manipulate data structures in persistent memory with minimal overhead. (A)</p>
Signup and view all the answers

What is the most critical challenge in guaranteeing data confidentiality and integrity when using Trusted Execution Environments (TEEs), such as Intel SGX, in a cloud computing environment, and how can it be addressed?

<p>Verifying the integrity of the code running inside the enclave by using remote attestation mechanisms to ensure that it has not been tampered with. (B)</p>
Signup and view all the answers

How would one design a fair scheduling algorithm for batch jobs in a Hadoop cluster that minimizes starvation while maximizing throughput, considering different job priorities and resource requirements?

<p>Shortest Job First (SJF) scheduling with aging, where the priority of longer jobs increases over time to prevent indefinite postponement. (D)</p>
Signup and view all the answers

When designing an operating system for a resource-constrained embedded device with limited memory and processing power, which memory management technique would provide the best balance of efficiency, simplicity, and memory utilization?

<p>Fixed-size block allocation with a bitmap, offering simplicity and good memory utilization with minimal overhead. (D)</p>
Signup and view all the answers

When implementing a file system for a high-performance computing (HPC) environment, what is the most critical consideration in optimizing metadata operations, such as file creation, deletion, and renaming, to minimize latency and maximize throughput?

<p>Employing a distributed metadata architecture, where metadata is partitioned and stored across multiple storage devices, allowing concurrent access and reducing contention. (C)</p>
Signup and view all the answers

Consider the scenario where a cloud provider wants to offer a "serverless" computing platform where users can execute code without managing servers. Which isolation strategy is the MOST secure?

<p>Using virtual machine-based isolation, where each function runs in a separate virtual machine with its own operating system kernel. (A)</p>
Signup and view all the answers

For a network operating system with many web server instances, which approach balances security and performance when encrypting traffic?

<p>Using Transport Layer Security (TLS) with hardware acceleration for cryptographic operations. (A)</p>
Signup and view all the answers

Flashcards

Operating System

Controls and coordinates the use of hardware among various applications and users.

Kernel

The core of an operating system, managing the system's resources.

Bus

A common communication pathway connecting components in a computer system.

Interrupt

A signal indicating an event needing immediate attention, altering the CPU's execution flow.

Signup and view all the flashcards

Interrupt

The mechanism where a device controller informs the CPU that it has finished an operation.

Signup and view all the flashcards

Main Memory

Memory that the CPU can access directly.

Signup and view all the flashcards

Nonvolatile Memory

Memory that retains data even without power.

Signup and view all the flashcards

Cache

Smaller, faster memory storing copies of frequently used data from main memory.

Signup and view all the flashcards

Multiprocessor System

A design where multiple processors execute tasks concurrently, enhancing throughput and reliability.

Signup and view all the flashcards

Parallel System

A tightly-coupled system with multiple processors.

Signup and view all the flashcards

Asymmetric Multiprocessing

Each processor is assigned a specific task.

Signup and view all the flashcards

Symmetric Multiprocessing

Each processor performs all tasks within the operating system.

Signup and view all the flashcards

Clustered System

A collection of independent systems working together to function as a single system.

Signup and view all the flashcards

Bootstrap Program

A program loaded at startup to initialize system hardware and load the OS.

Signup and view all the flashcards

Multiprogramming

Organizes jobs so the CPU always has something to execute.

Signup and view all the flashcards

Memory Resident Jobs

A subset of total jobs kept in memory.

Signup and view all the flashcards

Process

A program in execution.

Signup and view all the flashcards

Passive Entity

A passive program stored on disk.

Signup and view all the flashcards

Active Entity

An active program in execution.

Signup and view all the flashcards

Dual-Mode Operation

Allows the operating system to protect itself and other system components.

Signup and view all the flashcards

Privilege Escalation

Allows user to change to effective ID with more rights.

Signup and view all the flashcards

Caching

Copying information into faster storage system.

Signup and view all the flashcards

Virtualization

Allows operating systems to run applications within other OSes.

Signup and view all the flashcards

Network

Communications path, TCP/IP most common.

Signup and view all the flashcards

Cloud Computing

Cloud computing is the delivery of computing, storage and applications.

Signup and view all the flashcards

Network Operating System

Provide features between systems across network.

Signup and view all the flashcards

Study Notes

  • Operating Systems are basis on operating systems
  • Computer system: monitor, external speaker, keyboard, mouse, computer tower, floppy drive, CD/DVD-ROM drive, hard drive, RAM chips, expansion slots, video card, network card, A/V card, internal speaker, battery, Microprocessor, cooling blades, clock, motherboard, cooling fan

Von Neumann Architecture

  • Includes PC, Registers, and ALU which make up the CPU
  • Also contains Memory and Interfaccia di I/O (Interface)
  • Contains BUS which controls dati (data), indirizzi (addresses), and controllo (control)

Computer System Structure

  • Divided into four components: users, application programs, operating system, and hardware
  • Users include people, machines, and other computers needing computing resources
  • Application programs define how system resources solve user problems
  • Word processors, web browsers, database systems, and video games are examples of application programs
  • Operating systems control and coordinate use of hardware among various applications and users
  • Hardware provides basic computing resources like CPU, memory, and I/O devices

What is an Operating System?

  • A program acting as an intermediary between a computer user and the hardware
  • Goals include executing user programs, making problem-solving easier, being convenient, and using hardware efficiently

What Operating Systems Do

  • Dependent on point of view
  • Users desire convenience, ease of use, and good performance, not caring about resource utilization
  • Mainframes and minicomputers must keep all users happy, acting as resource allocators and control programs
  • Operating systems ensure efficient hardware usage and manage program execution
  • Dedicated systems like workstations use dedicated but also shared resources from servers
  • Mobile devices optimize usability and battery life with mobile user interfaces like touch screens and voice recognition
  • Embedded computers in devices and automobiles lack user interfaces, running without intervention

Defining Operating Systems

  • The term covers many roles and has myriad designs/uses
  • Operating systems are found in toasters, ships, spacecraft, game machines, TVs, and industrial control systems
  • The need for resource management and program control arose when fixed-use military computers became more general-purpose

Different Operating Systems

  • MacOS: A series of GUI operation systems developed by Apple Inc. for their Macintosh computers
  • Linux: A Unix-like computer operating system assembled under a model of free and open-source software development and distribution
  • Microsoft Windows: A series of GUI operating systems developed, marketed, and sold by Microsoft
  • iOS: A mobile operating system developed and distributed by Apple Inc. originally unveiled in 2007 for the iPhone, extends to support other Apple devices such as the iPod Touch
  • Android: A Linux-based OS designed primarily for touchscreen mobile devices such as smartphones and tablet computers, initially developed by Android Inc.
  • BSD/OS: Had a reputation for reliability in server roles. W. Richard Stevens used it for his personal web server

Evolution of Operating Systems

  • Serial Processing → Batch Processing → Multiprogramming → Time Sharing → Parallel System → Network-Based → Distributed System

Operating System Definition:

  • An Operating System is a set of basic programs and utilities running on a computer
  • The kernel, which is part of the operating system, is the one program running on the computer at all times
  • A system program ships with the operating system but is not part of the kernel
  • An application program is not associated with the operating system
  • Modern operating systems include middleware to provide additional services to application developers

Computer System Organization

  • CPUs and device controllers connect via a common bus to access shared memory
  • Memory stores both data and instructions
  • CPUs and devices execute concurrently and compete for memory cycles

Computer-System Operation

  • I/O devices and CPUs can run at the same time
  • Device controllers manage particular device types with a local buffer
  • Operating system device drivers manage each device controller type
  • CPUs move data to / from main memory to / from local buffers
  • I/O moves from the device to the local buffer of the controller
  • Device controllers inform the CPU of operation completion through an interrupt

Common Functions of Interrupts

  • Interrupts generally transfer control to an interrupt service routine via the interrupt vector
  • The interrupt vector contains the addresses of all service routines
  • Interrupt architecture must save the address of the interrupted instruction
  • A trap, or exception, is a software-generated interrupt from an error or user request
  • Operating systems are interrupt-driven

Storage Structure

  • Main memory is the only large storage medium accessible by the CPU
  • This memory allows random access but is typically volatile
  • Typically random-access memory in the form of Dynamic Random-access Memory (DRAM)
  • Secondary storage, like hard drives, provides large, nonvolatile storage capacity

Storage Structure (Cont.)

  • Hard Disk Drives (HDD) consist of rigid metal or glass platters with magnetic recording material
  • Divided into logic tracks, and subdivided into sectors
  • Disk controllers determine the logical interaction between devices and computers
  • Non-Volatile Memory (NVM) devices are faster and nonvolatile
  • Uses various technologies and becoming more popular as capacity/performance increases and prices drop

Storage Definitions and Notation Review

  • Bit: The basic unit of computer storage that contains one of two values(0 and 1)
  • Byte: Is 8 bits and an easy chunk of storage for computers.
  • Word: A given computer architecture's native unit of data
  • Kilobyte (KB): 1,024 bytes
  • Megabyte (MB): 1,024^2
  • Gigabyte (GB): 1,024^3
  • Terabyte (TB): 1,024^4
  • Petabyte (PB): 1,024^5

Storage Hierarchy

  • Storage systems are organized in a hierarchy based on: Speed, Cost, Volatility
  • Caching copies information into a faster storage system
  • Main memory acts as a cache for secondary storage
  • Device Drivers provide a uniform interface between the controller and the kernel to manage I/O

Storage-Device Hierarchy

  • Top to bottom: Registers, Cache, Main Memory, Nonvolatile memory, Hard-disk drives, optical disk, Magnetic tapes, with access time slowing down and storage capacity growing larger

Computer System Architecture

  • Most systems use a single general-purpose processor, and may also have special-purpose processors
  • Multiprocessor systems grow in use and importance
  • These are known as parallel systems or tightly-coupled systems

Computer-System Architecture Advantages

  • Increased Throughput
  • Economy if scale
  • Increased Reliability- graceful degradation or fault tolerance

Two Types of systems

  • Asymmetric Multiprocessing: each processing assigned a specific task
  • Symmetric Multiprocessing- each processor performs all tasks

Symmetric Multiprocessing Architecture

  • Multiple processors (processor0, processor1)
  • Each processor has a CPU
  • Each CPU has registers and cache
  • All processors access a main memory block

Dual-Core Design

  • Features multi-chip and multicore
  • Systems containing all chips, with chassis containing multiple separate systems
  • Each processor has a CPU core
  • Each core has registers and an L1 cache
  • Each processor shares an L2 cache

Non-Uniform Memory Access System

  • memory0 and memory1, CPU0 and CPU1, CPU 2 and memory2, and CPU3 and memory3- all interconnect via interconnect

Clustered Systems

  • Like multiprocessor systems, but multiple systems work together
  • Usually sharing storage via a storage-area network (SAN)
  • Provides a high-availability service which survives failures
    • Asymmetric clustering has one machine in hot-standby mode
    • Symmetric clustering has multiple nodes running applications, monitoring each other
  • Some clusters are for high-performance computing (HPC)
  • Applications must be written to use parallelization
  • Some have distributed lock manager (DLM) to avoid conflicting operations

Clustered Systems Architecture

  • A number of computers (e.g. 3) are interconnected via a small network interconnect
    • Each is connected to the storage-area network

PC Motherboard

  • Has DRAM slots for RAM, processor socket (for CPU), Peripheral Component Interconnect (PCI) bus slots, and I/O and power connectors
  • Processor socket contains CPU, DRAM is RAM, PCIe is for graphics card
  • Motherboards in advanced computers allow more than one system board

Computer Startup

  • A bootstrap program is loaded at power-up or reboot
  • Typically stored in ROM or EPROM, generally known as firmware
  • Initializes all aspects of system
  • Loads operating system kernel in the RAM and starts execution

How a Modern Computer Works

  • Thread execution caches for data movement
  • CPUs request data to devices at (*N) speed
  • Devices have data interrupt (*M) speed
  • Von Neumann architecture

Direct Memory Access Structure

  • Used for high-speed I/O devices able to transmit information at close to memory speeds
  • Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention.
  • Only one interrupt is generated per block, rather than the one interrupt per byte

Multiprogramming (Batch system)

  • Single user cannot always keep CPU and I/O devices busy
  • With multiprogramming, the code and data are so that has one to execute so the CPU is always busy
  • A subset of total jobs in system is kept in memory
  • A job is selected and run via job scheduling
  • When job has to wait, OS switches to another job

Multitasking (Timesharing)

  • A logical extension of batch systems, the CPU switches jobs frequently so that users can interact with each job while it is running, creating interactive computing
  • Response time should be less than 1 second
  • Each user has at least one program executing in memory -> process
  • If several jobs are ready to run at the same time -> CPU scheduling
  • If processes don't fit in memory, switching moves them in and out to run
  • Virtual memory allows execution or processes not completely in memory

Memory Layout for Multiprogrammed System

  • The Operating Systems are at max layout, from processes 1-4, and all at zero

Process Management

  • A process is a program in execution
  • It is a unit of work in a the system, a program is a passive entity while the process is an active entity
  • Processes need resources, such as CPU, memory, I/O, and files, to accomplish the task
  • Initialization data is also needed by the processes
  • Process termination needs to have the reclaim of any reusable resources

Dual-mode Operation

  • Allows the OS to protect itself and other system components via user mode and kernel mode
  • Some instructions are given as privileged which only executable in kernel mode

How an Operating System Works

  • An operating system is comprised of several components

  • These components include command interpreter system, process management, file management, security management, network management, I/O device management, secondary storage management , and main memory management.

Process Management Activities

  • The OS needs to create and delete users and systems
  • It needs to suspend and resume processes
  • There is a need to provide mechanisms for process synchronization
  • Mechanisms are also needed for process communication
  • Has to provide mechanisms for deadlock handling

Process Management

  • Single-threaded process has one program counter specifying location of next instruction to execute
    • Process executes instructions sequentially, one at a time, until completed
  • Multi-threaded process has one program counter per thread
  • Typically the system has many processes, some user, some operating system running concurrently on one or more CPUs
  • Concurrency by multiplexing the CPUs among the processes / threads

Memory Management

  • Must execute a program
  • All or Part of the instructions must be in memory
  • Memory management determines what is in memory and when
  • Optimizing CPU utilization and computer response to users
  • Memory management activities:
    • Keeping track of which parts of memory are currently being used and by whom
    • Deciding which processes (or parts thereof) and data to move into and out of memory
    • Allocating and deallocating memory space as needed

Mass-Storage Management

  • Disks usually used to store data that does not fit in main memory or data that must be kept for a "long" time
  • Propper management is of central importance
  • Entire speed of computer operation hinges on disk subsystem and its algorithms
    • OS activities
      • Mounting and unmounting
      • Free-space management
      • Storage allocation
      • Disk scheduling
      • Partitioning
      • Protection

Caching

  • An important principle performed at many levels in a computer(in hardware, operating system, software)
  • Information in use copied from slower to faster storage temporarily
  • Faster storage(cache) is checked if information is there
    • If yes, information is stored directly from there, quickly
    • If not, data is copied into cache and used there
  • Cache smaller than storage being cached
    • Cache management is important design problem
    • Including cache size and replacement policy

Characteristics of Various Types of Storage

  • A table includes the Level 1 to 5, that includes Name, Typical size, Implementation Technology, Access time (ns), Bandwith (MB/sec), Managed by and Backed by

Movement between levels of storage hierarchy

  • Explicit or implicit from cache, registers, main memory, solid-state disk and Magnetic disk

Migration of data "A" from Disk to Register

  • Environments need to be careful of use that most recent data, no matter where it is stored in storage and hierarchy
    • Include magnetic disk, main memory, cache and hardware resistor
  • Multipleprocess enviroments must provide cache coherency such that most or all CPUs have the most recent value in cache
  • Distributed enviroment is even more complex
    • It is because several copies of data can exist in enviroment
  • Solutions can be covered in another chapter

I/O Subsystem

  • The OS hides pecularities of hardware devices from the user
  • The goal is device drivers for specific hardware devices
  • Memory management of I/O includes buffering, caching, spooling, and general device-driver interface.

File-system Management

  • OS provides uniform and logical views for information storage -Abstracts physical properties for to the logical storage unit - file -Each medium controlled by device (disk drives, tape drive) -Varying properties are access speed, capacity, data-transfer rate, and access method
  • File-System management -Files are usually organized into directories.
    • Access control on most systems to determine who can access what
    • OS activities -Creating and deleting files and directories -Primitives to manipulate files and directories -Mapping files onto secondary storage -Backup files onto stable(non-volatile) storage media

Protection and Security

  • Protection- and mechanism to control processes or users to resources defined by operating systems
  • Security- defend the system as the means for internal with external attacks
  • Systems first distiguish among users, to determine who can do what -User and group identifier as controls manage each process, file systems to change to effective ID and more rights
  • privilege escalation is used, with its all associated files and processes user identities

Virtualization

  • Allows OSes to run apps within other OSes, it is a vast and growing industry
  • Emulation is used when the source CPU type is different from target type
  • Virtualization OS natively compiled for CPU, running guest OSes also natively complied
    • VMM is known for providing services

Cloud Computing (cont.)

  • Use cases for laptops and desktops running multiple OSes, for exploration and compatibility
    • Apple laptop running MacOS X hosts a Windows as guest
  • Developing apps with multile systems without having other system processes
    • It is known for running natively, there is no host(VMware, citix)

Computing Environments - Virtualization

  • Comprised of processes, programming interface, kernel, and hardware (a)
  • Comprised of processes, programming interface, kernel, and hardware with virtual machine manager
  • Known as interconnected systems

Distributed System

  • A collection of separate, possibly heterogeneous, systems networked together
  • Network is communications path and TCP/IP is most common
    • Known as local area network
    • Wide area network
    • Metropolitan area networks (MAN)
    • Personal Area Network (PAN)
  • Network Operating System provides features within the system across networks
    • Communication scheme allows systems to exchange messages
    • Illusion of a single system, it is related

Computer System Environments

  • basic
  • mobile
  • client server
  • peer-peer
  • cloud computing
  • real time embedded

Basic approach

  • stand-alon general purpose machines
    • but blurred as most systems interconnect with others -web access and portials in general -used with all devices
    • use fire wall to protect the internets

Mobile Environments

  • Includes handled smartphones, tablets, etc
  • Has OS features
    • GPS,
    • Accelerometer, gyroscope
  • New types of apps are augmented reality
  • use IEEE 802.11 wireless, or cellular data networks for connectivity
  • leaders are Apple iOS and Google Android

Client-Server Computing

  • Replaced dumb terminals replaced by smart PC
  • Many systems now support servers responding to requests generated by clients
    • Compute-server systems provide interface clients to request services
    • File-server systems provide interface to store and retrieve files to clients

Peer to Peer Enviroment

  • Many nodes is considered peers
    • may each act as client, server, or both
    • node mush join pee network
    • registers its service with lookup network service
      • Examples include Napster and gnutella, VoIP such as Skype.

Cloud Computing (cont.)

  • delivers computing, storage, or even the apps in a service
  • Amazon as it is base and the logical extension of virtualizations
  • has thousands of servers with millions of virtual machine, it with available of an internet and the pay with is based by usages.

Cloud Computing (cont.)

  • Includes: Public cloud, Private cloud, Hybrid cloud, Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS)

Cloud Computing (cont.)

  • cloud computings with the enviroment of the traditonal OS, the VMMs, and also the managenment tools
  • the traffic across the many applications
  • inter connections access with and the security like firewalls
    • Load Balancers

Real-Time Embedded Systems

  • Real-time embedded systems are the most prevalent form of computers
  • Vary in considerable and specialized purpose or limited version of the OS for the real time OS
    • Use special expansion
  • Some of the special purpose comouts enviroment is many special operating system that that is run in them selves in the environment to run programs -The operating system constraint time constait has well defined

Kernel Data Structures

  • Similar to standard programming data structures
    • Singly linked list
    • Doubly linked list
    • Circular linked list

Kernel Data Structures

  • Binary search tree: a data structure with left <= right. Search performance is O(n)
  • Balanced binary search tree: search performance is O(log n)

More Kernel Data Structures

  • Hash function: Can create a hash map when passed a key value
  • Bitmap: string of n binary digits representing the status of n items

Studying That Suits You

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

Quiz Team

More Like This

Use Quizgecko on...
Browser
Browser