Podcast
Questions and Answers
Which of the following is NOT a primary goal of an operating system?
Which of the following is NOT a primary goal of an operating system?
- Using computer hardware in an efficient manner.
- Making the computer system convenient to use.
- Executing user programs effectively.
- Maximizing hardware cost. (correct)
In a computer system, what is the role of application programs?
In a computer system, what is the role of application programs?
- To control and coordinate the use of hardware among various users.
- To define how system resources are used to solve user problems. (correct)
- To manage the hardware resources directly.
- To provide basic computing resources.
Which of the following components is NOT typically considered part of the basic structure of a computer system?
Which of the following components is NOT typically considered part of the basic structure of a computer system?
- Application programs.
- Users
- Operating system.
- External network. (correct)
How do dedicated systems differ from shared computer systems in terms of resource management?
How do dedicated systems differ from shared computer systems in terms of resource management?
Which of the following best describes middleware in the context of modern operating systems?
Which of the following best describes middleware in the context of modern operating systems?
What is the primary role of the 'bus' in computer system organization?
What is the primary role of the 'bus' in computer system organization?
Which statement accurately describes the function of a device driver?
Which statement accurately describes the function of a device driver?
What happens after a device controller completes its operation?
What happens after a device controller completes its operation?
Which of the following statements best describes the function of an interrupt vector?
Which of the following statements best describes the 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'?
In the context of storage structure, what is the role of the disk controller?
In the context of storage structure, what is the role of the disk controller?
How does a computer execute operations in terms of byte size?
How does a computer execute operations in terms of byte size?
In the storage hierarchy, what is the primary reason for using caching?
In the storage hierarchy, what is the primary reason for using caching?
Which of the following is managed by a device driver?
Which of the following is managed by a device driver?
What is a key advantage of multiprocessor systems concerning reliability?
What is a key advantage of multiprocessor systems concerning reliability?
In asymmetric multiprocessing, how are tasks typically handled?
In asymmetric multiprocessing, how are tasks typically handled?
What is a critical characteristic of clustered systems that provides high availability?
What is a critical characteristic of clustered systems that provides high availability?
What role does parallelization play in high-performance computing (HPC) clusters?
What role does parallelization play in high-performance computing (HPC) clusters?
Which of the following is the most accurate description of the bootstrap program's role in computer startup?
Which of the following is the most accurate description of the bootstrap program's role in computer startup?
How does Direct Memory Access (DMA) improve system operation?
How does Direct Memory Access (DMA) improve system operation?
What is the primary purpose of 'job scheduling' in a multiprogramming environment?
What is the primary purpose of 'job scheduling' in a multiprogramming environment?
In the context of multitasking, what does 'swapping' refer to?
In the context of multitasking, what does 'swapping' refer to?
What distinguishes a 'process' from a 'program'?
What distinguishes a 'process' from a 'program'?
Why is Dual-mode operation important in modern operating systems?
Why is Dual-mode operation important in modern operating systems?
Which of the following functions is NOT a typical responsibility of the operating system in process management?
Which of the following functions is NOT a typical responsibility of the operating system in process management?
What is the role of the program counter in a single-threaded process?
What is the role of the program counter in a single-threaded process?
Which of the following activities is NOT part of memory management?
Which of the following activities is NOT part of memory management?
Why is proper mass-storage management essential for computer operation?
Why is proper mass-storage management essential for computer operation?
What is the purpose of file-system management in an operating system?
What is the purpose of file-system management in an operating system?
What is the primary function of 'protection' mechanisms in an operating system?
What is the primary function of 'protection' mechanisms in an operating system?
Which of the following describes 'emulation' in the context of operating systems?
Which of the following describes 'emulation' in the context of operating systems?
What defines a Real-Time Operating System?
What defines a Real-Time Operating System?
What is the search performance of a Binary Search Tree?
What is the search performance of a Binary Search Tree?
What is the purpose of a Bitmap in operating systems?
What is the purpose of a Bitmap in operating systems?
Flashcards
Operating System
Operating System
Controls and coordinates the use of hardware among various applications and users.
Users
Users
People, machines, or other computers needing computing resources.
Operating System
Operating System
A program that acts as an intermediary between a user and hardware.
Operating System
Operating System
Signup and view all the flashcards
Mobile devices
Mobile devices
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
Middleware
Middleware
Signup and view all the flashcards
computer-system operation
computer-system operation
Signup and view all the flashcards
Interrupt
Interrupt
Signup and view all the flashcards
Trap/exception
Trap/exception
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 Drives (HDD)
Hard Disk Drives (HDD)
Signup and view all the flashcards
tracks
tracks
Signup and view all the flashcards
The bit
The bit
Signup and view all the flashcards
byte
byte
Signup and view all the flashcards
Storage Hierarchy
Storage Hierarchy
Signup and view all the flashcards
Caching
Caching
Signup and view all the flashcards
Device Driver
Device Driver
Signup and view all the flashcards
Multiprocessors/Asymmetric Multiprocessing
Multiprocessors/Asymmetric Multiprocessing
Signup and view all the flashcards
Clustered Systems
Clustered Systems
Signup and view all the flashcards
Bootstrap program
Bootstrap program
Signup and view all the flashcards
Direct Memory Access Structure
Direct Memory Access Structure
Signup and view all the flashcards
Multiprogramming
Multiprogramming
Signup and view all the flashcards
Multitasking (Timesharing)
Multitasking (Timesharing)
Signup and view all the flashcards
Process
Process
Signup and view all the flashcards
Dual-mode Operation
Dual-mode Operation
Signup and view all the flashcards
Mass-Storage Management
Mass-Storage Management
Signup and view all the flashcards
Caching
Caching
Signup and view all the flashcards
Migration of data
Migration of data
Signup and view all the flashcards
I/O Subsystem
I/O Subsystem
Signup and view all the flashcards
File-System Management
File-System Management
Signup and view all the flashcards
Protection
Protection
Signup and view all the flashcards
Security
Security
Signup and view all the flashcards
Virtualization
Virtualization
Signup and view all the flashcards
Network
Network
Signup and view all the flashcards
Portals
Portals
Signup and view all the flashcards
Mobile Networks
Mobile Networks
Signup and view all the flashcards
Cloud Computing
Cloud Computing
Signup and view all the flashcards
Study Notes
- Operating systems is covered at the University of Messina as part of the CdL in Informatica, taught by Professor Maria Fazio.
Computer System Components
- A computer system includes components such as a monitor, external speaker, keyboard, mouse, and a computer tower.
- Internal components of a computer tower are power supply, cooling fan, floppy drive, CD/DVD-ROM drive, CD-RW drive, hard drive, RAM chips, expansion slots, video card, network card, A/V card, internal speaker, battery, microprocessor, cooling blades, clock, and motherboard.
Von Neumann Architecture
- The Von Neumann architecture includes a CPU, memory, and input/output interfaces.
- The main components are the PC, registers, ALU, CPU, Memory, I/O Interfaces, Memory, Mass Memory and Video/Keyboard (terminal).
- The BUS carries data, addresses, and control signals
Computer System Structure
- A computer system comprises users, application programs, an operating system, and hardware.
- Users include people, machines, or other computers that require computing resources.
- Application programs define how system resources are used to solve computing problems. Examples include word processors, compilers, and video games.
- The operating system controls and coordinates hardware use among various applications and users.
- Hardware provides basic computing resources such as the CPU, memory, and I/O devices.
Operating Systems
- The operating system acts as an intermediary between a user and the computer hardware.
- Primary goals are to execute user programs, solve user problems easily, make the computer convenient to use, and utilize the computer hardware efficiently.
- Depending on the user's perspective, the goals of an OS can vary. Users want convenience, ease of use, and good performance without concern for resource utilization.
- Shared computers like mainframes or minicomputers must keep all users happy by functioning as a resource allocator and control program.
- Dedicated systems such as workstations use dedicated resources, but frequently use shared resources from servers.
- Mobile devices like smartphones and tablets are resource-poor and are optimized for usability and battery life.
- Some computers such as embedded systems, have little or no user interface and run primarily without user intervention.
- The term "OS" covers various roles and designs and is present in devices from toasters to spacecraft.
- Operating systems originated when fixed-use computers transitioned to general-purpose, military use, requiring resource management and program control.
- Mainstream operating systems are Mac OS, Linux, Microsoft Windows, IOS and Android
- Operating systems evolved chronologically as follows: Serial Processing, Batch Processing, Multiprogramming, Time Sharing, Parallel System and Distributed System.
Operating System Definition
- An operating system is a set of basic programs and utilities that make a computer run.
- The kernel is the core program running at all times.
- Other software is either a system program, like those that ship with the OS but aren't part of the kernel, or an application program.
- Modern operating systems often include middleware, software frameworks that provide additional services to developers, such as databases, multimedia, and graphics.
Computer System Architecture
- The computer system operation includes disk, CPU, usb controller, memory
- A computer-system operation includes one or more CPUs and device controllers connecting through a common bus to access shared memory.
- Memory stores both data and instructions.
- CPUs and devices can execute concurrently, competing for memory cycles.
- Each I/O device and the CPU can execute concurrently.
- Each device controller manages a specific device type and has a local buffer.
- An operating system device driver manages each device.
- The CPU moves data between main memory and local buffers.
- I/O occurs from the device to the controller's local buffer.
- The device controller informs the CPU of operation completion by causing an interrupt
- Interrupts transfer control to an interrupt service routine via the interrupt vector, which contains the addresses of service routines.
- The interrupt architecture saves the address of the interrupted instruction.
- A trap or exception is a software-generated interrupt caused by an error or user request
- The operating system is 'interrupt driven'.
Storage Structures
- Main memory is a storage medium that the CPU can access directly, featuring random access and volatility
- It is typically in the form of Dynamic Radom-Access Memory (DRAM)
- Secondary storage provides large nonvolatile storage capacity and acts as an extension of main memory
Storage Structure (Cont'd)
- Hard Disk Drives (HDD) are rigid metal or glass platters covered with magnetic recording material
- Disk surfaces are logically divided into tracks, which are subdivided into sectors.
- The disk controller manages the logical interaction between the device and the computer.
- Non-Volatile memory (NVM) devices are faster than hard disks and nonvolatile. They are becoming more popular in place of HDDs as capacity and performance increase, and prices drop.
Storage Definitions and Notations
- The bit is the smallest unit of computer storage, representing O or 1.
- A byte is 8 bits, considered the smallest convenient chunk of storage
- A word, a less common term, is a computer architecture's native unit of data which are made up of one or more bytes
- Computer capacity in bytes is measured as follows:
- kilobyte(KB) is 1,024 bytes
- megabyte(MB) is 1,024² bytes
- gigabyte(GB) is 1,024³ bytes
- terabyte(TB) is 1,024⁴ bytes
- petabyte (PB) is 1,024⁵ bytes
Storage Hierarchy
- Storage systems are organized in a hierarchy based on speed, cost, and volatility.
- Caching involves copying information into a faster storage system; main memory serves as a cache for secondary storage.
- Each device controller uses a device driver to manage I/O, providing a uniform interface between the controller and the kernel
- From fastest to slowest, the order of the storage device hierarchy is: registers, cache, main memory, nonvolatile memory, hard-disk drives, optical disk, and magnetic tapes.
Computer-System Architecture
- Most systems use a single general-purpose processor, with some having special-purpose processors.
- Multiprocessor systems, also known as parallel systems or tightly-coupled systems, are increasing in use.
- Advantages of multiprocessors include increased throughput, economy of scale, and increased reliability.
- Types of multiprocessing include:
- Asymmetric Multiprocessing where each processor has a defined task
- Symmetric Multiprocessing where each processor performs all tasks
Dual-Core Design
- Dual-core designs involved multi-chip and multicore systems
- These Systems contain all chips and Chassis, which contains multiple separate systems
Computer System Architectures
- Computer architectures include symmetric multiprocessing, dual-core designs, and non-uniform memory access (NUMA).
- Clustered systems are like multiprocessor systems, where multiple systems work together, sharing storage via a storage-area network (SAN).
- Clustered systems provide a high-availability service that survives failures.
- In a cluster, 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), where applications use parallelization.
- Some clusters use a distributed lock manager (DLM) to avoid conflicting operations.
- A basic PC motherboard includes DRAM slots, a processor socket, various I/O and power connectors and PCI bus slots
Computer Startup
- A bootstrap program is loaded at power-up or reboot and is stored in ROM or EPROM as firmware.
- It initializes all aspects of the system and loads the operating system kernel into RAM and starts execution.
How a Modern Computer Works
- A thread of execution in the CPU retrieves instructions and data from memory (via cache), processes, and then returns the processed data.
- Devices communicate with the CPU via interrupts and DMA.
- Direct Memory Access (DMA) is used for high-speed I/O devices, which transmit information at memory speeds.
- With DMA, the device controller transfers blocks of data from a buffer directly to main memory without CPU intervention, generating only one interrupt per block.
Multiprogramming
- Multiprogramming organizes jobs so the CPU always has one to execute.
- A subset of total jobs is kept in memory, with one selected and run via job scheduling.
- If a job waits for I/O, the OS switches to another job.
Multitasking
- Multitasking systems switch jobs so frequently that users can interact with each job while it is running, creating interactive computing.
- A goal of multitasking is to have a response time of less than 1 second.
- Each user has at least one program executing in memory, which is considered a process.
- If multiple jobs are ready to run, the OS performs scheduling.
- If processes do not fit in memory, swapping moves them in and out to run.
- Virtual memory allows processes to execute without being entirely in memory
Process Management
- A process is a program in execution. It is a unit of work.
- A program is a passive entity. A process is an active entity.
- Processes need resources such as CPU, memory, I/O, and files to accomplish tasks plus initialization data.
- Resources are reclaimed on process termination.
- Activities in process management include:
- Creating and deleting user and system processes.
- Suspending and resuming processes.
- Providing mechanisms for process synchronization and communication.
- Providing mechanisms for deadlock handling.
- Single-threaded processes have one program counter to specify the location of the next instruction.
- Multi-threaded processes have one program counter per thread.
- Typical systems have several processes concurrently running on one or more CPUs.
Dual-Mode Operation
- Dual-mode operation allows OS to protect itself and other system components, designating user mode and kernel mode.
- Certain instructions are designated as 'privileged' and are only executable in kernel mode.
Memory Management
- The instructions and data required to execute a program must be in memeory.
- Memory management includes optimizing CPU utilization and computer response to users:
- Keeping track of which part of memory are used and by whom
- Deciding which processes and data should be moved into and out of memory
- Allocating and deallocating allocated memory as needed
Mass-Storage Management
- Mass storage typically uses disks for data that doesn't fit in main memory, or is required for a "long" period.
- Proper management is of central importance, and the the computer operation depends on the effectiveness of its disk algorithms.
- Mass storage management activities include: mounting and unmounting, free-space management, storage allocation, disk scheduling,partitioning and protection.
Caching
- Caching is an important principle that is used in hardware, operating systems, and software
- Information in use is copied from slower to faster storage temporarily
- Faster storage (cache) is checked first to determine if the information is there. If the information is present, it is used directly from the cache (fast). If the info is not in the cache, it is copied to cache and used there.
- Cache is typically smaller than storage that is being cached, therefore cache management is an important design problem. The cache size and replacement policy must also be considered.
Storage table
- Characteristics of levels of storage |Level|1| 2| 3| 4| 5| |----------|----------|----------|----------|----------|----------| |Name|registers|cache |Main memory|Solid-state disk|Magnetic disk| |Typical size|<1 KB|<16 MB|<64GB|<1 TB|<10 TB| |Access time (ns.)|0.25-0.5|0.5-25|80-250|25,000-50,000|5,000,000|
Data Migration
- Multitasking environments must be careful to use most recent value, no matter where it is stored in the storage hierarchy
- Multiprocessor environments must provide cache coherency in hardware such that all is CPUs have the most recent value in their cache
- Distributed environment situation involves several copies of a datum
I/O Subsystems
- One purpose of an OS is to hide peculiarities of the hardware
- The I/O Subsystem is responsible for:
- Memory management of I/O
- Genearl device-driver interface
- Drivers for specific hardware devices
File-System Management
- The OS provides a uniform logical view of information storage. It abstracts physical properties to logical storage unit (a file). Each medium is controlled by device.
- Properties include access speed, capacity, data-transfer rate, access method (sequential or random)
- File-System management
- OS activities include: Creating and deleting files and directories, Primitives to manipulate files and directories, Mapping files onto secondary storage and Backup files onto stable (non-volatile) storage media
Proctection and security
- Proctection controls access of processes or users to resources defined by the OS
- Security defies the system against internal and external attacks, denial-of-service, worms, viruses etc.
- Systems first determine which users can do what: user identities (user IDS, security IDs) include name and associated number, one per user. User ID identifies all files, processes of that user to determine access controls. Group identifier (group ID) allows set of users to be defined and controls managed. Privilege escalation allows user to change to effective ID with more rights
Virtualizations
- Virtualization allows operating systems to run applications within other OSes
- Emuation is used when source CPU type is different from the target type
- Virtualization OS is natively compiled for CPU, running guest OSes are also natively compiled
- VMM(virtual mashine Manager) provides virtualization service
- Example of virtualizations VMWare running WinXP guests, each running applications, all on native WinXP host OS
- Cases in which virtualization comes in hand: Apple laptop running mac OS X host, windows as a guest, developing apps for multiple OSes without having multiple systems, executing and managing compute environments within data centres
Networking
- A Network is a communications path that utilizes TCP/IP, including:
- Local area Networks (LAN)
- Wide Area Networks (WAN)
- Metropolitan Area Networks (MAN)
- Personal area Networks (PAN)
- Network Operating system provides features between system across the network
- It allows for Communication scheme allowing systems to exchange messaged and provides the Illusion of a single system
Computing Environments
- The common computing environments are basic, mobile, client-servers, peer-to-peer, cloud computing, and real-time embedded.
- Basic systems use stand-alone general-purpose machines and Portals which provide web access to internal systems
- (thin clients) Networked Computers are like web terminals
- Mobile computing interconnects wirelessly
- Client-Server Computing: System now severs re[ponsing to request generating by client
- Dumb terminals are replaced by smart PCs
- Compute-server systems provides interface to client to requests services (i.e., database)
- File-server systems provides interface to client to store or retrieve files
- P2P Systems: P2P does not distinguish clients and servers. Instead all nodes must join P2P network
- Each may act as a clients server
Cloud Computing
- Computing cloud delivers computer, storage, even apps as a service across a network
- Amazon EC2 has thousands of servers, million of virtual machines, petabytes and can be pay as you go basis
- The types of cloud service, includes public, private and hybrid clouds
- Software as a Service (SaaS) can be through a word processor with a single application
- Paltform services includes PaaS (software ready by application use via the internet)
- Infrastructure service includes (laaS): servers of backups from internet
Real-time embedded systems
- Real-time embedded systems is the prevalent form of computers: special purpose and limited purpose which Vary considerable
- It must be done within content otherwise the process doesn't work
Kernel Data Structures
- Linked list ( singly linked and Doubly linked
- Binary search tree
- Search performance is O(n)
- Balanced binary search tree is O(log n)
- Hash function can create a hash map
- 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.