SlideShare a Scribd company logo
Chapter 2: Operating-System
Structures
Mr. C. P. Divate
Chapter 2: Operating-System Structures
2.2
● Operating System Services
● User Operating System Interface
● System Calls
● Types of System Calls
● System Programs
● Operating System Design and Implementation
● Operating System Structure
● Operating System Debugging
● Operating System Generation
● System Boot
Operating System Services
2.3
● User interface
● Program Execution
● I/O Operations
● File System manipulation
● Communications
● Error detection
● Resource Allocation
● Accounting
● Protection and Security
Operating System Services
2.4
● Operating systems provide an environment for execution of programs
and services to programs and users
● One set of operating-system services provides functions that are
helpful to the user:
● User interface - Almost all operating systems have a user
interface (UI).
4 Varies between Command-Line (CLI), Graphics User
Interface (GUI), Batch
● Program execution - The system must be able to load a
program into memory and to run that program, end execution,
either normally or abnormally (indicating error)
● I/Ooperations - A running program may require I/O, which may
involve a file or an I/O device
Operating System Services (Cont.)
2.5
● One set of operating-system services provides functions that are helpful to
the user (Cont.):
● File-system manipulation - The file system is of particular interest.
Programs need to read and write files and directories, create and delete
them, search them, list file Information, permission management.
● Communications – Processes may exchange information, on the same
computer or between computers over a network
4 Communications may be via shared memory or through message
passing (packets moved by the OS)
● Error detection – OS needs to be constantly aware of possible errors
4 May occur in the CPU and memory hardware, in I/O devices, in user
program
4 For each type of error, OS should take the appropriate action to
ensure correct and consistent computing
4 Debugging facilities can greatly enhance the user’s and
programmer’s abilities to efficiently use the system
Operating System Services (Cont.)
2.6
● Another set of OS functions exists for ensuring the efficient operation of the
system itself via resource sharing
● Resource allocation - When multiple users or multiple jobs running
concurrently, resources must be allocated to each of them
4 Many types of resources - CPU cycles, main memory, file storage,
I/O devices.
● Accounting - To keep track of which users use how much and what
kinds of computer resources
● Protection and security - The owners of information stored in a
multiuser or networked computer system may want to control use of
that information, concurrent processes should not interfere with each
other
4 Protection involves ensuring that all access to system resources is
controlled
4 Security of the system from outsiders requires user authentication,
extends to defending external I/O devices from invalid access
attempts
A View of Operating System Services
2.7
User Operating System Interface - CLI
2.8
CLI or command interpreter allows direct command entry
● Sometimes implemented in kernel, sometimes by systems program
● Sometimes multiple flavors implemented – shells
● Primarily fetches a command from user and executes it
● Sometimes commands built-in, sometimes just names of programs
User Operating System Interface - GUI
2.9
● User-friendly desktop metaphor interface
● Usually mouse, keyboard, and monitor
● Icons represent files, programs, actions, etc
● Various mouse buttons over objects in the interface cause various actions
(provide information, options, execute function, open directory (known as a
folder)
● Many systems now include both CLI and GUI interfaces
● Microsoft Windows is GUI with CLI “command” shell
● Apple Mac OS X is “Aqua” GUI interface with UNIX kernel underneath
and shells available
● Unix and Linux have CLI with optional GUI interfaces (CDE, KDE, GNOME)
Touchscreen Interfaces
2.10
● Touchscreen devices require new
interfaces
● Mouse not possible or not desired
● Actions and selection based on
gestures
● Virtual keyboard for text entry
● Voice commands.
Layers of Abstraction
Operating System Mode
 The User Mode is concerned with the
actual interface between the user and the
system.
 It controls things like running applications
and accessing files.
 The Kernel Mode is concerned with everything
running in the background.
 It controls things like accessing system
resources, controlling hardware functions and
processing program instructions.
 System calls are used to change mode
from User to Kernel.
Kernel
Kernel is a software code that reside in central core of OS. It has complete
control over system.
When operation system boots, kernel is first part of OS to load in main memory.
Kernel remains in main memory for entire duration of computer session. The
kernel code is usually loaded in to protected area of memory.
Kernel performs it’s task like executing processes and handling interrupts in
kernel space.
User performs it’s task in user area of memory.
 This memory separation is made in order to prevent user data and kernel data
from interfering with each other.
 Kernel does not interact directly with user, but it interacts using SHELL and other
programs and hardware.
Kernel cont…
Kernel includes:-
1. Scheduler: It allocates the Kernel’s processing time to various
processes.
2. Supervisor: It grants permission to use computer system resources to
each process.
3. Interrupt handler : It handles all requests from the various hardware
devices which compete for kernel services.
4. Memory manager : allocates space in memory for all users of kernel
service.
kernel provides services for process management, file management,
I/O management, memory management.
System calls are used to provide these type of services.
System Call
System call is the programmatic way in which a computer program/user
application requests a service from the kernel of the operating system on
which it is executed.
Application program is just a user-process. Due to security reasons , user
applications are not given access to privileged resources(the ones controlled
by OS).
When they need to do any I/O or have some more memory or
spawn a process or wait for signal/interrupt, it requests operating
system to facilitate all these. This request is made through System
Call.
System calls are also called software-interrupts.
System Calls
How System Call Works?
Step 1) The processes executed in the user mode till the time a system call interrupts it.
Step 2) After that, the system call is executed in the kernel-mode on a priority basis.
Step 3) Once system call execution is over, control returns to the user mode.,
Step 4) The execution of user processes resumed in Kernel mode.
Why do you need System Calls in OS?
Following are situations which need system calls in OS:
 Reading and writing from files demand system calls.
 If a file system wants to create or delete files, system calls are required.
 System calls are used for the creation and management of new processes.
 Network connections need system calls for sending and receiving packets.
 Access to hardware devices like scanner, printer, need a system call.
