Podcast
Questions and Answers
Which of the following assertions regarding the evolution of operating systems is most accurate in the context of distributed computing?
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?
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?
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?
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?
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?
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?
Which of the following scenarios would MOST necessitate the use of asymmetric multiprocessing over symmetric multiprocessing in a modern operating system?
Which of the following scenarios would MOST necessitate the use of asymmetric multiprocessing over symmetric multiprocessing in a modern operating system?
What is the most critical concern when implementing a distributed lock manager (DLM) in a clustered system designed for high-performance computing (HPC)?
What is the most critical concern when implementing a distributed lock manager (DLM) in a clustered system designed for high-performance computing (HPC)?
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?
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?
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?
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?
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?
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?
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?
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?
Consider an operating system that implements a capability-based security model. Which statement accurately describes a critical vulnerability that could compromise system security?
Consider an operating system that implements a capability-based security model. Which statement accurately describes a critical vulnerability that could compromise system security?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
For a network operating system with many web server instances, which approach balances security and performance when encrypting traffic?
For a network operating system with many web server instances, which approach balances security and performance when encrypting traffic?
Flashcards
Operating System
Operating System
Controls and coordinates the use of hardware among various applications and users.
Kernel
Kernel
The core of an operating system, managing the system's resources.
Bus
Bus
A common communication pathway connecting components in a computer system.
Interrupt
Interrupt
Signup and view all the flashcards
Interrupt
Interrupt
Signup and view all the flashcards
Main Memory
Main Memory
Signup and view all the flashcards
Nonvolatile Memory
Nonvolatile Memory
Signup and view all the flashcards
Cache
Cache
Signup and view all the flashcards
Multiprocessor System
Multiprocessor System
Signup and view all the flashcards
Parallel System
Parallel System
Signup and view all the flashcards
Asymmetric Multiprocessing
Asymmetric Multiprocessing
Signup and view all the flashcards
Symmetric Multiprocessing
Symmetric Multiprocessing
Signup and view all the flashcards
Clustered System
Clustered System
Signup and view all the flashcards
Bootstrap Program
Bootstrap Program
Signup and view all the flashcards
Multiprogramming
Multiprogramming
Signup and view all the flashcards
Memory Resident Jobs
Memory Resident Jobs
Signup and view all the flashcards
Process
Process
Signup and view all the flashcards
Passive Entity
Passive Entity
Signup and view all the flashcards
Active Entity
Active Entity
Signup and view all the flashcards
Dual-Mode Operation
Dual-Mode Operation
Signup and view all the flashcards
Privilege Escalation
Privilege Escalation
Signup and view all the flashcards
Caching
Caching
Signup and view all the flashcards
Virtualization
Virtualization
Signup and view all the flashcards
Network
Network
Signup and view all the flashcards
Cloud Computing
Cloud Computing
Signup and view all the flashcards
Network Operating System
Network Operating System
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
- OS activities
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.