wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Traditional UNIX Scheduling

profile
Parth Patel
Sep 09, 2024
0 Likes
0 Discussions
189 Reads

Traditional UNIX scheduling, as used in  SVR3  and  4.3 BSD UNIX , is primarily designed for a  time-sharing interactive environment . The goal of the scheduling algorithm is to provide good  response time  for interactive users while ensuring that low-priority background jobs do not starve. Although modern UNIX systems have replaced this algorithm, understanding its structure offers valuable insights into  time-sharing scheduling .


 Multilevel Feedback with Round Robin:-


The traditional UNIX scheduler employs a  multilevel feedback queue  combined with a  round-robin scheduling  approach within each priority queue. This means processes are assigned to different queues based on their priority, and within each queue, processes take turns executing.


One-Second Preemption:-


The system uses  one-second preemption , meaning that if a running process does not block or complete within one second, it is preempted. This ensures that no single process can monopolize the CPU for too long, maintaining fairness across processes.


Priority Calculation:-


Process priority is determined based on the process type and  execution history . The following formulas are used to calculate CPU utilization and process priority:



Priority Recalculation:-


The priority of each process is recomputed  once per second , at which point a new scheduling decision is made. The  base priority  ensures processes remain within fixed priority bands. These bands group processes into different priority levels, such as  Swapper ,  Block I/O device control ,  File manipulation ,  Character I/O device control , and  User processes .


The bands are used to:


-  Optimize access to block devices  (like disk drives).


-  Respond quickly to system calls .



I/O-Bound vs. CPU-Bound Processes:-


Within the  user process band , the scheduler penalizes  processor-bound processes  (those using significant CPU time) and favors  I/O-bound processes  (those waiting for input/output operations). This helps improve system efficiency by ensuring that processes waiting for I/O can proceed quickly, while processes that are consuming large amounts of CPU time are deprioritized.


Scheduling Example:-


An example of process scheduling might involve three processes (A, B, and C), all starting at the same time with a  base priority  of 60. Ignoring the  nice value , the clock interrupts the system 60 times per second, incrementing a counter for the running process. Assuming none of the processes block themselves and no other processes are ready to run, they are scheduled based on their priorities, and preempted as necessary.


 Conclusion:-


The traditional UNIX scheduling algorithm is well-suited to general-purpose time-sharing environments. By using multilevel feedback, round-robin preemption, and execution history, it balances the needs of  interactive users  and  background tasks  while ensuring efficient use of system resources, especially I/O devices.


Comments ()


Sign in

Read Next

Cybersecurity Standards for Automotive

Blog banner

Difference Between Classification And Clustering

Blog banner

Social Engineering Attacks

Blog banner

How Social Media Algorithms Will Work in 2026?

Blog banner

KAHAWA TEA

Blog banner

Deadlocks in operating system

Blog banner

Zero Trust Security Model: Revolutionizing Cybersecurity in the Digital Age

Blog banner

What's Better : Supervised or Unsupervised Learning

Blog banner

The War With Cold On Earth

Blog banner

An Overivew Of Cache Memory

Blog banner

SESSION HIJACKING

Blog banner

Theads

Blog banner

Data Visualization- Importance and tools (Tableau,Power BI, Matplotlib)

Blog banner

The New Rules of UI/UX Design Every Website Must Follow in 2026

Blog banner

Cyber Forensics on IOT Devices

Blog banner

How To Invest in Indian Stock Market For Beginners. ~ Tutorial 2 (NSDL And CSDL) Continued...

Blog banner

Flipkart

Blog banner

How Laughing Gas Makes Your Dental Visit So Much Easier

Blog banner

Why Should You Schedule Tweets on Twitter?

Blog banner

Multithreading in Operating System

Blog banner

Understanding Gen Z: A Generation Facing Crisis and Potential

Blog banner

Europe Through My Lens

Blog banner

Understanding Mobile Device Forensics

Blog banner

Importance of internet

Blog banner

MORDERN UNIX SYSTEM

Blog banner

Memory Management - operating system

Blog banner

Cyber Laws In India and Around the World

Blog banner

Jio .....A Revolution ?? ??

Blog banner

Health and fitness

Blog banner

Principles of Service Operation

Blog banner

The Truth Behind Viral DIY Dental Hacks

Blog banner

Deadlock

Blog banner

Data is an asset and it is your responsibility!

Blog banner

virtual machine

Blog banner

RACI model in IT services

Blog banner

Precision-Recall in Data Science

Blog banner

Thumb Sucking: When It’s Normal and When It Becomes a Dental Problem

Blog banner

Getting started with Android Studio

Blog banner

10 Interesting facts you should know!!!

Blog banner

5 Things I As A Dentist Would Never Do (And What You Can Learn From It)

Blog banner

LISP - Library Management System

Blog banner

What is process

Blog banner