I/O and File manipulation
Examples of I/O and file system calls
Types of System calls
2.21
● Process control
● File management
● Device management
● Information maintenance
● Communications
Process control
2.22
 End and Abort
 Load and Execute
 Create Process and Terminate Process
 Wait and Signal Event
 Allocate and free memory
File management
2.23
 Create a file
 Delete file
 Open and close file
 Read, write, and reposition
 Get and set file attributes
Device management
2.24
 Request and release device
 Logically attach/ detach devices
 Get and Set device attributes
communications
2.25
Communications : Message passing , shared memory
● Create delete communication connection
● Send , receive messages
● Transfer status information
Information maintenance
2.26
● Get time or date , set time or date
● Get system data , set system data
● Get process
● Set process
Important System Calls Used in OS
for process control
wait()
In some systems, a process needs to wait for another process to complete its
execution. This type of situation occurs when a parent process creates a child
process, and the execution of the parent process remains suspended until its child
process executes.
The suspension of the parent process automatically occurs with a wait() system call.
When the child process ends execution, the control moves back to the parent process.
fork()
Processes use this system call to create processes that are a copy of themselves.
With the help of this system Call parent process creates a child process, and the
execution of the parent process will be suspended till the child process executes.
exec()
This system call runs when an executable file in the context of an already running
process that replaces the older executable file. However, the original process identifier
remains as a new process is not built, but stack, data, head, data, etc. are replaced by
the new process.
Important System Calls Used in OS
for process control
kill():
The kill() system call is used by OS to send a termination signal to a process that
urges the process to exit. However, a kill system call does not necessarily mean killing
the process and can have various meanings.
exit():
The exit() system call is used to terminate program execution. Specially in the multi-
threaded environment, this call defines that the thread execution is complete. The OS
reclaims resources that were used by the process after the use of exit() system call.
Summary system calls:
Categories Windows Unix
Process control
CreateProcess()
ExitProcess()
WaitForSingleObject()
fork()
exit()
wait()
Device manipulation
SetConsoleMode()
ReadConsole()
WriteConsole()
loctl()
read()
write()
File manipulation
CreateFile()
ReadFile()
WriteFile()
CloseHandle()
Open()
Read()
write()
close()
Summary system calls:
Categories Windows Unix
Communication
CreatePipe()
CreateFileMapping()
MapViewOfFile()
Pipe()
shm_open()
mmap()
Protection
SetFileSecurity()
InitlializeSecurityDescriptor()
SetSecurityDescriptorGroup ()
Chmod()
Umask()
Chown()
Components / Functions of Operating System
1. Process Management
 A process is a program in execution.
 A process needs certain resources, including CPU time,
memory, files, and I/O devices to accomplish its task.
 Simultaneous execution leads to multiple processes. Hence
creation, execution and termination of a process are the
most basic functionality of an OS
 If processes are dependent, than they may try to share
same resources. thus task of process synchronization
comes to the picture.
 If processes are independent, than a due care needs to be
taken to avoid their overlapping in memory area.
 Based on priority, it is important to allow more important
