Podcast
Questions and Answers
Which component of a computer system directly controls and coordinates the use of hardware among various applications and users?
Which component of a computer system directly controls and coordinates the use of hardware among various applications and users?
- Operating system (correct)
- Application programs
- User
- Hardware
Which of the following best describes the role of an operating system?
Which of the following best describes the role of an operating system?
- A tool for writing documents and spreadsheets
- A resource allocator and control program (correct)
- A type of computer hardware
- A high-level programming language
Why is the concept of resource utilization not the primary concern for users interacting with operating systems?
Why is the concept of resource utilization not the primary concern for users interacting with operating systems?
- Because they are primarily concerned with the underlying efficiency of the systems.
- Because hardware is becoming cheaper and more efficient.
- Because their main focus is on the convenience and ease of use of the system. (correct)
- Because the operating system automatically optimizes resource utilization.
Which of the following represents a modern trend in operating systems?
Which of the following represents a modern trend in operating systems?
What is the key function of the 'kernel' in an operating system?
What is the key function of the 'kernel' in an operating system?
What is the role of 'middleware' in modern operating systems, particularly in mobile computing?
What is the role of 'middleware' in modern operating systems, particularly in mobile computing?
How do device controllers communicate with the CPU?
How do device controllers communicate with the CPU?
Which of the following accurately describes an interrupt?
Which of the following accurately describes an interrupt?
What is the primary function of an interrupt vector?
What is the primary function of an interrupt vector?
What distinguishes a 'trap' (or exception) from other types of interrupts?
What distinguishes a 'trap' (or exception) from other types of interrupts?
Why is main memory considered 'volatile'?
Why is main memory considered 'volatile'?
What is the role of a disk controller?
What is the role of a disk controller?
How does caching improve system performance?
How does caching improve system performance?
What is the primary role of a device driver?
What is the primary role of a device driver?
What is a key advantage of using multiprocessor systems?
What is a key advantage of using multiprocessor systems?
In asymmetric multiprocessing, how are tasks allocated among the processors?
In asymmetric multiprocessing, how are tasks allocated among the processors?
Which of the following best describes symmetric multiprocessing?
Which of the following best describes symmetric multiprocessing?
What is a primary characteristic of clustered systems?
What is a primary characteristic of clustered systems?
What is the function of a distributed lock manager (DLM) in clustered systems?
What is the function of a distributed lock manager (DLM) in clustered systems?
What role does firmware play in the computer startup process?
What role does firmware play in the computer startup process?
What is the purpose of Direct Memory Access (DMA)?
What is the purpose of Direct Memory Access (DMA)?
What is the main goal of multiprogramming?
What is the main goal of multiprogramming?
How does multitasking enhance user experience?
How does multitasking enhance user experience?
What is meant by 'swapping' in an operating system?
What is meant by 'swapping' in an operating system?
What is the concept of a 'process' in an operating system?
What is the concept of a 'process' in an operating system?
What is the primary benefit of dual-mode operation in an operating system?
What is the primary benefit of dual-mode operation in an operating system?
What is the role of 'process synchronization' in process management?
What is the role of 'process synchronization' in process management?
In the context of memory management, what activity does the operating system perform?
In the context of memory management, what activity does the operating system perform?
What is the main purpose of mass-storage management?
What is the main purpose of mass-storage management?
What best describes 'cache coherency' in a multiprocessor environment?
What best describes 'cache coherency' in a multiprocessor environment?
What does the operating system's I/O subsystem primarily manage?
What does the operating system's I/O subsystem primarily manage?
What is a file in the context of file-system management?
What is a file in the context of file-system management?
In the context of operating systems, what does 'protection' refer to?
In the context of operating systems, what does 'protection' refer to?
How do operating systems typically distinguish among users?
How do operating systems typically distinguish among users?
When does 'emulation' come into play in Operating Systems?
When does 'emulation' come into play in Operating Systems?
According to the use cases mentioned, when is virtualization typically used?
According to the use cases mentioned, when is virtualization typically used?
What is a defining characteristic of a Network Operating System in a distributed system?
What is a defining characteristic of a Network Operating System in a distributed system?
What feature is commonly included in mobile computing environments?
What feature is commonly included in mobile computing environments?
What type of system provides an interface for clients to store and retrieve files?
What type of system provides an interface for clients to store and retrieve files?
How do nodes discover services made available on a Peer-to-Peer network?
How do nodes discover services made available on a Peer-to-Peer network?
What is the meaning of Software as a Service (SaaS)?
What is the meaning of Software as a Service (SaaS)?
For cloud computing environments composed of traditional OSes, what else is included?
For cloud computing environments composed of traditional OSes, what else is included?
For embedded systems using a real-time OS, what must be met?
For embedded systems using a real-time OS, what must be met?
Flashcards
Operating System
Operating System
A program that acts as an intermediary between a user of a computer and the computer hardware.
Operating System main function
Operating System main function
Controls and coordinates the use of hardware among various applications and users.
Operating System goal: Execution
Operating System goal: Execution
Enables user programs to run and solve user problems more easily.
Operating System responsibility in shared systems
Operating System responsibility in shared systems
Signup and view all the flashcards
Operating system functions
Operating system functions
Signup and view all the flashcards
Kernel
Kernel
Signup and view all the flashcards
System Program
System Program
Signup and view all the flashcards
Application Program
Application Program
Signup and view all the flashcards
Bus in Computer Systems
Bus in Computer Systems
Signup and view all the flashcards
Memory in Computer Systems
Memory in Computer Systems
Signup and view all the flashcards
CPU Data Movement
CPU Data Movement
Signup and view all the flashcards
Interrupt
Interrupt
Signup and view all the flashcards
Interrupt Vector
Interrupt Vector
Signup and view all the flashcards
Main Memory
Main Memory
Signup and view all the flashcards
Secondary Storage
Secondary Storage
Signup and view all the flashcards
Hard Disk Drive (HDD)
Hard Disk Drive (HDD)
Signup and view all the flashcards
Non-Volatile Memory (NVM)
Non-Volatile Memory (NVM)
Signup and view all the flashcards
Memory as Cache
Memory as Cache
Signup and view all the flashcards
Device Driver
Device Driver
Signup and view all the flashcards
Multiprocessor Systems
Multiprocessor Systems
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
High-Availability
High-Availability
Signup and view all the flashcards
Bootstrap Program
Bootstrap Program
Signup and view all the flashcards
Firmware
Firmware
Signup and view all the flashcards
Interrupt Vector
Interrupt Vector
Signup and view all the flashcards
Multiprogramming
Multiprogramming
Signup and view all the flashcards
Multitasking
Multitasking
Signup and view all the flashcards
Process
Process
Signup and view all the flashcards
Resources needed by processes
Resources needed by processes
Signup and view all the flashcards
Dual-Mode Operation
Dual-Mode Operation
Signup and view all the flashcards
Kernel-Mode-Only
Kernel-Mode-Only
Signup and view all the flashcards
Caching
Caching
Signup and view all the flashcards
Disk Protection
Disk Protection
Signup and view all the flashcards
Network
Network
Signup and view all the flashcards
Portals
Portals
Signup and view all the flashcards
Mobile OS Connectivity
Mobile OS Connectivity
Signup and view all the flashcards
Compute-Server System
Compute-Server System
Signup and view all the flashcards
File-Server System
File-Server System
Signup and view all the flashcards
Cloud Computing
Cloud Computing
Signup and view all the flashcards
Study Notes
- Maria Fazio is the professor for Operating Systems at the Università degli Studi di Messina.
- Operating Systems is a course at CdL in Informatica.
Computer System
- Standard components including a monitor, external speaker, keyboard and mouse.
- Internal components include RAM chips, expansion slots, video card, network card, A/V card, internal speaker, computer tower, power supply, cooling fan, floppy drive, CD/DVD-ROM drive, CD-RW drive, hard drive, battery, microprocessor, cooling blades, clock and motherboard.
Von Neumann Architecture
- Memory, Input/Output Interfaces and CPU are the primary blocks.
- The CPU contains the registers and ALU.
- Memory has a mass memory component.
- Interfaces connect to Video/keyboard.
- BUS carries data, addresses and control signals.
Computer System Structure
- Computer systems are composed of hardware, OSs, application programs and users.
- Users include People, machines, other computers who need computing resources.
- Application programs define how the system resources solve user problems.
- Word processors, compilers, web browsers, database systems, and video games are examples of application programs.
- The OS controls and coordinates the use of hardware among applications and users.
- Hardware provides basic computing resources like the CPU, memory, and I/O devices.
Operating System Goals
- OSs act as intermediaries between computer users the computer hardware.
- Execute user programs and make problem-solving easier.
- They aim to make computer systems convenient and use hardware efficiently.
What Operating Systems Do
- Shared computers, like mainframes or minicomputers, must keep all users happy by efficiently managing hardware use and program execution as a resource allocator and control program.
- Dedicated systems, like workstations, use dedicated resources but share from servers.
- Mobile devices are resource-poor and are optimized for usability and battery life with mobile user interfaces such as touch screens and voice recognition.
- Embedded computers in devices and automobiles have little to no user interface, running primarily without user intervention.
Defining Operating Systems
- An OS term covers many roles.
- They exist in various devices such as toasters, ships, spacecraft, game machines, TVs and industrial control systems due to myriad designs and uses.
- OSs emerged when fixed-use military computers became more general and needed resource management and program control.
Different Operating Systems
- Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh computers.
- Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution.
- Microsoft Windows is a series of graphical interface operating systems developed, marketed, and sold by Microsoft.
- iOS (previously iPhone OS) is a mobile OS developed and distributed by Apple Inc,.
- Android is a Linux-based operating system designed primarily for touchscreen mobile devices.
- BSD/OS was known for its reliability in server roles.
Evolution of Operating Systems
- Operating Systems have evolved from Serial Processing to Batch Processing, Multiprogramming, Time Sharing, Parallel Systems, Network-based and finally to Distributed Systems.
Operating System Definition
- An OS is the set of basic programs and utilities that enable a computer to run.
- The kernel is the program that runs at all times on the computer
- Everything else is either a system program or an application program.
- System programs ship with the OS but are not part of the kernel.
- Application programs are programs not associated with the OS.
- Today's OS often include middleware with software frameworks for databases, multimedia, and graphics.
Computer System Organization
- Computer system operation comprises of CPUs, device controllers and memory connected by a common bus
- Multiple CPUs and devices concurrently compete for memory cycles
Computer-System Operation
- I/O devices and the CPU can execute concurrently managed by device drivers.
- Each device controller manages a specific device type.
- Each controller has a local buffer.
- The CPU moves data to/from main memory to/from the local buffers.
- The I/O operates from the buffer of controller.
- The device controller informs the CPU of completed operations through an interrupt.
Common Functions of Interrupts
- Interrupts transfer control to an interrupt service routine through the interrupt vector, which 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 caused by an error or a user request.
- An OS is interrupt-driven.
Storage Structure
- Main memory is the only large storage the CPU can access directly using random access and is typically volatile.
- It consists of random-access memory in the form of Dynamic Random-access Memory (DRAM).
- Secondary storage supplements main memory with large, nonvolatile storage capacity.
Storage Structure (Cont.)
- Hard Disk Drives (HDDs) have rigid metal or glass platters covered with magnetic recording material.
- Disk surfaces are logically divided into tracks, which are further subdivided into sectors with interactions is managed by disk controller.
- Non-Volatile Memory (NVM) is faster and nonvolatile.
- Modern Non-Volatile Memory is becoming more popular as capacity and performance increases with price drops.
Storage Definitions and Notation Review
- The bit is the basic unit of computer storage.
- A bit holds either 0 or 1.
- Storage is measured in bytes as 8 bits; this is the smallest convenient chunk of storage on most computers.
- Word is a less common term defined as a given computer architecture's native unit of data made up of one or more bytes.
- A computer executes instructions at its native word size rather than by the byte.
- A computer with 64-bit registers typically has 64-bit (8-byte) words.
- Storage is measured in bytes as the following:
- A kilobyte (KB) is 1,024 bytes.
- A megabyte (MB) is 1,024^2 bytes.
- A gigabyte (GB) is 1,024^3 bytes.
- A terabyte (TB) is 1,024^4 bytes.
- A petabyte (PB) is 1,024^5 bytes.
Storage Hierarchy
- Storage systems are organized in a hierarchy based on speed, cost, and volatility.
- Caching copies information into a faster storage system, where main memory acts as a cache for secondary storage.
- Each device controller has a device driver to manage I/O, which provides a uniform interface between the controller and kernel.
Computer-System Architecture
- Most systems use a single general-purpose processor but may have special-purpose processors.
- Parallel or tightly-coupled systems are growing in use.
- Advantages of multiprocessor systems are increased throughput, economy of scale, and increased reliability through graceful degradation or fault tolerance.
- Asymmetric Multiprocessing assigns each processor a specific task.
- Symmetric Multiprocessing assigns each processor performs all tasks.
Clustered Systems
- Clustered systems are like multiprocessor systems but involve multiple systems working together.
- They share storage via a storage-area network (SAN).
- Clustered systems provide high-availability that can survive failures.
- Asymmetric clustering has one machine in hot-standby mode.
- Symmetric clustering has multiple nodes running applications and monitoring each other.
- Some clusters are for high-performance computing (HPC) designed with special applications that use parallelization.
- Some use a distributed lock manager (DLM) to avoid conflicting operations.
PC Motherboard
- Provides all components of a computer
Computer Startup
- A bootstrap program initializes the system and loads the operating system kernel, beginning execution,
- The bootstrap program is loaded at power-up or reboot and is typically stored in ROM or EPROM, as firmware.
How a Modern Computer Works
- Through a thread of execution via instruction execution cycle
- Movement between the CPU, cache memory, device and memory
- Following A von Neumann architecture
Direct Memory Access Structure
- It is essential for high-speed I/O devices able to transmit data close to memory speeds.
- Device controllers transfer blocks of data from buffer storage directly to main memory without CPU intervention.
- Only one interrupt is generated per data block, not per byte.
Multiprogramming (Batch system)
- Single users cannot always keep the CPU and I/O devices busy.
- Multiprogramming organizes code and data so the CPU always has one to execute.
- A subset of total jobs in system is kept in memory.
- One job is selected and run via job scheduling.
- When a job waits (for I/O, for example), the OS switches to another job.
Multitasking (Timesharing)
- Multitasking is a logical extension of batch systems where the CPU switches jobs so frequently that users can interact with each job in real time, enabling interactive computing.
- Response time should be < 1 second.
- Each user has at least one program executing in memory that represents a process.
- If several jobs are ready to run simultaneously CPU scheduling takes place.
- Swapping moves partially executed tasks in or out of memory if processes don't fit in memory.
- Virtual memory allows the execution of processes that are not fully stored in memory.
Process Management
- Is about running a program
- A process is a unit of work within the system.
- Program is a passive entity; process is an active entity.
- Processes need resources like CPU, memory, I/O and files, and initialization data to accomplish its task.
- Process termination requires the reclaim of reusable resources.
Dual-mode Operation
- Dual-mode operation allows the OS to protect itself and other system components by differentiating between user mode and kernel mode.
- Instructions designated as privileged are only executable in kernel mode.
Process Management Activities
- Creating and deleting both user and system processes.
- Suspending and resuming processes.
- Providing mechanisms for process synchronization and communication.
- Providing mechanisms for deadlock handling.
Process Management
- Single-threaded processes have one program counter specify the location of the next instruction.
- It executes instructions sequentially until completion.
- Multi-threaded processes have one program counter per thread.
- A system typically has many user and OS processes running concurrently on one or more CPUs.
- Concurrency uses the multiplexing of processes or threads.
Memory Management
- Executes a program with all or part of the the instructions in memory
- Instructions are executed using the data in memory
- It Optimizes CPU utilization and computer response to users
- Activities include the following:
- Keeping track of which parts of memory are actively used and by whom.
- Deciding which processes and data will be moved into or out of memory.
- The OS allocates and deallocates memory space as needed.
Mass-Storage Management
- Disks are mainly used to store data
- Proper management is of central importance
- The whole speed operations hinges on the disk subsystem and it's algorithms.
- OS activities include the following:
- Mounting and unmounting
- Free-space management
- Storage allocation
- Disk scheduling
- Partitioning
- Protection
Caching
- The most important principle, performed at many levels in the computer.
- Information in use copied from slower to faster storage, temporarily.
- Faster storage (cache) is checked first to determine the presence of information, and used directly if present.
- Cache is smaller than storage being cached
- Includes Cache management, important design problem, Cache size and replacement policy
Characteristics of Various Types of Storage
- Registers are the fastest and smallest storage, followed by cache, main memory, solid-state disk, and magnetic disk, which is slowest and largest.
- Movement between the different levels of storage hierarchy can be explicit or implicit.
I/O Subsystem
- A primary purpose of the OS is to hide the complexities of hardware devices.
- Memory management of I/O includes buffering, caching, and spooling.
- It is responsible for providing the general device-driver interface and drivers for specific hardware.
File-system Management
- The OS provides a uniform and logical view of information storage.
- It abstracts physical properties to logical storage unit as a file
- Each medium is controlled by device (i.e., disk drive, tape drive)
- Varying properties include access speed, capacity, data-transfer rate, access method (sequential or random)
- File-System management includes the following: - Files usually organized into directories - Access control on most systems -OS activities include creating/deleting files/directories; primitives to manipulate files/directories; mapping files onto secondary storage; backing up files onto stable (non-volatile) storage media.
Protection and Security
- Protection includes access to controlling processes, and resources defined by the OS.
- Security is the defense of the system against internal and external attacks like denial-of-service, worms, viruses, and identity theft.
- User identities (user IDs, security IDs) include names and associated numbers, one per user.
- User IDs are associated with all files and processes.
- Group identifiers (group IDs) controlling a set of users are associated with each process and file.
- Privilege escalation is the ability for users to change an effective ID with more rights.
Virtualization
- Operating systems run via applications run within other OSes.
- Emulation is used when the CPU is different (i.e. PowerPC to Intel x86) and is generally the slowest.
- Virtualization allows the OS to be compiled natively for the CPU and running guest OSes.
- In virtualization, VMM (virtual machine Manager) provides virtualization services.
Virtualization (cont.)
- Virtualization is used to explore multiple OSes for compatibility or run Windows as a guest on macOS.
- Used in the software development process.
- Quality assurance is used for testing applications without having multiple systems. VMMs can run natively with not general-purpose hosts.
- VMMs include VMware ESX and Citrix XenServer
Distributed Systems
- A collection of separate, networked systems
- Use a Network as communications path, TCP/IP most common
- Networks include the following:
- Local Area Network (LAN)
- Wide Area Network (WAN)
- Metropolitan Area Network (MAN)
- Personal Area Network (PAN)
- Network Operating Systems provide features between systems across network
- Communication schemes enable systems to exchange messages
Computing Environments
- Computing environments include basic, mobile, client server, peer-to-peer, cloud computing, and real-time embedded.
Basic Approach
- Utilizes stand-alone general-purpose machines.
- Systems have interconnected with internet Portals
- Provides web access to internal systems.
- Interconnected network, including home systems interconnected wireless networks
- Firewalls are used to protect home computers.
Mobile
- Includes smartphones, tablets, extra OS features like GPS, gyroscope, and augmented reality
- Wireless networks connectivity - IEEE 802.11 wireless or cellular data networks
- Apple iOS and Google Android are among the leaders.
Client-Server Computing
- Dumb terminals supplanted by smart PCs now as client generated servers.
- Compute-server system provides an interface to client to request services (i.e. database)
- File-server system provides interface for clients to store and retrieve files
Peer to Peer
- It does not distinguish clients and servers
- Every node acts as a Client, server, or both
- The node must be able to join
- Includes Napster and Skype
Cloud Computing
- Delivers computing, storage, and apps as a service across a network based on virtualization.
- Amazon EC2 has thousands of servers, VMs, petabytes of storage to share.
- Public cloud is available via the Internet for pay.
- The hybrid cloud includes both public and private cloud components.
- SaaS provides applications like word processing over the Internet
- PaaS supplies a software stack for application via the Internet
- IaaS provides servers or storage over the Internet
Cloud Computing (cont.)
- Cloud computing environments are composed of traditional OSes, VMMs, and other cloud management tools with internet connectivity require safety
- Load balancers spread traffic across multiple applications.
Real-Time Embedded Systems
- Real-time embedded systems are special purpose, with a limited OS, real-time OS.
- May perform tasks without an OS
- They have constraints with processing be done within them and operation only if constraints met.
Kernel Data Structures
- Similar standard programming data structures like singly linked lists, doubly linked lists, and circular linked lists.
- Includes Binary search trees and hash functions
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.