OPERATING SYSTEM
INTRODUCTION
• LIES IN THE CATEGORY OF SYSTEM SOFTWARE WHICH BASICALLY MANAGES ALL THE RESOURCES OF THE
COMPUTER AND ENHANCES THE CAPABILITY OF COMPUTER SYSTEM.
• ACTS AS AN INTERFACE BETWEEN THE SOFTWARE AND DIFFERENT PARTS OF THE COMPUTER OR THE
COMPUTER HARDWARE.
• DESIGNED IN SUCH A WAY THAT IT CAN MANAGE THE OVERALL RESOURCES AND OPERATIONS OF THE
COMPUTER.
• A FULLY INTEGRATED SET OF SPECIALIZED PROGRAMS THAT CONTROLS AND COORDINATES OVERALL
FUNCTION OF THE COMPUTER SYSTEM.
• CONTROLS AND MONITORS THE EXECUTION OF ALL OTHER PROGRAMS THAT RESIDE IN THE COMPUTER,
WHICH ALSO INCLUDES APPLICATION PROGRAMS AND OTHER SYSTEM SOFTWARE OF THE COMPUTER.
• ORGANIZED SET OF SPECIALIZED PROGRAM WHICH CONTROLS THE OVERALL OPERATION OF THE COMPUTER
SYSTEM AND PROVIDES AN ENVIRONMENT WHERE USER CAN EXECUTE THE PROGRAM IN CONVENIENT AND
EFFICIENT MANNER.
INTRODUCTION
• IT PROVIDES THE LEVEL OF ABSTRACTION TO THE USERS AS IT HIDES ALL THE COMPLEXITY OF THE
HARDWARE TO PERFORM THE TASK(IT HIDES THE DETAILS OF HARDWARE FROM THE USER OR
PROGRAMMER OR WITH CONVENIENT INTERFACE FOR USING THE COMPUTER .
• IT CONTROLS THE EXECUTION OF DIFFERENT PROGRAMS TO PREVENT OCCURRENCE OF ERROR.
• AN OPERATING SYSTEM MANAGES THE FUNCTIONS PERFORMED BY THE COMPUTER HARDWARE,
INCLUDING THE CPU, I/O DEVICES, SECONDARY STORAGE DEVICES AND NETWORK DEVICES.
• IT PERFORMS BASIC TASK SUCH AS RECOGNIZING THE INPUT FROM INPUT DEVICES , PROCESS
INPUT ACCORDING TO PREDEFINED INSTRUCTIONS BY PROCESSING DEVICES, SENDING OUTPUT TO
DISPLAY, KEEPING TRACK OF FILES AND DIRECTORIES ON THE DISK AND CONTROLLING PERIPHERAL
DEVICES .
• OPERATING SYSTEM ACCEPTS THE COMMANDS GIVEN BY USER AND DOES THE NECESSARY AND
GIVES THE RESULT IN THE FORM OF OUTP]UT.
OBJECTIVES
• TO MAKE THE COMPUTER SYSTEM CONVINIENT AND EASY TO USE , FOR THE USER.
• TO USE THE COMPUTER HARDWARE IN EFFICIENT WAY , BY HANDLING THE DETAILS OF THE
OPERATION OF THE HARDWARE.
• TO HIDE THE COMPLEXITY OF HARDWARE .
• TO PROVIDE THE INTERFACE FOR THE USER TO INTERACT WITH COMPUTER
TYPES OF OPERATING SYSTEM BASED ON INTERFACE
• CLASSIFICATION OF OPERATING SYSTEM BASED ON INTERFACE
➢ GRAPHICAL USER INTERFACE(GUI):IT PROVIDE GRAPHICAL MENUS, BUTTONS, OPTIONS TO
USER FOR INTERACTION WITH COMPUTER. IT IS A VISUAL REPRESENTATION OF
COMMUNICATION PRESENTED TO THE USER FOR EASY INTERACTION WITH THE MACHINE. THE
ACTIONS IN A GUI ARE USUALLY PERFORMED THROUGH DIRECT MANIPULATION OF
GRAPHICAL ELEMENTS LIKE BUTTONS AND ICONS. GUI IS HIGHLY [Link] REQUIRES
A KEYBOARD , MOUSE OR ANY OTHER POINTING DEVICE.
➢ COMMAND LINE INTERFACE(CLI)/CHARACTER USER INTERFACE(CUI):USER INTERACTS WITH CLI
THROUGH COMMANDS. IT IS NOT USER FRIENDLY AS IT IS DIFFICULT TO USE AND REQUIRES
EXPERTISE. LESS FLEXIBLE USER INTERFACE. CUI APPEARANCE IS NOT EASILY CHANGEABLE
OPERATING SYSTEM REQUIRES THE ONLY KEYBOARD.
TYPES OF OPERATING SYSTEM BASED ON USER
• CLASSIFICATION OF OPERATING SYSTEM BASED ON USER
➢ SINGLE USER :THESE OPERATING SYSTEM ALLOWS SINGLE USER TO USE COMPUTER AT A TIME.
SINGLE USER OPERATING SYSTEM ALLOWS THE PERMISSION FOR ACCESSING YOUR
PERSONAL COMPUTER AT A TIME BY SINGLE USER. THIS OPERATING SYSTEM IS NOT REQUIRED
FOR SUPPORTING THE MEMORY PROTECTION, FILE PROTECTION, AND SYSTEM SECURITY AS
WELL. EXAMPLE: MS DOS (SINGLE USER SINGLE TASK), MS WINDOWS(SINGLE USER MULTIPLE
TASK)
➢ MULTI USER: IN SIMPLER TERMS THESE OPERATING SYSTEM ALLOWS MULTIPLE USER TO USE
COMPUTER AT A TIME. A MULTI-USER OPERATING SYSTEM IS A COMPUTER OPERATING
SYSTEM WHICH ALLOWS MULTIPLE USERS TO ACCESS THE SINGLE SYSTEM WITH ONE
OPERATING SYSTEM ON IT. IT IS GENERALLY USED ON LARGE MAINFRAME COMPUTERS. IN THE
MULTI-USER OPERATING SYSTEM, DIFFERENT USERS CONNECTED AT DIFFERENT TERMINALS AND
WE CAN ACCESS, THESE USERS THROUGH THE NETWORK AS SHOWN IN THE DIAGRAM.
EXAMPLE: WINDOWS SERVER 2012, MULTIPOINT SERVER 2012.
FEATURES OF MULTIUSER OS
❖ MULTI-TASKING- USING MULTI-USER OPERATING SYSTEM WE CAN PERFORM MULTIPLE TASKS
AT A TIME, I.E. WE CAN RUN MORE THAN ONE PROGRAM AT A TIME.
EXAMPLE: WE CAN EDIT A WORD DOCUMENT WHILE BROWSING THE INTERNET.
❖RESOURCE SHARING- WE CAN SHARE DIFFERENT PERIPHERALS LIKE PRINTERS, HARD DRIVES OR
WE CAN SHARE A FILE OR DATA. FOR THIS, EACH USER IS GIVEN A SMALL TIME SLICE
OF CPU TIME.
❖BACKGROUND PROCESSING- IT MEANS THAT WHEN COMMANDS ARE NOT PROCESSED
FIRSTLY, THEN THEY ARE EXECUTED IN THE BACKGROUND WHILE ANOTHER PROGRAMS ARE
INTERACTING WITH THE SYSTEM IN THE REAL TIME.
MULTIPROGRAMMING OPERATING SYSTEM
❖ :A MULTIPROGRAMMING OPERATING SYSTEM IS DEFINED AS AN OPERATING SYSTEM THAT ASSISTS THE
RUNNING OF INNUMERABLE PROGRAMS SIMULTANEOUSLY ON A SINGLE PROCESSOR MACHINE.
❖ IF ONE PROGRAM, IN A MULTIPROGRAMMING OPERATING SYSTEM, HAS TO WAIT FOR AN INPUT/OUTPUT
TRANSFER, THE OTHER PROGRAMS ARE IN QUEUE TO USE THE CPU. THIS LEADS TO VARIOUS JOBS SHARING
CPU TIME.
❖ THE EXECUTION OF THEIR JOBS, HOWEVER, IS NOT SPECIFIED TO BE AT THE SAME TIME PERIOD.
❖ TO OVERCOME THE PROBLEM OF UNDER UTILIZATION OF CPU AND MAIN MEMORY, THE MULTI-
PROGRAMMING WAS INTRODUCED. THE MULTI-PROGRAMMING IS INTERLEAVED EXECUTION OF MULTIPLE
JOBS BY THE SAME COMPUTER.
❖ THE CONCURRENT EXECUTION OF PROGRAMS IMPROVES THE UTILIZATION OF SYSTEM RESOURCES AND
ENHANCES THE SYSTEM THROUGHPUT AS COMPARED TO BATCH AND SERIAL PROCESSING.
❖ IN THIS SYSTEM, WHEN A PROCESS REQUESTS SOME I/O TO ALLOCATE; MEANWHILE THE CPU TIME IS
ASSIGNED TO ANOTHER READY PROCESS. SO, HERE WHEN A PROCESS IS SWITCHED TO AN I/O OPERATION,
THE CPU IS NOT SET IDLE.
•
MULTIPROGRAMMING OPERATING SYSTEM
STATES OF PROCESS
• EACH PROCESS MAY BE IN ANY ONE OF THE FOLLOWING STATES −
• NEW − THE PROCESS IS BEING CREATED.
• RUNNING − IN THIS STATE THE INSTRUCTIONS ARE BEING EXECUTED.
• WAITING/BLOCKED − THE PROCESS IS IN WAITING STATE UNTIL AN EVENT OCCURS LIKE I/O
OPERATION COMPLETION OR RECEIVING A SIGNAL.
• READY − THE PROCESS IS WAITING TO BE ASSIGNED TO A PROCESSOR.
• TERMINATED − THE PROCESS HAS FINISHED EXECUTION.
MULTIPROCESSING OPERATING SYSTEM
• MULTIPROCESSOR OPERATING SYSTEM REFERS TO THE USE OF TWO OR MORE CENTRAL
PROCESSING UNITS (CPU) WITHIN A SINGLE COMPUTER SYSTEM.
• THESE MULTIPLE CPUS ARE IN A CLOSE COMMUNICATION SHARING
THE COMPUTER BUS, MEMORY AND OTHER PERIPHERAL DEVICES. THESE SYSTEMS ARE REFERRED
AS TIGHTLY COUPLED SYSTEMS.
• THESE TYPES OF SYSTEMS ARE USED WHEN VERY HIGH SPEED IS REQUIRED TO PROCESS A
LARGE VOLUME OF DATA.
• THESE SYSTEMS ARE GENERALLY USED IN ENVIRONMENT LIKE SATELLITE CONTROL, WEATHER
FORECASTING ETC.
• MULTIPROCESSING SYSTEM IS BASED ON THE SYMMETRIC MULTIPROCESSING MODEL, IN
WHICH EACH PROCESSOR RUNS AN IDENTICAL COPY OF OPERATING SYSTEM AND THESE
COPIES COMMUNICATE WITH EACH OTHER.
• THE MAIN ADVANTAGE OF MULTIPROCESSOR SYSTEM IS TO GET MORE WORK DONE IN A
SHORTER PERIOD OF TIME.
MULTIPROCESSING OPERATING SYSTEM
REAL TIME OS
• THE REAL TIME OPERATING SYSTEM HAS WELL DEFINED , FIXED TIME CONSTRAINT AND
PROCESSING MUST BE DONE WITHIN THE FIXED TIME CONSTRAINT.
• THIS OPERATING SYSTEM PROVIDES QUICK RESPONSE.
• A REAL TIME OPERATING SYSTEM IS CONSIDERED TO FUNCTION CORRECTLY ONLY IF IT
RETURNS THE CORRECT RESULT WITHIN ANY TIME CONSTRAINTS. IT IS DIFFERENT FROM
GENERAL PURPOSE COMPUTER WHERE TIME CONCEPT IS NOT CONSIDERED AS MUCH
CRUCIAL AS IN REAL-TIME OPERATING SYSTEM.
• RTOS IS A TIME-SHARING SYSTEM BASED ON CLOCK INTERRUPTS. INTERRUPT SERVICE ROUTINE
(ISR) SERVE THE INTERRUPT, RAISED BY THE SYSTEM.
REAL TIME OS
• RTOS USED PRIORITY TO EXECUTE THE PROCESS. WHEN A HIGH PRIORITY PROCESS ENTERS IN
SYSTEM LOW PRIORITY PROCESS PREEMPTED TO SERVE HIGHER PRIORITY PROCESS.
• REAL-TIME OPERATING SYSTEM SYNCHRONIZED THE PROCESS. SO THAT THEY CAN
COMMUNICATE WITH EACH OTHER. RESOURCES CAN BE USED EFFICIENTLY WITHOUT
WASTAGE OF TIME.
• RTOS ARE CONTROLLING TRAFFIC SIGNAL; NUCLEAR REACTORS CONTROL SCIENTIFIC
EXPERIMENTS, MEDICAL IMAGING SYSTEMS, INDUSTRIAL SYSTEM, FUEL INJECTION SYSTEM,
HOME APPLIANCE ARE SOME APPLICATION OF REAL TIME OPERATING SYSTEM.
• EXAMPLE: A MEASUREMENT FROM A PETROLEUM REFINERY INDICATING THAT TEMPERATURE IS
GETTING TOO HIGH AND MIGHT DEMAND FOR IMMEDIATE ATTENTION TO AVOID AN
EXPLOSION.
TYPES OF REAL TIME OS
❖HARD REAL TIME OPERATING SYSTEM
▪ IT ASSURED THAT CRITICAL TASK COMPLETES ON TIME .
▪ THIS REQUIRE THAT ALL DELAYS IN THE SYSTEM BE BOUNDED, FROM THE RETRIEVAL OF STORED
DATA TO TIME THAT IT TAKES THE OPERATING SYSTEM TO FINISH ANY REQUEST MADE TO IT.
▪ PREEMPTION TIME FOR HARD REAL TIME OPERATING SYSTEM IS ALMOST LESS THAN FEW
MICROPROCESSOR .
▪ EXAMPLES INCLUDE MEDICAL EQUIPMENT, MILITARY DEFENSE SYSTEMS, AND INDUSTRIAL
CONTROL SYSTEMS.
TYPES OF REAL TIME OS
❖SOFT REAL TIME OPERATING SYSTEM
▪ IT IS A LESS RESTRICTIVE REAL TIME OPERATING SYSTEM WHERE A CRITICAL REAL TIME TASK
GETS PRIORITY OVER OTHER TASK AND RETAINS PRIORITY UNTIL IT COMPLETES.
▪ SOFT REAL TIME OPERATING SYSTEM HAVE LIMITED UTILITY THAN REAL TIME OPERATING
SYSTEM.
▪ THEY ARE USED IN APPLIANCES LIKE MICROWAVES, WASHING MACHINES, TRAFFIC CONTROL
SYSTEM.
FUNCTIONS OF OPERATING SYSTEM
❖PROCESS MANAGEMENT
❖FILE MANAGEMENT
❖MEMORY MANAGEMENT
❖DEVICE MANAGEMENT
❖PROTECTION AND SECURITY
❖USER INTERFACE OR COMMAND INTERPRETER
PROCESS MANAGEMENT
❖A PROCESS IS A PROGRAM IN THE STATE OF EXECUTION OR IT CAN BE DEFINED AS THE UNIT OF
WORK FOR THE OPERATING SYSTEM .
❖A PROCESS CAN BE CREATED , EXECUTED AND STOPPED
❖THE PROCESS MANAGEMENT FUNCTION OF OPERATING SYSTEM INVOLVES THE EXECUTION OF
VARIOUS TASK SUCH AS CREATION OF PROCESS, SCHEDULING OF THE PROCESS , AND
MANAGEMENT OF DEADLOCK IN PROCESS AND TERMINATION IN THE PROCESS.
❖IT IS RESPONSIBILITY OF AN OPERATING SYSTEM TO MANAGE RUNNING PROCESS
❖IT ALSO HAS TO SYNCHRONIZE THE DIFFERENT PROCESSES EFFECTIVELY IN ORDER TO EDNSURE
CONSISTENCY OF SHARED DATA .
PROCESS MANAGEMENT
❖GENERALLY, ONLY ONE SINGLE PROCESS IS ALLOWED TO ACCESS THE CPU FOR ITS
EXECUTION AT PARTICULAR INSTANCE OF TIME .
❖WHEN ONE PROCESS IS BEING PROCESSED BY CPU , THE OTHER PROCESSES HAVE TO WAIT
UNTIL THE EXECUTION OF THAT PARTICULAR PROCESS IS COMPLETE.
❖AFTER THE CPU COMPLETES THE EXECUTION OF A PROCESS, THE RESOURCES BEING UTILIZED
BY THE PROCESS ARE MADE FREE AND THE EXECUTION OF THE NEXT PROCESS START.
❖IN SOME CASES , A COMPUTER SYSTEM SUPPORTS PARALLEL PROCESSING WHICH ALLOWS A
NUMBER OF PROCESSES TO BE EXECUTED SIMULTANEOUSLY.
PROCESS MANAGEMENT
❖ A PROCESS CONSIST OF A SET OF INSTRUCTIONS TO BE EXECUTED CALLED PROCESS CODE .
❖ THE RESOURCES THAT A PROCESS REQUIRES FOR ITS EXECUTION ARE CALLED PROCESS COMPONENT.
❖ SOME OF THE KEY CONCEPT GIVEN BY PROCESS MANAGEMENTS ARE :
▪ PROCESS STATE
▪ PROCESS CONTROL BLOCK
▪ PROCESS OPERATIONS
▪ PROCESS SCHEDULING
▪ PROCESS SYNCHRONIZATION
▪ INTER PROCESS COMMUNICATION
▪ DEADLOCK
CPU SCHEDULING
❖CPU SCHEDULING IS A PROCESS THAT ALLOWS ONE PROCESS TO USE THE CPU WHILE ANOTHER
PROCESS IS DELAYED (IN STANDBY) DUE TO UNAVAILABILITY OF ANY RESOURCES SUCH AS I / O
ETC. , THUS MAKING FULL USE OF THE CPU. THE PURPOSE OF CPU SCHEDULING IS TO MAKE THE
SYSTEM MORE EFFICIENT, FASTER, AND FAIRER.
❖OR IN MULTIPROGRAMMING ENVIRONMENT, MULTIPLE PROCESSES ARE IN MEMORY AND ARE
COMPETING FOR THE CPU AT THE SAME TIME .HENCE CHOICE HA TO BE MADE WHICH PROCESS TO
RUN NEXT .THE PART OF OPERATING SYSTEM THAT MAKES THE CHOICE IS CALLED SCHEDULER AND
THE ALGORITHM IT USES IS CALLED CPU SCHEDULING.
❖WHENEVER THE CPU BECOMES IDLE, THE OPERATING SYSTEM MUST SELECT ONE OF THE
PROCESSES IN THE LINE READY FOR LAUNCH. THE SELECTION PROCESS IS DONE BY A TEMPORARY
(CPU) SCHEDULER. THE SCHEDULER SELECTS BETWEEN MEMORY PROCESSES READY TO LAUNCH
AND ASSIGNS THE CPU TO ONE OF THEM.
CPU SCHEDULING
❖ SCHEDULING CAN BE NON PRE-EMPTIVE AND PRE-EMPTIVE .
❖ A NON-PREEMPTIVE SCHEDULING IS USED WHEN A PROCESS TERMINATES, OR A PROCESS SWITCHES FROM
RUNNING TO THE WAITING STATE. IN THIS SCHEDULING, ONCE THE RESOURCES (CPU CYCLES) ARE ALLOCATED
TO A PROCESS, THE PROCESS HOLDS THE CPU TILL IT GETS TERMINATED OR REACHES A WAITING STATE. IN THE
CASE OF NON-PREEMPTIVE SCHEDULING DOES NOT INTERRUPT A PROCESS RUNNING CPU IN THE MIDDLE OF
THE EXECUTION. INSTEAD, IT WAITS TILL THE PROCESS COMPLETES ITS CPU BURST TIME, AND THEN IT CAN
ALLOCATE THE CPU TO ANOTHER PROCESS.
❖ CPU ARRIVAL TIME: ARRIVAL TIME IS THE POINT OF TIME IN MILLI SECONDS AT WHICH A PROCESS ARRIVES AT
THE READY QUEUE TO BEGIN THE EXECUTION MARKS THE ENTRY POINT OF THE PROCESS IN THE QUEUE.
COMPUTED BEFORE THE EXECUTION OF PROCESS.
❖ CPU BURST TIME :MARKS THE EXIT POINT OF THE PROCESS IN THE QUEUE. COMPUTED AFTER THE EXECUTION
OF PROCESS. BURST TIME REFERS TO THE TIME REQUIRED IN MILLI SECONDS BY A PROCESS FOR ITS
EXECUTION. IT IS CALLED AS THE EXECUTION TIME OR RUNNING TIME OF THE PROCESS.
CPU SCHEDULING
❖PREEMPTIVE SCHEDULING IS USED WHEN A PROCESS SWITCHES FROM RUNNING STATE TO
READY STATE OR FROM THE WAITING STATE TO READY STATE. THE RESOURCES (MAINLY CPU
CYCLES) ARE ALLOCATED TO THE PROCESS FOR A LIMITED AMOUNT OF TIME AND THEN TAKEN
AWAY, AND THE PROCESS IS AGAIN PLACED BACK IN THE READY QUEUE IF THAT PROCESS STILL
HAS CPU BURST TIME REMAINING. THAT PROCESS STAYS IN THE READY QUEUE TILL IT GETS ITS
NEXT CHANCE TO EXECUTE.
❖PRE-EMPTION ALLOWS THE OPERATING ALLOWS THE OPERATING SYSTEM TO INTERRUPT THE
EXECUTING TASK AND HANDLING ANY TASK THAT REQUIRES IMMEDIATE ACTION.
CPU SCHEDULING
❖THERE ARE MANY DIFFERENT ALGORITHM THAT ARE USED TO SCHEDULE THE PROCESS
• FIRST COME FIRST SERVED (FCFS) SCHEDULING :FCFS CONSIDERED TO BE THE SIMPLEST OF ALL
OPERATING SYSTEM SCHEDULING ALGORITHMS. FIRST COME FIRST SERVE SCHEDULING
ALGORITHM STATES THAT THE PROCESS THAT REQUESTS THE CPU FIRST IS ALLOCATED THE CPU
FIRST AND IS IMPLEMENTED BY USING FIFO QUEUE.
• FCFS SUPPORTS NON-PREEMPTIVE AND PREEMPTIVE CPU SCHEDULING ALGORITHMS.
• TASKS ARE ALWAYS EXECUTED ON A FIRST-COME, FIRST-SERVE CONCEPT.
• FCFS IS EASY TO IMPLEMENT AND USE.
• THIS ALGORITHM IS NOT MUCH EFFICIENT IN PERFORMANCE, AND THE WAIT TIME IS QUITE HIGH
. SHORTEST JOB FIRST(SJF)
• SHORTEST JOB FIRST (SJF) IS A SCHEDULING PROCESS THAT SELECTS THE WAITING PROCESS
WITH THE SMALLEST EXECUTION TIME TO EXECUTE NEXT. THIS SCHEDULING METHOD MAY OR
MAY NOT BE PREEMPTIVE. SIGNIFICANTLY REDUCES THE AVERAGE WAITING TIME FOR OTHER
PROCESSES WAITING TO BE EXECUTED. THE FULL FORM OF SJF IS SHORTEST JOB FIRST.
• SHORTEST JOB FIRST HAS THE ADVANTAGE OF HAVING A MINIMUM AVERAGE WAITING TIME
AMONG ALL OPERATING SYSTEM SCHEDULING ALGORITHMS.
• IT IS ASSOCIATED WITH EACH TASK AS A UNIT OF TIME TO COMPLETE.
• IT MAY CAUSE STARVATION IF SHORTER PROCESSES KEEP COMING. THIS PROBLEM CAN BE
SOLVED USING THE CONCEPT OF AGEING.
LONGEST JOB FIRST
• LONGEST JOB FIRST(LJF) SCHEDULING PROCESS IS JUST OPPOSITE OF SHORTEST JOB FIRST
(SJF), AS THE NAME SUGGESTS THIS ALGORITHM IS BASED UPON THE FACT THAT THE PROCESS
WITH THE LARGEST BURST TIME IS PROCESSED FIRST. LONGEST JOB FIRST IS NON-PREEMPTIVE
IN NATURE.
• AMONG ALL THE PROCESSES WAITING IN A WAITING QUEUE, CPU IS ALWAYS ASSIGNED TO
THE PROCESS HAVING LARGEST BURST TIME.
• IF TWO PROCESSES HAVE THE SAME BURST TIME THEN THE TIE IS BROKEN USING FCFS I.E. THE
PROCESS THAT ARRIVED FIRST IS PROCESSED FIRST.
• LJF CPU SCHEDULING CAN BE OF BOTH PREEMPTIVE AND NON-PREEMPTIVE TYPES
PRIORITY SCHEDULING
• PREEMPTIVE PRIORITY CPU SCHEDULING ALGORITHM IS A PRE-EMPTIVE METHOD OF CPU SCHEDULING
ALGORITHM THAT WORKS BASED ON THE PRIORITY OF A PROCESS. IN THIS ALGORITHM, THE EDITOR
SETS THE FUNCTIONS TO BE AS IMPORTANT, MEANING THAT THE MOST IMPORTANT PROCESS MUST BE
DONE FIRST. IN THE CASE OF ANY CONFLICT, THAT IS, WHERE THERE ARE MORE THAN ONE PROCESSOR
WITH EQUAL VALUE, THEN THE MOST IMPORTANT CPU PLANNING ALGORITHM WORKS ON THE BASIS
OF THE FCFS (FIRST COME FIRST SERVE) ALGORITHM.
• SCHEDULES TASKS BASED ON PRIORITY.
• WHEN THE HIGHER PRIORITY WORK ARRIVES WHILE A TASK WITH LESS PRIORITY IS EXECUTED, THE
HIGHER PRIORITY WORK TAKES THE PLACE OF THE LESS PRIORITY ONE AND
• THE LATTER IS SUSPENDED UNTIL THE EXECUTION IS COMPLETE.
• LOWER IS THE NUMBER ASSIGNED, HIGHER IS THE PRIORITY LEVEL OF A PROCESS.
ROUND ROBIN
• ROUND ROBIN IS A CPU SCHEDULING ALGORITHM WHERE EACH PROCESS IS CYCLICALLY
ASSIGNED A FIXED TIME SLOT. IT IS THE PREEMPTIVE VERSION OF FIRST COME FIRST SERVE CPU
SCHEDULING ALGORITHM. ROUND ROBIN CPU ALGORITHM GENERALLY FOCUSES ON TIME
SHARING TECHNIQUE.
• IT’S SIMPLE, EASY TO USE, AND STARVATION-FREE AS ALL PROCESSES GET THE BALANCED CPU
ALLOCATION.
• ONE OF THE MOST WIDELY USED METHODS IN CPU SCHEDULING AS A CORE.
• IT IS CONSIDERED PREEMPTIVE AS THE PROCESSES ARE GIVEN TO THE CPU FOR A VERY LIMITED
TIME.
DEAD LOCK
• A PROCESS IN OPERATING SYSTEM USES RESOURCES IN THE FOLLOWING WAY.
1. REQUESTS A RESOURCE
2. USE THE RESOURCE
3. RELEASES THE RESOURCE
❖DEADLOCK IS A SITUATION WHERE A SET OF PROCESSES ARE BLOCKED BECAUSE EACH
PROCESS IS HOLDING A RESOURCE AND WAITING FOR ANOTHER RESOURCE ACQUIRED BY
SOME OTHER PROCESS.
❖OR IN ANOTHER WORD, A DEADLOCK IS A SITUATION WHEN A PROCESS WAITS ENDLESSLY
FOR A RESOURCE AND THE REQUESTED RESOURCE IS BEING USED BY ANOTHER PROCESS THAT
IS WAITING FOR SOME OTHER RESOURCE.
DEAD LOCK
REASONS FOR DEADLOCK
• DEADLOCK CAN ARISE IF THE FOLLOWING FOUR CONDITIONS HOLD SIMULTANEOUSLY
(NECESSARY CONDITIONS)
• MUTUAL EXCLUSION: TWO OR MORE RESOURCES ARE NON-SHAREABLE (ONLY ONE PROCESS CAN
USE AT A TIME)
HOLD AND WAIT: A PROCESS IS HOLDING AT LEAST ONE RESOURCE AND WAITING FOR
RESOURCES.
NO PREEMPTION: A RESOURCE CANNOT BE TAKEN FROM A PROCESS UNLESS THE PROCESS
RELEASES THE RESOURCE.
• CIRCULAR WAIT: A SET OF PROCESSES ARE WAITING FOR EACH OTHER IN CIRCULAR [Link] THIS
SITUATION, A PROCESS P1 WAITS FOR A RESOURCE HELD BY PROCESS P2 AND THE PROCESS P2
WAITS FOR THE RESOURCE HELD BY PROCESS P1.
PREVENTIVE MEASURES OF DEADLOCK
• 1) DEADLOCK PREVENTION OR AVOIDANCE:
• PREVENTION:
• THE IDEA IS TO NOT LET THE SYSTEM INTO A DEADLOCK STATE. THIS SYSTEM WILL MAKE SURE THAT ABOVE
MENTIONED FOUR CONDITIONS WILL NOT ARISE. THESE TECHNIQUES ARE VERY COSTLY SO WE USE THIS IN CASES
WHERE OUR PRIORITY IS MAKING A SYSTEM DEADLOCK-FREE.
ONE CAN ZOOM INTO EACH CATEGORY INDIVIDUALLY, PREVENTION IS DONE BY NEGATING ONE OF ABOVE
MENTIONED NECESSARY CONDITIONS FOR DEADLOCK. PREVENTION CAN BE DONE IN FOUR DIFFERENT WAYS:
• 1. ELIMINATE MUTUAL EXCLUSION 3. ALLOW PREEMPTION
• 2. SOLVE HOLD AND WAIT 4. CIRCULAR WAIT SOLUTION
• AVOIDANCE:
AVOIDANCE IS KIND OF FUTURISTIC. BY USING THE STRATEGY OF “AVOIDANCE”, WE HAVE TO MAKE AN ASSUMPTION.
WE NEED TO ENSURE THAT ALL INFORMATION ABOUT RESOURCES THAT THE PROCESS WILL NEED IS KNOWN TO US
BEFORE THE EXECUTION OF THE PROCESS. WE USE BANKER’S ALGORITHM TO AVOID DEADLOCK.
PREVENTIVE MEASURES OF DEADLOCK
• DEADLOCK DETECTION AND RECOVERY: IF DEADLOCK PREVENTION OR AVOIDANCE IS NOT
APPLIED TO THE SOFTWARE THEN WE CAN HANDLE THIS BY DEADLOCK DETECTION AND
RECOVERY. WHICH CONSIST OF TWO PHASES:
1. IN THE FIRST PHASE, WE EXAMINE THE STATE OF THE PROCESS AND CHECK WHETHER THERE IS
A DEADLOCK OR NOT IN THE SYSTEM.
2. IF FOUND DEADLOCK IN THE FIRST PHASE THEN WE APPLY THE ALGORITHM FOR RECOVERY
OF THE DEADLOCK.
PREVENTIVE MEASURES OF DEADLOCK
• DEADLOCK IGNORANCE: IF A DEADLOCK IS VERY RARE, THEN LET IT HAPPEN AND REBOOT
THE SYSTEM. THIS IS THE APPROACH THAT BOTH WINDOWS AND UNIX TAKE. WE USE THE
OSTRICH ALGORITHM FOR DEADLOCK IGNORANCE.
• IN DEADLOCK, IGNORANCE PERFORMANCE IS BETTER THAN THE ABOVE TWO METHODS BUT
THE CORRECTNESS OF DATA
MEMORY MANAGEMENT
• EVERY PROCESS THAT NEEDS TO EXECUTE IN COMPUTER SYSTEM REQUIRES CERTAIN AMOUNT
OF MEMORY.
• MEMORY MANAGEMENT FUNCTION OF OS IN ALLOCATING THE MAIN MEMORY SPACE TO
THE PROCESSES AND THEIR DATA AT THE TIME OF DATA EXECUTION .
• ALONG WITH ALLOCATION OF MEMORY SPACE, MEMORY MANAGEMENT ALSO PERFORMS
THE FOLLOWING ACTIVITIES:
❖UPGRADING THE PERFORMANCE OF THE COMPUTER SYSTEM
❖ENABLING THE EXECUTION OF MULTIPLE PROCESSES AT THE SAME TIME
❖SHARING THE SAME MEMORY SPACE AMONG DIFFERENT PROCESSES
MEMORY MANAGEMENT
❖ IT IS CONSIDERED AS THE ONE OF MOST IMPORTANT FUNCTION OF OPERATING SYSTEM
WHICH DIRECTLY AFFECTS THE EXECUTION TIME OF A PROCESS AS EXECUTION TIME DEPENDS
ON THE AVAILABILITY OF DATA IN THE MAIN MEMORY.
❖THEREFORE, AN OPERATING SYSTEM MUST PERFORM MEMORY MANAGEMENT IN SUCH A
MANNER THAT ESSENTIAL DATA IS ALWAYS PRESENT IN THE MAIN MEMORY.
❖AN EFFECTIVE MEMORY MANAGEMENT ENSURES ACCURACY, AVAILABILITY AND CONSISTENCY
OF THE DATA IMPORTED FROM THE SECONDARY MEMORY TO MAIN MEMORY.
MEMORY MANAGEMENT
❖AN EFFECTIVE MEMORY MANAGEMENT SYSTEM MUST ENSURE THE FOLLOWING:
• CORRECT RELOCATION OF DATA: THE DATA SHOULD BE RELOCATED TO AND FROM THE MAIN
MEMORY THE MAIN MEMORY IN SUCH A MANNER THAT THE CURRENTLY RUNNING PROCESS
ARE NOT AFFECTED.
• PROTECTION OF DATA FROM ILLEGAL CHANGE: THE DATA PRESENT IN THE MAIN MEMORY
SHOULD BE PROTECTED AGAINST UNAUTHORIZED ACCESS OR MODIFICATION.
• PROVISION TO SHARE THE INFORMATION :AN IDEAL MEMORY MANAGEMENT SYSTEM MUST
FACILITATE SHARING OF DATA AMONG MULTIPLE PROCESS.
• UTILIZE OF SMALL FREE SPACE: A MEMORY MANAGEMENT SYSTEM SHOULD BE ABLE TO APPLY
APPROPRIATE DEFRAGMENTATION TECHNIQUES IN ORDER TO UTILIZE SMALL CHUNKS OF
SCATTERED SPACES IN THE MAIN MEMORY.
MEMORY ALLOCATION
▪ IN SINGLE USER AND SINGLE TASK OPERATING SYSTEM LIKE MS-DOS , ONLY ONE PROCESS
CAN EXECUTE AT A TIME . AFTER THE TERMINATION OF THE PROCESS, THE ALLOCATED
MEMORY IS FREED AND IS AVAILABLE TO ANY PROCESS.
▪ BUT IN MULTIPROGRAMMING SYSTEM, IN ADDITION TO ALLOCATION AND DE-ALLOCATION
OF MEMORY , MORE TASK ARE INVOLVED LIKE KEEPING TRACK OF PROCESSES ALLOCATED TO
THE MEMORY , MEMORY PROTECTION AND SHARING ETC.
▪ THERE ARE DIFFERENT MEMORY ALLOCATION SCHEMES TO ALLOCATE MEMORY TO THE
PROCESSES THAT RESIDE IN THE MEMORY AT THE SAME TIME. THEY ARE
1. MULTIPLE PARTITION ALLOCATION
2. PAGING
MULTIPLE PARTITION ALLOCATION
▪ THE OPERATING SYSTEM KEEPS TRACK OF BLOCKS OF MEMORY WHICH ARE FREE AND THOSE WHICH ARE
UNAVAILABLE.
▪ THE SINGLE BLOCK OF AVAILABLE MEMORY IS CALLED A HOLE.
▪ WHEN PROCESS REQUIRES MEMORY, A HOLE LARGE ENOUGH FOR THE PROCESS IS ALLOCATED .
▪ AS DIFFERENT PROCESS RELEASES THE MEMORY, THE RELEASED BLOCK OF MEMORY IS PLACED IN THE SET OF
HOLES .
▪ DURING ALLOCATION OF MEMORY, THE SET OF HOLES IS SEARCHER TO DETERMINE WHICH HOLE IS TO BE
ALLOCATED .
▪ FOR THIS, THREE HOLE ALLOCATION STRATEGIES ARE USED
➢ FIRST FIT(ALLOCATE THE FIRST HOLE THAT IS BIG ENOUGH FOR THE PROCESS)
➢ BEST FIT(ALLOCATE THE SMALLEST WHOLE THAT IS BIG ENOUGH FOR THE PROCESS)
➢ WORST FIT(ALLOCATE THE LARGEST AVAILABLE HOLE)
MULTIPLE PARTITION ALLOCATION
➢ MEMORY ALLOCATED USING ANY OF THESE STRATEGIES RESULT IN FRAGMENTATION.
➢ WHEN THE PROCESSES ARE ALLOCATED MEMORY AND REMOVED FROM MEMORY , THE FREE
MEMORY IS BROKEN INTO SMALL PIECES.
➢ THESE SMALL PIECES OF FRAGMENTED MEMORY LIE UNUSED .
➢ PAGING SCHEME IS USED TO REMOVE FRAGMENTATION.
PAGING
➢ IN PAGING, THE PHYSICAL MEMORY IS BROKEN INTO FIXED SIZE BLOCKS CALLED FRAMES.
➢ THE LOGICAL MEMORY IS BROKEN INTO BLOCKS OF THE SAME SIZE CALLED PAGES .
➢ WHEN PROCESS IS EXECUTED, ITS PAGE ARE LOADED INTO THE FRAMES.
➢ AN ADDRESS GENERATED BY CPU HAS TWO PARTS-PAGE NUMBER AND PAGE OFFSET.
➢ A PAGE TABLE IS MAINTAINED BY THE OPERATING SYSTEM THAT MAPS THE PAGE NUMBER TO THE FRAME
NUMBER.
➢ THE PAGE NUMBER IS USED TO INDEX THE PAGE TABLE AND GET THE FRAME NUMBER .
➢ THE PAGE OFFSET IS ADDED TO THE PAGE FRAME NUMBER TO GET THE PHYSICAL MEMORY ADDRESS.
➢ THE FRAME NEED NOT TO BE CONTIGUOUS AND CAN RESIDE ANYWHERE IN THE MEMORY.
➢ A PROCESS CAN BE ALLOCATED MEMORY FROM HOLES CREATED BY FRAGMENTATION, WHICH MAY BE
ANYWHERE IN THE MEMORY.
VIRTUAL MEMORY
➢ SOME APPLICATION ARE LARGE WHICH REQUIRES LARGE MEMORY .
➢ SOMETIMES WHOLE PROGRAM CANNOT BE LOADED INTO THE MEMORY.
➢ HENCE VIRTUAL MEMORY ALLOWS THE EXECUTION OF THOSE PROCESSES THAT ARE NOT
COMPLETELY IN MEMORY WHICH IS IMPLEMENTED BY DEMAND PAGING SIMILAR TO PAGING WITH
SWAPPING.
➢ SWAPPING IS PROCESS OF TRANSFERRING OF BLOCK OF DATA FROM THE SECONDARY STORAGE
DEVICE TO MEMORY OR VICE-VERSA.
➢ IN DEMAND PAGING, THE PROCESSES RESIDES IN THE ONLINE SECONDARY MEMORY. WHEN
PROCESS EXECUTES AND THE PAGE IS REQUIRED, THAT PAGE IS SWAPPED IN INTO THE MEMORY.
➢ THIS ALLOWS EXECUTION OF LARGE SIZED PROGRAMS WITHOUT LOADING THEM COMPLETELY IN
THE MEMORY.
FILE MANAGEMENT
➢ THE FILE MANAGEMENT FUNCTION OF THE OPERATING SYSTEM INVOLVES HANDLING THE FILE SYSTEM WHICH
CONSIST OF TWO PARTS- A SET OF FILES AND DIRECTORY STRUCTURE .
➢ FILE IS A COLLECTION OF RELATED INFORMATION HAS A NAME, AND IS STORED ON A SECONDARY STORAGE .
➢ DATA CANNOT BE STORED ON THE SECONDARY STORAGE DEVICE, IS IT IS NOT IN THE FORM OF A FILE.
➢ THE INFORMATION STORED IN A FILE CAN BE ACCESSED IN DIFFERENT WAYS-SEQUENTIAL AND RANDOM
ACCESS.
➢ DIRECTORY STRUCTURE PROVIDES INFORMATION ABOUT THE FILES STORED ON THE SECONDARY STORAGE .
➢ DIRECTORY CONTAINS INFORMATION ABOUT ALL THE FILES WITHIN IT.
➢ OR IN SIMPLER WORDS , DIRECTORY CAN BE DEFINED AS LOCATION WHICH HELPS TO MANAGES FILES .
FILE MANAGEMENT
➢ A DIRECTORY FURTHER MAY HAVE SUBDIRECTORY DEFINED WITHIN IT.
➢ DIRECTORY CONTAINS THE NAME, LOCATION , SIZE AND TYPES OF ALL THE FILES DEFINED ON THE
DEVICE .
➢ THE OPERATING SYSTEM MANAGES THE STORAGE MEDIA LIKE THE DISK AND IMPLEMENTS THE
CONCEPT OF FILE.
➢ SYSTEM CALLS ARE AN INTERFACE BETWEEN THE PROCESS AND OPERATING SYSTEM .
➢ OS PROVIDES SYSTEM CALLS FOR CREATING, READING ,WRITING, DELETING, REPOSITIONING AND
TRUNCATING THE FILE.
➢ SOME OF THE OPERATION THAT CAN BE PERFORMED ON A DIRECTORY ARE –SEARCH FOR FILE,
CREATE , DELETE AND RENAME A FILE, LIST A DIRECTORY AND TRAVERSE THE FILE SYSTEM WITHIN A
DIRECTORY.
DEVICE MANAGEMENT
➢ THE PERIPHERAL DEVICES HAVE VARYING CHARACTERISTICS LIKE CHARACTER OR BLOCK DEVICE, SEQUENTIAL OR RANDOM ACCESS
DEVICE AND DEDICATED OR SHARED DEVICE .
➢ OS PROVIDES APPROPRIATE FUNCTIONALITY TO THE APPLICATION PROGRAMS FOR CONTROLLING DIFFERENT ASPECTS OF THE
DEVICES.
➢ DEVICE MANAGEMENT IS RESPONSIBLE FOR MANAGING ALL HARDWARE DEVICES OF THE COMPUTER SYSTEM.
➢ IT IS RESPONSIBILITY OF THE COMPUTER SYSTEM TO KEEP TRACK OF THE STATUS OF ALL DEVICES IN THE COMPUTER .
➢ IF A DEVICE REQUESTED BY A PROCESS IS FREE AT A SPECIFIC INSTANT OF TIME, THE OPERATING SYSTEM ALLOCATES IT TO THE
PROCESS.
➢ AN OPERATING SYSTEM MANAGES THE DEVICES IN THE COMPUTER SYSTEM IS EQUIPPED WITH CORRESPONDING DEVICE
CONTROLLER.
➢ CONTROLLERS ARE CONNECTED WITH EACH OTHER THROUGH A SYSTEM BUS WHICH CONTAINS BUFFER REGISTERS TO STORE THE
DATA TEMPORARILY.
➢ THE TRANSFER OF THE DATA BETWEEN A RUNNING PROCESS AND VARIOUS DEVICES OF THE COMPUTER SYSTEM IS ACCOMPLISHED
ONLY THROUGH THESE DEVICE CONTROLLER.
DEVICE MANAGEMENT
➢ AN OS MANAGES DEVICE COMMUNICATION VIA THEIR RESPECTIVE DRIVERS.
➢ IT PERFORMS THE FOLLOWING ACTIVITIES FOR DEVICE MANAGEMENT. KEEPS TRACK OF ALL
DEVICES CONNECTED TO THE SYSTEM.
➢ DESIGNATES A PROGRAM RESPONSIBLE FOR EVERY DEVICE KNOWN AS THE 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.
➢ THE DEVICE DRIVER MAY ALSO BE REGARDED AS THE SOFTWARE PROGRAMS ACTING AS AN
INTERMEDIARY BETWEEN THE PROCESS AND THE DEVICE CONTROLLER
BUFFER
• BUFFER IS A MEMORY AREA THAT STORES THE DATA , WHILE IT IS BEING TRANSFERRED
BETWEEN TWO DEVICES OR BETWEEN A DEVICE AND APPLICATION.
• THE SPEED AT WHICH I/O DEVICES CAN TRANSFER DATA IS DIFFERENT FROM THE SPEED AT
WHICH THE DATA IS PROCESSED .
• BUFFERING HANDLES THE SPEED MISMATCH BY STORING THE DATA IN A BUFFER TILL THE
COMPLETE DATA HAS ARRIVED AND THEN WRITING IT IN SINGLE WRITE OPERATION.
SPOOL (SIMULTANEOUS PERIPHERAL OPERATION ON-
LINE)
• SPOOL IS A BUFFER IN MEMORY AREA OR DISK . SPOOLING STORES THE JOBS IN AS SPOOL
WHERE THE DEVICES CAN ACCESS IT WHEN IT IS READY.
• SPOOLING IS COMMONLY USED FOR PRINTERS .
• USERS MAY GIVE SEVERAL PRINT COMMANDS, AND CONTINUE WORKING WITH OTHER
OPERATIONS.
• HOWEVER , THE PRINTER CAN ONLY ONE JOB AT A TIME .
• THE REST OF JOBS ARE STORED IN THE SPOOL IN A QUEUE AND THE PRINTER ACCESSES THE
SPOOL WHEN IT IS READY TO PRINT THE NEXT JOB.
PROTECTION AND SECURITY
• THE ACCESS OF PROGRAMS, PROCESSES, AND USERS , TO THE RESOURCES DEFINED BY THE COMPUTER ARE
CONTROLLED BY THE PROTECTION MECHANISM.
• PROTECTION ENSURES THAT THE RESOURCES OF THE COMPUTER ARE USED IN A CONSISTENT WAY.
• SECURITY MECHANISM PREVENTS UNAUTHORIZED ACCESS TO THE COMPUTER .
• IT IS CONCERNED WITH SECURITY OF SOFTWARE , SECURITY OF DATA AND SECURITY OF PHYSICAL RESOURCES
OF THE COMPUTER .
• SECURITY CAN BE ENSURED USING-USER ACCOUNTS: INDIVIDUAL ACCOUNTS FOR EACH USER, USER
AUTHENTICATION –USING PASSWORD PROTECTION ,ACCESS RIGHT-DEFINE RIGHTS FOR ACCESS OF DIFFERENT
TYPES INFORMATION OF DIFFERENT PEOPLE,DATA ENCRYPTION: STORE DATA IN COMPUTER IN ENCRYPTED
FORM , DATA BACKUP:STORING DATA ON PERIPHERAL DEVICES OTHER THAN HARD DISK .
OPEN SOURCE OPERATING SYSTEM
• OPEN SOURCE OPERATING SYSTEM IS OPERATING SYSTEM THAT IS FREE TO USE AND WHICH PROVIDES
ORIGINAL CODE WHERE THE SOURCE CODE IS AVAILABLE TO THE PUBLIC, WHICH ENABLES THEM TO MODIFY
/ENHANCE THE OPERATING SYSTEM AND REDISTRIBUTE THE MODIFY FORM OF OPERATING SYSTEM.
• THE ADVANCE USER CAN MODIFY THE CODE OF THE OPERATING SYSTEM TO MAKE IT WORKS BETTER FOR
THEM IN STARTING THE COMPUTER OR A LIKE INTERFACE.
• THEY ARE RELEASED UNDER A LICENSE WHERE THE COPYRIGHT HOLDER ALLOWS OTHER TO STUDY, CHANGE
AS WELL AS DISTRIBUTE THE SOFTWARE TO OTHER PEOPLE .
• EXAMPLE:LINUX, COSMOS, FREEDOS, GENODE, GHOST OS, ITS , OSV, PHANTOM OS .
USER INTERFACE
• A user interface (UI) is the space where interactions between humans and machines occur.
• It encompasses the visual elements, controls, and mechanisms through which a user interacts with a
system, application, or device to perform tasks, access information, or achieve goals.
• A well-designed ui ensures usability, efficiency, and a seamless user experience
USER INTERFACE
• Graphical User Interface (GUI):Uses windows, icons, and menus (e.g., desktop operating systems
like Windows or macOS).
• Command-Line Interface (CLI):Relies on text-based commands entered by the user (e.g., Terminal,
Command Prompt).
• Voice User Interface (VUI):Allows users to interact through voice commands (e.g., Amazon Alexa,
Siri).
• Natural User Interface (NUI):Employs gestures or touch to interact naturally (e.g., touchscreen
devices, VR systems).
KEY COMPONENTS OF USER INTERFACE
[Link] ELEMENTS:
• BUTTONS: INTERACTIVE ELEMENTS THAT TRIGGER ACTIONS.
• ICONS: GRAPHICAL REPRESENTATIONS OF FUNCTIONALITIES OR FEATURES.
• MENUS: LISTS OF OPTIONS OR COMMANDS FOR NAVIGATION.
• TYPOGRAPHY: TEXT STYLES AND FONTS USED TO PRESENT INFORMATION.
• COLOR SCHEME: COLORS USED TO CREATE VISUAL HARMONY AND GUIDE USERS.
KEY COMPONENTS OF USER INTERFACE
2. INTERACTIVE ELEMENTS:
• FORMS: INPUT FIELDS, CHECKBOXES, RADIO BUTTONS FOR USER DATA ENTRY.
• SLIDERS: ALLOW USERS TO SELECT VALUES OR RANGES.
• DRAG-AND-DROP: ENABLES INTUITIVE MANIPULATION OF ELEMENTS.
KEY COMPONENTS OF USER INTERFACE
3. LAYOUTS AND NAVIGATION:
• GRID SYSTEMS: STRUCTURE THE PLACEMENT OF ELEMENTS.
• NAVIGATION BARS: HELP USERS MOVE BETWEEN SECTIONS OR PAGES.
• BREADCRUMBS: SHOW THE USER'S LOCATION WITHIN A SYSTEM.
KEY COMPONENTS OF USER INTERFACE
4. FEEDBACK MECHANISMS:
• POP-UPS/ALERTS: INFORM USERS ABOUT ERRORS OR CONFIRMATIONS.
• LOADING INDICATORS: SHOW PROGRESS DURING OPERATIONS.
• TOOLTIPS: PROVIDE ADDITIONAL INFORMATION ON HOVER.
KEY COMPONENTS OF USER INTERFACE
[Link] AND ACCESSIBILITY:
• RESPONSIVE DESIGN: ADAPTS TO VARIOUS SCREEN SIZES (MOBILE, TABLET, DESKTOP).
• ACCESSIBILITY FEATURES: SUPPORT FOR USERS WITH DISABILITIES, SUCH AS SCREEN READERS,
HIGH CONTRAST, OR KEYBOARD NAVIGATION.
KEYUI DESIGN PRINCIPLES
•Clarity:
•The design should be simple and easy to understand.
•Avoid clutter by presenting only necessary elements.
•Consistency:
•Use consistent colors, fonts, and layouts across screens.
•Familiar patterns improve user predictability and comfort.
•Feedback:
•Provide visual or auditory responses to user actions (e.g., button press animations, confirmation messages).
•Accessibility:
•Ensure designs are inclusive, catering to users with varying abilities.
•Use tools like WCAG (Web Content Accessibility Guidelines) for standards.
•Intuitive Navigation:
•Arrange elements logically.
•Use recognizable icons and clear labels.
•Responsiveness:
•Optimize designs for different devices and screen sizes.
•Ensure smooth transitions and adaptability.
USER EXPERIENCE(UX)
• User experience (UX) refers to the overall experience a person has when interacting with a
product, service, or system.
• It encompasses all aspects of the interaction, including usability, accessibility, design, and
emotional satisfaction.
• The goal of ux is to create intuitive, efficient, and enjoyable experiences for users while achieving
business or functional objectives.
UX VS. UI
• UX (USER EXPERIENCE):
• FOCUSES ON THE OVERALL JOURNEY AND SATISFACTION OF THE USER.
• DEALS WITH RESEARCH, FUNCTIONALITY, AND EXPERIENCE FLOW.
• UI (USER INTERFACE):
• CONCENTRATES ON THE VISUAL AND INTERACTIVE ELEMENTS OF THE PRODUCT.
• FOCUSES ON LOOK AND FEEL, AESTHETICS, AND USER INTERACTION MECHANISMS.