processes to execute first than others.
Process management
Process management
Process management
2. Memory management
2. Memory management
Memory is a large array of words or bytes, each with its own address.
It is a repository of quickly accessible data shared by the CPU and I/O
devices.
Main memory is a volatile storage device. When the computer made turn
off everything stored in RAM will be erased automatically.
In addition to the physical RAM installed in your computer, most modern
operating systems allow your computer to use a virtual memory system.
Virtual memory allows your computer to use part of a permanent storage
device (such as a hard disk) as extra memory.
The operating system is responsible for the following activities in
connections with memory management:
Keep track of which parts of memory are currently being used and by
whom.
Decide which processes to load when memory space becomes available.
Allocate and de-allocate memory space as needed.
2. Memory management
2. Memory management
2. Memory management: Paging
 In Operating Systems, Paging is a storage mechanism used to
retrieve processes from the secondary storage into the main
memory in the form of pages.
 The main idea behind the paging is to divide each process in the
form of pages. The main memory will also be divided in the form
of frames.
 One page of the process is to be stored in one of the frames of the
memory. The pages can be stored at the different locations of the
memory but the priority is always to find the contiguous frames
or holes.
 Pages of the process are brought into the main memory only
when they are required otherwise they reside in the secondary
storage.
2. Memory management: Paging
2. Memory management: Paging
2. Memory management: Paging
Let us consider that, P2 and P4 are moved to waiting state after some time.
2. Memory management: Segmentation
It is better to have segmentation which divides the process into the segments. Each
segment contains the same type of functions such as the main function can be
included in one segment and the library functions can be included in the other
segment.
2. Memory management: Segmentation
2. Memory management
2. Memory management: Fixed Partitioning
2. Memory management: Dynamic Partitioning
2. Memory management: Fragmentation
User processes are loaded and unloaded from the main memory, and processes are
kept in memory blocks in the main memory. Many spaces remain after process
loading and swapping that another process cannot load due to their size. Main
memory is available, but its space is insufficient to load another process because
of the dynamical allocation of main memory processes.
2. Memory management: External Fragmentation
2. Memory management: Swapping
Swapping is a memory management scheme in which any process
can be temporarily swapped from main memory to secondary
memory so that the main memory can be made available for other
processes. It is used to improve main memory utilization. In
secondary memory, the place where the swapped-out process is
stored is called swap space.
3. File Management
A file is a collection of related information defined by its
creator.
File systems provide the conventions for the
encoding, storage and management of data on a
storage device such as a hard disk.
FAT12 (floppy disks)
FAT16 (DOS and older versions of Windows)
FAT32 (older versions of Windows)
NTFS (newer versions of Windows)
EXT3 (Unix/Linux)
HFS+ (Max OS X)
The operating system is responsible for the following activities
in connections with file management:
✦ File creation and deletion.
✦ Directory creation and deletion.
✦ Support of primitives for manipulating files and directories.
✦ Mapping files onto secondary storage.
✦ File backup on stable (nonvolatile) storage media.
3. File Management
3. File Management
3. File Management
3. File Management
Device Management or I/O Management
Device Management or I/O Management
Device Management or I/O Management
4. Device Management or I/O Management
Device controllers are components on the motherboard (or on expansion
cards) that act as an interface between the CPU and the actual
device.
Device drivers, which are the operating system software components that
interact with the devices controllers.
A special device (inside CPU) called the Interrupt Controller handles the
task of receiving interrupt requests and prioritizes them to be forwarded
to the processor.
Deadlocks can occur when two (or more) processes have control of
different I/O resources that are needed by the other processes, and they
are unwilling to give up control of the device.
It performs the following activities for device management.
Keeps tracks of all devices connected to system.
Designates a program responsible for every device known as Input/output
controller.
Decides which process gets access to a certain device and for how long.
Allocates devices in an effective and efficient way.
Deallocates devices when they are no longer required.
5. Security & Protection
The operating system uses password protection to protect user data and
similar other techniques.
It also prevents unauthorized access to programs and user data by assigning
access right permission to files and directories.
The owners of information stored in a multiuser or networked computer
system may want to control use of that information, concurrent processes
should not interfere with each other.
6. User
Interfac
e
Mechani
sm
A user interface (UI) controls how you enter data and
instructions and how information is displayed on the
screen
There are two types of user interfaces
1. Command Line Interface
2. Graphical user Interface
1.
Comma
nd-line
interfac
e
In a command-line interface, a user types commands represented by short
keywords or abbreviations or presses special keys on the keyboard to enter
data and instructions
2.
Graphic
al User
Interfac
e
With a graphical user interface (GUI), you interact with menus and visual
images
End of Chapter 2

More Related Content

Similar to Chapter -2 Operating-System and its Structures

Operating system
Operating systemOperating system
Operating system
Ibrahim MH
 
operatinndnd jdj jjrg-system-1(1) (1).pptx
operatinndnd jdj jjrg-system-1(1) (1).pptxoperatinndnd jdj jjrg-system-1(1) (1).pptx
operatinndnd jdj jjrg-system-1(1) (1).pptx
krishnajoshi70
 
Operating Systems
Operating Systems Operating Systems
Operating Systems
Ziyauddin Shaik
 
Module-1.ppt operating system unit 1 notes
Module-1.ppt operating system unit 1 notesModule-1.ppt operating system unit 1 notes
Module-1.ppt operating system unit 1 notes
FaizanAhmad293255
 
Overview Of Operating System and its Basics
Overview Of Operating System and its BasicsOverview Of Operating System and its Basics
Overview Of Operating System and its Basics
Chandrakant Divate
 
Overview Of Operating Systems and its Basics
Overview Of Operating Systems and its BasicsOverview Of Operating Systems and its Basics
Overview Of Operating Systems and its Basics
Chandrakant Divate
 
Lecture_02_Operating System Structures Operating Systems
Lecture_02_Operating System Structures Operating SystemsLecture_02_Operating System Structures Operating Systems
Lecture_02_Operating System Structures Operating Systems
ArnoyKhan
 
OS chapter 1.pptx
OS chapter 1.pptxOS chapter 1.pptx
OS chapter 1.pptx
StBulteBelay
 
OS chapter 1.pptx
OS chapter 1.pptxOS chapter 1.pptx
OS chapter 1.pptx
StBulteBelay
 
L-3 BCE OS FINAL.ppt
L-3 BCE OS FINAL.pptL-3 BCE OS FINAL.ppt
L-3 BCE OS FINAL.ppt
Kirti Verma
 
Operating System
Operating SystemOperating System
Operating System
Subhasis Dash
 
Ch3 OS
Ch3 OSCh3 OS
Ch3 OSC.U
 
services and system calls of operating system
services and system calls of operating system services and system calls of operating system
services and system calls of operating system
Saurabh Soni
 
Operating Systems PPT 1 (1).pdf
Operating Systems PPT 1 (1).pdfOperating Systems PPT 1 (1).pdf
Operating Systems PPT 1 (1).pdf
FahanaAbdulVahab
 
Ch1kiit [compatibility mode]
Ch1kiit [compatibility mode]Ch1kiit [compatibility mode]
Ch1kiit [compatibility mode]
Amit Gupta
 
Csc 2313 (lecture 2)
Csc 2313 (lecture 2)Csc 2313 (lecture 2)
Csc 2313 (lecture 2)
umardanjumamaiwada
 
Csc 2313 (lecture 2)
Csc 2313 (lecture 2)Csc 2313 (lecture 2)
Csc 2313 (lecture 2)
umardanjumamaiwada
 

Similar to Chapter -2 Operating-System and its Structures (20)

Operating system
Operating systemOperating system
Operating system
 
operatinndnd jdj jjrg-system-1(1) (1).pptx
operatinndnd jdj jjrg-system-1(1) (1).pptxoperatinndnd jdj jjrg-system-1(1) (1).pptx
operatinndnd jdj jjrg-system-1(1) (1).pptx
 
Operating Systems
Operating Systems Operating Systems
Operating Systems
 
Module-1.ppt operating system unit 1 notes
Module-1.ppt operating system unit 1 notesModule-1.ppt operating system unit 1 notes
Module-1.ppt operating system unit 1 notes
 
Ch1
Ch1Ch1
Ch1
 
Overview Of Operating System and its Basics
Overview Of Operating System and its BasicsOverview Of Operating System and its Basics
Overview Of Operating System and its Basics
 
Overview Of Operating Systems and its Basics
Overview Of Operating Systems and its BasicsOverview Of Operating Systems and its Basics
Overview Of Operating Systems and its Basics
 
Lecture_02_Operating System Structures Operating Systems
Lecture_02_Operating System Structures Operating SystemsLecture_02_Operating System Structures Operating Systems
Lecture_02_Operating System Structures Operating Systems
 
OS chapter 1.pptx
OS chapter 1.pptxOS chapter 1.pptx
OS chapter 1.pptx
 
OS chapter 1.pptx
OS chapter 1.pptxOS chapter 1.pptx
OS chapter 1.pptx
 
L-3 BCE OS FINAL.ppt
L-3 BCE OS FINAL.pptL-3 BCE OS FINAL.ppt
L-3 BCE OS FINAL.ppt
 
Operating System
Operating SystemOperating System
Operating System
 
Ch3 OS
Ch3 OSCh3 OS
Ch3 OS
 
OS_Ch3
OS_Ch3OS_Ch3
OS_Ch3
 
OSCh3
OSCh3OSCh3
OSCh3
 
services and system calls of operating system
services and system calls of operating system services and system calls of operating system
services and system calls of operating system
 
Operating Systems PPT 1 (1).pdf
Operating Systems PPT 1 (1).pdfOperating Systems PPT 1 (1).pdf
Operating Systems PPT 1 (1).pdf
 
Ch1kiit [compatibility mode]
Ch1kiit [compatibility mode]Ch1kiit [compatibility mode]
Ch1kiit [compatibility mode]
 
Csc 2313 (lecture 2)
Csc 2313 (lecture 2)Csc 2313 (lecture 2)
Csc 2313 (lecture 2)
 
Csc 2313 (lecture 2)
Csc 2313 (lecture 2)Csc 2313 (lecture 2)
Csc 2313 (lecture 2)
 

More from Chandrakant Divate

Web Technology LAB MANUAL for Undergraduate Programs
Web Technology  LAB MANUAL for Undergraduate ProgramsWeb Technology  LAB MANUAL for Undergraduate Programs
Web Technology LAB MANUAL for Undergraduate Programs
Chandrakant Divate
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
Chandrakant Divate
 
Study of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block DiagramStudy of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block Diagram
Chandrakant Divate
 
Computer System Output Devices Peripherals
Computer System Output  Devices PeripheralsComputer System Output  Devices Peripherals
Computer System Output Devices Peripherals
Chandrakant Divate
 
Computer system Input Devices Peripherals
Computer system Input  Devices PeripheralsComputer system Input  Devices Peripherals
Computer system Input Devices Peripherals
Chandrakant Divate
 
Computer system Input and Output Devices
Computer system Input and Output DevicesComputer system Input and Output Devices
Computer system Input and Output Devices
Chandrakant Divate
 
Introduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROMIntroduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROM
Chandrakant Divate
 
Introduction to Computer Hardware Systems
Introduction to Computer Hardware SystemsIntroduction to Computer Hardware Systems
Introduction to Computer Hardware Systems
Chandrakant Divate
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
Chandrakant Divate
 
Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)
Chandrakant Divate
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
Chandrakant Divate
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
Chandrakant Divate
 
Fundamentals of Structure in C Programming
Fundamentals of Structure in C ProgrammingFundamentals of Structure in C Programming
Fundamentals of Structure in C Programming
Chandrakant Divate
 
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN CINPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
Chandrakant Divate
 
Programming in C - Fundamental Study of Strings
Programming in C - Fundamental Study of  StringsProgramming in C - Fundamental Study of  Strings
Programming in C - Fundamental Study of Strings
Chandrakant Divate
 
Basics of Control Statement in C Languages
Basics of Control Statement in C LanguagesBasics of Control Statement in C Languages
Basics of Control Statement in C Languages
Chandrakant Divate
 
Features and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for BeginnersFeatures and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for Beginners
Chandrakant Divate
 
Basics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and FlowchartBasics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and Flowchart
Chandrakant Divate
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
Chandrakant Divate
 
Computer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric TransformationsComputer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric Transformations
Chandrakant Divate
 

More from Chandrakant Divate (20)

Web Technology LAB MANUAL for Undergraduate Programs
Web Technology  LAB MANUAL for Undergraduate ProgramsWeb Technology  LAB MANUAL for Undergraduate Programs
Web Technology LAB MANUAL for Undergraduate Programs
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
 
Study of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block DiagramStudy of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block Diagram
 
Computer System Output Devices Peripherals
Computer System Output  Devices PeripheralsComputer System Output  Devices Peripherals
Computer System Output Devices Peripherals
 
Computer system Input Devices Peripherals
Computer system Input  Devices PeripheralsComputer system Input  Devices Peripherals
Computer system Input Devices Peripherals
 
Computer system Input and Output Devices
Computer system Input and Output DevicesComputer system Input and Output Devices
Computer system Input and Output Devices
 
Introduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROMIntroduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROM
 
Introduction to Computer Hardware Systems
Introduction to Computer Hardware SystemsIntroduction to Computer Hardware Systems
Introduction to Computer Hardware Systems
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
 
Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
 
Fundamentals of Structure in C Programming
Fundamentals of Structure in C ProgrammingFundamentals of Structure in C Programming
Fundamentals of Structure in C Programming
 
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN CINPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
 
Programming in C - Fundamental Study of Strings
Programming in C - Fundamental Study of  StringsProgramming in C - Fundamental Study of  Strings
Programming in C - Fundamental Study of Strings
 
Basics of Control Statement in C Languages
Basics of Control Statement in C LanguagesBasics of Control Statement in C Languages
Basics of Control Statement in C Languages
 
Features and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for BeginnersFeatures and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for Beginners
 
Basics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and FlowchartBasics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and Flowchart
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
Computer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric TransformationsComputer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric Transformations
 

Recently uploaded

ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
Kamal Acharya
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf
884710SadaqatAli
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
RCC Institute of Information Technology
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
Kamal Acharya
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
apareshmondalnita
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
Amil baba
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 

Recently uploaded (20)

ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 

Chapter -2 Operating-System and its Structures

  • 2. Chapter 2: Operating-System Structures 2.2 ● Operating System Services ● User Operating System Interface ● System Calls ● Types of System Calls ● System Programs ● Operating System Design and Implementation ● Operating System Structure ● Operating System Debugging ● Operating System Generation ● System Boot
  • 3. Operating System Services 2.3 ● User interface ● Program Execution ● I/O Operations ● File System manipulation ● Communications ● Error detection ● Resource Allocation ● Accounting ● Protection and Security
  • 4. Operating System Services 2.4 ● Operating systems provide an environment for execution of programs and services to programs and users ● One set of operating-system services provides functions that are helpful to the user: ● User interface - Almost all operating systems have a user interface (UI). 4 Varies between Command-Line (CLI), Graphics User Interface (GUI), Batch ● Program execution - The system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating error) ● I/Ooperations - A running program may require I/O, which may involve a file or an I/O device
  • 5. Operating System Services (Cont.) 2.5 ● One set of operating-system services provides functions that are helpful to the user (Cont.): ● File-system manipulation - The file system is of particular interest. Programs need to read and write files and directories, create and delete them, search them, list file Information, permission management. ● Communications – Processes may exchange information, on the same computer or between computers over a network 4 Communications may be via shared memory or through message passing (packets moved by the OS) ● Error detection – OS needs to be constantly aware of possible errors 4 May occur in the CPU and memory hardware, in I/O devices, in user program 4 For each type of error, OS should take the appropriate action to ensure correct and consistent computing 4 Debugging facilities can greatly enhance the user’s and programmer’s abilities to efficiently use the system
  • 6. Operating System Services (Cont.) 2.6 ● Another set of OS functions exists for ensuring the efficient operation of the system itself via resource sharing ● Resource allocation - When multiple users or multiple jobs running concurrently, resources must be allocated to each of them 4 Many types of resources - CPU cycles, main memory, file storage, I/O devices. ● Accounting - To keep track of which users use how much and what kinds of computer resources ● Protection and security - The owners of information stored in a multiuser or networked computer system may want to control use of that information, concurrent processes should not interfere with each other 4 Protection involves ensuring that all access to system resources is controlled 4 Security of the system from outsiders requires user authentication, extends to defending external I/O devices from invalid access attempts
  • 7. A View of Operating System Services 2.7
  • 8. User Operating System Interface - CLI 2.8 CLI or command interpreter allows direct command entry ● Sometimes implemented in kernel, sometimes by systems program ● Sometimes multiple flavors implemented – shells ● Primarily fetches a command from user and executes it ● Sometimes commands built-in, sometimes just names of programs
  • 9. User Operating System Interface - GUI 2.9 ● User-friendly desktop metaphor interface ● Usually mouse, keyboard, and monitor ● Icons represent files, programs, actions, etc ● Various mouse buttons over objects in the interface cause various actions (provide information, options, execute function, open directory (known as a folder) ● Many systems now include both CLI and GUI interfaces ● Microsoft Windows is GUI with CLI “command” shell ● Apple Mac OS X is “Aqua” GUI interface with UNIX kernel underneath and shells available ● Unix and Linux have CLI with optional GUI interfaces (CDE, KDE, GNOME)
  • 10. Touchscreen Interfaces 2.10 ● Touchscreen devices require new interfaces ● Mouse not possible or not desired ● Actions and selection based on gestures ● Virtual keyboard for text entry ● Voice commands.
  • 12. Operating System Mode  The User Mode is concerned with the actual interface between the user and the system.  It controls things like running applications and accessing files.  The Kernel Mode is concerned with everything running in the background.  It controls things like accessing system resources, controlling hardware functions and processing program instructions.  System calls are used to change mode from User to Kernel.
  • 13. Kernel Kernel is a software code that reside in central core of OS. It has complete control over system. When operation system boots, kernel is first part of OS to load in main memory. Kernel remains in main memory for entire duration of computer session. The kernel code is usually loaded in to protected area of memory. Kernel performs it’s task like executing processes and handling interrupts in kernel space. User performs it’s task in user area of memory.  This memory separation is made in order to prevent user data and kernel data from interfering with each other.  Kernel does not interact directly with user, but it interacts using SHELL and other programs and hardware.
  • 14. Kernel cont… Kernel includes:- 1. Scheduler: It allocates the Kernel’s processing time to various processes. 2. Supervisor: It grants permission to use computer system resources to each process. 3. Interrupt handler : It handles all requests from the various hardware devices which compete for kernel services. 4. Memory manager : allocates space in memory for all users of kernel service. kernel provides services for process management, file management, I/O management, memory management. System calls are used to provide these type of services.
  • 15. System Call System call is the programmatic way in which a computer program/user application requests a service from the kernel of the operating system on which it is executed. Application program is just a user-process. Due to security reasons , user applications are not given access to privileged resources(the ones controlled by OS). When they need to do any I/O or have some more memory or spawn a process or wait for signal/interrupt, it requests operating system to facilitate all these. This request is made through System Call. System calls are also called software-interrupts.
  • 17. How System Call Works? Step 1) The processes executed in the user mode till the time a system call interrupts it. Step 2) After that, the system call is executed in the kernel-mode on a priority basis. Step 3) Once system call execution is over, control returns to the user mode., Step 4) The execution of user processes resumed in Kernel mode.
  • 18. Why do you need System Calls in OS? Following are situations which need system calls in OS:  Reading and writing from files demand system calls.  If a file system wants to create or delete files, system calls are required.  System calls are used for the creation and management of new processes.  Network connections need system calls for sending and receiving packets.  Access to hardware devices like scanner, printer, need a system call.
  • 19. I/O and File manipulation
  • 20. Examples of I/O and file system calls
  • 21. Types of System calls 2.21 ● Process control ● File management ● Device management ● Information maintenance ● Communications
  • 22. Process control 2.22  End and Abort  Load and Execute  Create Process and Terminate Process  Wait and Signal Event  Allocate and free memory
  • 23. File management 2.23  Create a file  Delete file  Open and close file  Read, write, and reposition  Get and set file attributes
  • 24. Device management 2.24  Request and release device  Logically attach/ detach devices  Get and Set device attributes
  • 25. communications 2.25 Communications : Message passing , shared memory ● Create delete communication connection ● Send , receive messages ● Transfer status information
  • 26. Information maintenance 2.26 ● Get time or date , set time or date ● Get system data , set system data ● Get process ● Set process
  • 27. Important System Calls Used in OS for process control wait() In some systems, a process needs to wait for another process to complete its execution. This type of situation occurs when a parent process creates a child process, and the execution of the parent process remains suspended until its child process executes. The suspension of the parent process automatically occurs with a wait() system call. When the child process ends execution, the control moves back to the parent process. fork() Processes use this system call to create processes that are a copy of themselves. With the help of this system Call parent process creates a child process, and the execution of the parent process will be suspended till the child process executes. exec() This system call runs when an executable file in the context of an already running process that replaces the older executable file. However, the original process identifier remains as a new process is not built, but stack, data, head, data, etc. are replaced by the new process.
  • 28. Important System Calls Used in OS for process control kill(): The kill() system call is used by OS to send a termination signal to a process that urges the process to exit. However, a kill system call does not necessarily mean killing the process and can have various meanings. exit(): The exit() system call is used to terminate program execution. Specially in the multi- threaded environment, this call defines that the thread execution is complete. The OS reclaims resources that were used by the process after the use of exit() system call.
  • 29. Summary system calls: Categories Windows Unix Process control CreateProcess() ExitProcess() WaitForSingleObject() fork() exit() wait() Device manipulation SetConsoleMode() ReadConsole() WriteConsole() loctl() read() write() File manipulation CreateFile() ReadFile() WriteFile() CloseHandle() Open() Read() write() close()
  • 30. Summary system calls: Categories Windows Unix Communication CreatePipe() CreateFileMapping() MapViewOfFile() Pipe() shm_open() mmap() Protection SetFileSecurity() InitlializeSecurityDescriptor() SetSecurityDescriptorGroup () Chmod() Umask() Chown()
  • 31. Components / Functions of Operating System
  • 32. 1. Process Management  A process is a program in execution.  A process needs certain resources, including CPU time, memory, files, and I/O devices to accomplish its task.  Simultaneous execution leads to multiple processes. Hence creation, execution and termination of a process are the most basic functionality of an OS  If processes are dependent, than they may try to share same resources. thus task of process synchronization comes to the picture.  If processes are independent, than a due care needs to be taken to avoid their overlapping in memory area.  Based on priority, it is important to allow more important processes to execute first than others.
  • 37. 2. Memory management Memory is a large array of words or bytes, each with its own address. It is a repository of quickly accessible data shared by the CPU and I/O devices. Main memory is a volatile storage device. When the computer made turn off everything stored in RAM will be erased automatically. In addition to the physical RAM installed in your computer, most modern operating systems allow your computer to use a virtual memory system. Virtual memory allows your computer to use part of a permanent storage device (such as a hard disk) as extra memory. The operating system is responsible for the following activities in connections with memory management: Keep track of which parts of memory are currently being used and by whom. Decide which processes to load when memory space becomes available. Allocate and de-allocate memory space as needed.
  • 40. 2. Memory management: Paging  In Operating Systems, Paging is a storage mechanism used to retrieve processes from the secondary storage into the main memory in the form of pages.  The main idea behind the paging is to divide each process in the form of pages. The main memory will also be divided in the form of frames.  One page of the process is to be stored in one of the frames of the memory. The pages can be stored at the different locations of the memory but the priority is always to find the contiguous frames or holes.  Pages of the process are brought into the main memory only when they are required otherwise they reside in the secondary storage.
  • 43. 2. Memory management: Paging Let us consider that, P2 and P4 are moved to waiting state after some time.
  • 44. 2. Memory management: Segmentation It is better to have segmentation which divides the process into the segments. Each segment contains the same type of functions such as the main function can be included in one segment and the library functions can be included in the other segment.
  • 45. 2. Memory management: Segmentation
  • 47. 2. Memory management: Fixed Partitioning
  • 48. 2. Memory management: Dynamic Partitioning
  • 49. 2. Memory management: Fragmentation User processes are loaded and unloaded from the main memory, and processes are kept in memory blocks in the main memory. Many spaces remain after process loading and swapping that another process cannot load due to their size. Main memory is available, but its space is insufficient to load another process because of the dynamical allocation of main memory processes.
  • 50. 2. Memory management: External Fragmentation
  • 51. 2. Memory management: Swapping Swapping is a memory management scheme in which any process can be temporarily swapped from main memory to secondary memory so that the main memory can be made available for other processes. It is used to improve main memory utilization. In secondary memory, the place where the swapped-out process is stored is called swap space.
  • 52. 3. File Management A file is a collection of related information defined by its creator. File systems provide the conventions for the encoding, storage and management of data on a storage device such as a hard disk. FAT12 (floppy disks) FAT16 (DOS and older versions of Windows) FAT32 (older versions of Windows) NTFS (newer versions of Windows) EXT3 (Unix/Linux) HFS+ (Max OS X) The operating system is responsible for the following activities in connections with file management: ✦ File creation and deletion. ✦ Directory creation and deletion. ✦ Support of primitives for manipulating files and directories. ✦ Mapping files onto secondary storage. ✦ File backup on stable (nonvolatile) storage media.
  • 57. Device Management or I/O Management
  • 58. Device Management or I/O Management
  • 59. Device Management or I/O Management
  • 60. 4. Device Management or I/O Management Device controllers are components on the motherboard (or on expansion cards) that act as an interface between the CPU and the actual device. Device drivers, which are the operating system software components that interact with the devices controllers. A special device (inside CPU) called the Interrupt Controller handles the task of receiving interrupt requests and prioritizes them to be forwarded to the processor. Deadlocks can occur when two (or more) processes have control of different I/O resources that are needed by the other processes, and they are unwilling to give up control of the device. It performs the following activities for device management. Keeps tracks of all devices connected to system. Designates a program responsible for every device known as Input/output controller. Decides which process gets access to a certain device and for how long. Allocates devices in an effective and efficient way. Deallocates devices when they are no longer required.
  • 61. 5. Security & Protection The operating system uses password protection to protect user data and similar other techniques. It also prevents unauthorized access to programs and user data by assigning access right permission to files and directories. The owners of information stored in a multiuser or networked computer system may want to control use of that information, concurrent processes should not interfere with each other.
  • 62. 6. User Interfac e Mechani sm A user interface (UI) controls how you enter data and instructions and how information is displayed on the screen There are two types of user interfaces 1. Command Line Interface 2. Graphical user Interface
  • 63. 1. Comma nd-line interfac e In a command-line interface, a user types commands represented by short keywords or abbreviations or presses special keys on the keyboard to enter data and instructions
  • 64. 2. Graphic al User Interfac e With a graphical user interface (GUI), you interact with menus and visual images