CPU Scheduling: Dispatcher, CPU scheduling is a process which allows one process to use the CPU while the execution of another process is on hold(in waiting state) due to unavailability of any resource like I/O etc., thereby making full use of CPU. The aim of CPU scheduling is to make the system efficient, fast and fair.
The dispatcher is the module that gives control of the CPU to the process selected by the
short-term scheduler.
It consists of CPU scheduling algorithms, examples, scheduling problems, realtime scheduling algorithms and issues. Multiprocessing and multicore scheduling.
Multilevel queue scheduling divides processes into separate queues based on attributes like priority or process type. The ready queue is divided into a system process queue, interactive process queue, and background process queue, which are run in order of decreasing priority. Each queue can use a different scheduling algorithm like first come first serve, shortest job first, or round robin. This scheduling method allows for different treatment of process types but risks starvation of lower priority queues if higher priority processes continue arriving.
The document discusses different memory management strategies:
- Swapping allows processes to be swapped temporarily out of memory to disk, then back into memory for continued execution. This improves memory utilization but incurs long swap times.
- Contiguous memory allocation allocates processes into contiguous regions of physical memory using techniques like memory mapping and dynamic storage allocation with first-fit or best-fit. This can cause external and internal fragmentation over time.
- Paging permits the physical memory used by a process to be noncontiguous by dividing memory into pages and mapping virtual addresses to physical frames, allowing more efficient use of memory but requiring page tables for translation.
This document discusses semaphores, which are integer variables that coordinate access to shared resources. It describes counting semaphores, which allow multiple processes to access a critical section simultaneously up to a set limit, and binary semaphores, which only permit one process at a time. Key differences are that counting semaphores can have any integer value while binary semaphores are limited to 0 or 1, and counting semaphores allow multiple slots while binary semaphores provide strict mutual exclusion. Limitations of semaphores include potential priority inversion issues and deadlocks if not used properly.
OS Process Synchronization, semaphore and Monitors
The document summarizes key concepts in process synchronization and concurrency control, including:
1) Process synchronization techniques like semaphores, monitors, and atomic transactions that ensure orderly access to shared resources. Semaphores use wait() and signal() operations while monitors provide mutual exclusion through condition variables.
2) Concurrency control algorithms like locking and two-phase locking that ensure serializability of concurrent transactions accessing a database. Locking associates locks with data items to control concurrent access.
3) Challenges in concurrency control like deadlocks, priority inversion, and starvation that synchronization mechanisms aim to prevent. Log-based recovery with write-ahead logging and checkpoints is used to ensure atomicity of transactions in
Inter-process communication (IPC) allows processes to communicate and synchronize. Common IPC methods include pipes, message queues, shared memory, semaphores, and mutexes. Pipes provide unidirectional communication while message queues allow full-duplex communication through message passing. Shared memory enables processes to access the same memory region. Direct IPC requires processes to explicitly name communication partners while indirect IPC uses shared mailboxes.
The document discusses various scheduling algorithms used in operating systems including:
- First Come First Serve (FCFS) scheduling which services processes in the order of arrival but can lead to long waiting times.
- Shortest Job First (SJF) scheduling which prioritizes the shortest processes first to minimize waiting times. It can be preemptive or non-preemptive.
- Priority scheduling assigns priorities to processes and services the highest priority process first, which can potentially cause starvation of low priority processes.
- Round Robin scheduling allows equal CPU access to all processes by allowing each a small time quantum or slice before preempting to the next process.
The document provides an overview of operating systems, including what constitutes an OS (kernel, system programs, application programs), storage device hierarchy, system calls, process creation and states, process scheduling, inter-process communication methods like shared memory and pipes, synchronization techniques like mutexes and semaphores, readers-writers problem, and potential for deadlocks. Key concepts covered include kernel mode vs user mode, process control blocks, context switching, preemption, and requirements for deadlock situations.
The document discusses the actions taken by the kernel during a context switch between processes. It explains that a context switch involves suspending the currently running process, storing its context in the Process Control Block (PCB), and loading and resuming the context of another process from its PCB. The PCB contains information about the process state, registers, memory management, and more. Context switching has significant overhead as it involves saving and loading all this process context data.
This document provides an overview of CPU scheduling concepts including multiprogramming, multitasking, process creation, the short-term scheduler, process control blocks, the long-term scheduler, and the medium-term scheduler. It also discusses classifications of processes as interactive, batch, or real-time processes and as I/O-bound or CPU-bound processes. Finally, it introduces common CPU scheduling algorithms like first-come first-served (FCFS), shortest job first (SJF), and round-robin (RR).
CS8461 - Operating System Laboratory Manual prepared for the Engineering graduates admitted under 2017 Regulations, Anna University affiliated institutions of TamilNadu,India
The document discusses Windows XP's scheduling algorithm. It uses a priority-based, preemptive approach with 32 priority levels divided into variable and real-time classes. The scheduler ensures the highest priority thread runs by maintaining queues for each priority level and traversing from highest to lowest. Threads start at the process' base priority and may have their priority lowered after time quantums expire to limit CPU consumption of compute-intensive threads.
This presentation discusses system calls and provides an overview of their key aspects:
System calls provide an interface between processes and the operating system. They allow programs to request services from the OS like reading/writing files. There are different methods of passing parameters to the OS, such as via registers, parameter blocks, or pushing to the stack. System calls fall into categories including process control, file management, device management, information maintenance, and communication. An example is given of how system calls would be used in a program to copy data between two files.
The document discusses different CPU scheduling algorithms used in operating systems. It describes non-preemptive and preemptive scheduling and explains the key differences. It then covers four common scheduling algorithms - first come first served (FCFS), round robin, priority scheduling, and shortest job first (SJF) - and compares their advantages and disadvantages.
The document discusses memory management techniques used in operating systems. It describes logical vs physical addresses and how relocation registers map logical addresses to physical addresses. It covers contiguous and non-contiguous storage allocation, including paging and segmentation. Paging divides memory into fixed-size frames and pages, using a page table and translation lookaside buffer (TLB) for address translation. Segmentation divides memory into variable-sized segments based on a program's logical structure. Virtual memory and demand paging are also covered, along with page replacement algorithms like FIFO, LRU and optimal replacement.
The document discusses different scheduling algorithms used by operating systems. It begins by explaining that the scheduler decides which process to activate from the ready queue when multiple processes are runnable. There are long-term, medium-term, and short-term schedulers that control admission of jobs, memory allocation, and CPU sharing respectively. The goal of scheduling is to optimize system performance and resource utilization while providing responsive service. Common algorithms include first-come first-served (FCFS), shortest job first (SJF), priority scheduling, and round-robin. FCFS schedules processes in the order of arrival while SJF selects the shortest job first. Priority scheduling preempts lower priority jobs.
The document discusses operating system scheduling. It defines key scheduling criteria like CPU utilization, throughput, turnaround time, waiting time, and response time. It also outlines common scheduling algorithms like first-come first-served (FCFS), shortest-job-next (SJN), priority scheduling, shortest remaining time, and round robin. For each algorithm, it provides examples of how they work and how to calculate metrics like waiting time and turnaround time. It also distinguishes between time-sharing systems, which context switch between processes frequently for fast response, and parallel processing systems, which divide programs across multiple processors.
1. Process management is an integral part of operating systems for allocating resources, enabling information sharing, and protecting processes. The OS maintains data structures describing each process's state and resource ownership.
2. Processes go through discrete states and events can cause state changes. Scheduling selects processes to run from ready, device, and job queues using algorithms like round robin, shortest job first, and priority scheduling.
3. CPU scheduling aims to maximize utilization and throughput while minimizing waiting times using criteria like response time, turnaround time, and fairness between processes.
The document discusses process scheduling in operating systems. It covers basic concepts like scheduling criteria, algorithms like FCFS, SJF, priority and round robin scheduling. It explains key process states and scheduling techniques like preemptive and non-preemptive. Examples are provided to illustrate different scheduling algorithms and how they optimize criteria like waiting time, response time and CPU utilization.
* Using SJF preemptive scheduling:
P2 will execute from time 0 to 5 ms.
P3 will execute from time 5 to 8 ms.
P1 will execute from time 8 to 18 ms.
P4 will execute from time 18 to 38 ms.
P5 will execute from time 38 to 40 ms.
Total waiting time = (10-5) + (8-5) + (18-0) + (38-5) + (40-10) = 5.6 + 3 + 18 + 33 + 30 = 90
Average waiting time = Total waiting time / Number of processes = 90/5 = 5.6 ms
* Using Priority preemptive scheduling
The document discusses different CPU scheduling algorithms:
1. First Come First Served scheduling allocates CPU to the longest waiting process first, which can result in longer processes waiting behind shorter ones (convoy effect).
2. Shortest Job First scheduling allocates CPU to the process with the shortest estimated run time, minimizing average wait time. Preemptive SJF allows interrupting the current process if a shorter one arrives.
3. Priority scheduling assigns priority levels and allocates CPU to the highest priority ready process. Preemption and aging policies address starvation of lower priority processes.
4. Round Robin scheduling allocates a time quantum (e.g. 10-100ms) to each ready process
The document discusses various CPU scheduling algorithms used in operating systems. It describes the main objective of CPU scheduling as maximizing CPU utilization by allowing multiple processes to share the CPU. It then explains different scheduling criteria like throughput, turnaround time, waiting time and response time. Finally, it summarizes common scheduling algorithms like first come first served, shortest job first, priority scheduling and round robin scheduling.
Operating Systems Third Unit - Fourth Semester - Engineering
The document describes CPU scheduling concepts in a multiprogramming operating system. It discusses how CPU scheduling depends on CPU bursts and I/O waits as processes alternate between the two states. The scheduler selects processes from the ready queue to run on the CPU. Scheduling can be preemptive, occurring when a process changes states, or non-preemptive. Common scheduling algorithms like first-come, first-served, shortest job first, priority, and round robin are described. Optimization criteria for scheduling like CPU utilization, throughput, turnaround time and waiting time are also covered.
The document discusses various scheduling algorithms: First Come First Served (FCFS), Shortest Job First (SJF), priority scheduling, and round robin (RR). FCFS schedules processes in the order that they arrive. SJF selects the process with the shortest estimated runtime. Priority scheduling prioritizes processes based on assigned priorities. Round robin gives each process a time slice or quantum to use the CPU before switching to another process. Examples are provided to illustrate how each algorithm works.
CPU scheduling is the process by which the CPU selects which process to execute next from among processes in memory that are ready to execute. The CPU scheduler selects processes from the ready queue to execute. The goal of CPU scheduling is to maximize CPU utilization and throughput while minimizing waiting time and response time. Common CPU scheduling algorithms include first come first serve (FCF) which services processes in the order they arrive, and shortest job first (SJF) which selects the process with the shortest estimated run time to execute next.
The document discusses operating system concepts including CPU scheduling, process states, and scheduling algorithms. It covers historical perspectives on CPU scheduling and bursts, preemptive vs. nonpreemptive scheduling, and scheduling criteria. Common scheduling algorithms like first-come, first-served (FCFS), shortest-job-first (SJF), priority, and round robin are described. The roles of long-term and short-term schedulers are defined.
This document presents an overview of priority scheduling algorithms. It discusses basic concepts of scheduling, criteria like CPU utilization and turnaround time. It provides an example of priority scheduling with and without preemption. Advantages include ease of use and suitability for varying time requirements. A disadvantage is potential indefinite blocking of low priority processes.
Context switching allows a system to switch between processes by saving the state of the current process and loading the saved state for a new process. This allows multiple processes to share resources like the CPU and gives the appearance of parallel processing. Context switching has advantages like enabling multitasking but also has disadvantages like requiring time for the switching process itself.
The document discusses the Shortest Job First (SJF) CPU scheduling algorithm. SJF is a preemptive scheduling policy that selects the waiting process with the shortest execution time/burst time to execute next. The algorithm involves sorting processes by arrival time and selecting the process with the shortest burst time. An example shows the Gantt chart and calculations for average turnaround time and waiting time using SJF. Advantages include shorter jobs being favored and minimum average waiting time, while disadvantages are potential starvation of longer jobs and inability for short-term CPU scheduling.
It consists of CPU scheduling algorithms, examples, scheduling problems, realtime scheduling algorithms and issues. Multiprocessing and multicore scheduling.
Multilevel queue scheduling divides processes into separate queues based on attributes like priority or process type. The ready queue is divided into a system process queue, interactive process queue, and background process queue, which are run in order of decreasing priority. Each queue can use a different scheduling algorithm like first come first serve, shortest job first, or round robin. This scheduling method allows for different treatment of process types but risks starvation of lower priority queues if higher priority processes continue arriving.
The document discusses different memory management strategies:
- Swapping allows processes to be swapped temporarily out of memory to disk, then back into memory for continued execution. This improves memory utilization but incurs long swap times.
- Contiguous memory allocation allocates processes into contiguous regions of physical memory using techniques like memory mapping and dynamic storage allocation with first-fit or best-fit. This can cause external and internal fragmentation over time.
- Paging permits the physical memory used by a process to be noncontiguous by dividing memory into pages and mapping virtual addresses to physical frames, allowing more efficient use of memory but requiring page tables for translation.
This document discusses semaphores, which are integer variables that coordinate access to shared resources. It describes counting semaphores, which allow multiple processes to access a critical section simultaneously up to a set limit, and binary semaphores, which only permit one process at a time. Key differences are that counting semaphores can have any integer value while binary semaphores are limited to 0 or 1, and counting semaphores allow multiple slots while binary semaphores provide strict mutual exclusion. Limitations of semaphores include potential priority inversion issues and deadlocks if not used properly.
OS Process Synchronization, semaphore and Monitorssgpraju
The document summarizes key concepts in process synchronization and concurrency control, including:
1) Process synchronization techniques like semaphores, monitors, and atomic transactions that ensure orderly access to shared resources. Semaphores use wait() and signal() operations while monitors provide mutual exclusion through condition variables.
2) Concurrency control algorithms like locking and two-phase locking that ensure serializability of concurrent transactions accessing a database. Locking associates locks with data items to control concurrent access.
3) Challenges in concurrency control like deadlocks, priority inversion, and starvation that synchronization mechanisms aim to prevent. Log-based recovery with write-ahead logging and checkpoints is used to ensure atomicity of transactions in
Inter-process communication (IPC) allows processes to communicate and synchronize. Common IPC methods include pipes, message queues, shared memory, semaphores, and mutexes. Pipes provide unidirectional communication while message queues allow full-duplex communication through message passing. Shared memory enables processes to access the same memory region. Direct IPC requires processes to explicitly name communication partners while indirect IPC uses shared mailboxes.
The document discusses various scheduling algorithms used in operating systems including:
- First Come First Serve (FCFS) scheduling which services processes in the order of arrival but can lead to long waiting times.
- Shortest Job First (SJF) scheduling which prioritizes the shortest processes first to minimize waiting times. It can be preemptive or non-preemptive.
- Priority scheduling assigns priorities to processes and services the highest priority process first, which can potentially cause starvation of low priority processes.
- Round Robin scheduling allows equal CPU access to all processes by allowing each a small time quantum or slice before preempting to the next process.
The document provides an overview of operating systems, including what constitutes an OS (kernel, system programs, application programs), storage device hierarchy, system calls, process creation and states, process scheduling, inter-process communication methods like shared memory and pipes, synchronization techniques like mutexes and semaphores, readers-writers problem, and potential for deadlocks. Key concepts covered include kernel mode vs user mode, process control blocks, context switching, preemption, and requirements for deadlock situations.
The document discusses the actions taken by the kernel during a context switch between processes. It explains that a context switch involves suspending the currently running process, storing its context in the Process Control Block (PCB), and loading and resuming the context of another process from its PCB. The PCB contains information about the process state, registers, memory management, and more. Context switching has significant overhead as it involves saving and loading all this process context data.
This document provides an overview of CPU scheduling concepts including multiprogramming, multitasking, process creation, the short-term scheduler, process control blocks, the long-term scheduler, and the medium-term scheduler. It also discusses classifications of processes as interactive, batch, or real-time processes and as I/O-bound or CPU-bound processes. Finally, it introduces common CPU scheduling algorithms like first-come first-served (FCFS), shortest job first (SJF), and round-robin (RR).
CS8461 - Operating System Laboratory Manual prepared for the Engineering graduates admitted under 2017 Regulations, Anna University affiliated institutions of TamilNadu,India
The document discusses Windows XP's scheduling algorithm. It uses a priority-based, preemptive approach with 32 priority levels divided into variable and real-time classes. The scheduler ensures the highest priority thread runs by maintaining queues for each priority level and traversing from highest to lowest. Threads start at the process' base priority and may have their priority lowered after time quantums expire to limit CPU consumption of compute-intensive threads.
This presentation discusses system calls and provides an overview of their key aspects:
System calls provide an interface between processes and the operating system. They allow programs to request services from the OS like reading/writing files. There are different methods of passing parameters to the OS, such as via registers, parameter blocks, or pushing to the stack. System calls fall into categories including process control, file management, device management, information maintenance, and communication. An example is given of how system calls would be used in a program to copy data between two files.
The document discusses different CPU scheduling algorithms used in operating systems. It describes non-preemptive and preemptive scheduling and explains the key differences. It then covers four common scheduling algorithms - first come first served (FCFS), round robin, priority scheduling, and shortest job first (SJF) - and compares their advantages and disadvantages.
The document discusses memory management techniques used in operating systems. It describes logical vs physical addresses and how relocation registers map logical addresses to physical addresses. It covers contiguous and non-contiguous storage allocation, including paging and segmentation. Paging divides memory into fixed-size frames and pages, using a page table and translation lookaside buffer (TLB) for address translation. Segmentation divides memory into variable-sized segments based on a program's logical structure. Virtual memory and demand paging are also covered, along with page replacement algorithms like FIFO, LRU and optimal replacement.
The document discusses different scheduling algorithms used by operating systems. It begins by explaining that the scheduler decides which process to activate from the ready queue when multiple processes are runnable. There are long-term, medium-term, and short-term schedulers that control admission of jobs, memory allocation, and CPU sharing respectively. The goal of scheduling is to optimize system performance and resource utilization while providing responsive service. Common algorithms include first-come first-served (FCFS), shortest job first (SJF), priority scheduling, and round-robin. FCFS schedules processes in the order of arrival while SJF selects the shortest job first. Priority scheduling preempts lower priority jobs.
The document discusses operating system scheduling. It defines key scheduling criteria like CPU utilization, throughput, turnaround time, waiting time, and response time. It also outlines common scheduling algorithms like first-come first-served (FCFS), shortest-job-next (SJN), priority scheduling, shortest remaining time, and round robin. For each algorithm, it provides examples of how they work and how to calculate metrics like waiting time and turnaround time. It also distinguishes between time-sharing systems, which context switch between processes frequently for fast response, and parallel processing systems, which divide programs across multiple processors.
1. Process management is an integral part of operating systems for allocating resources, enabling information sharing, and protecting processes. The OS maintains data structures describing each process's state and resource ownership.
2. Processes go through discrete states and events can cause state changes. Scheduling selects processes to run from ready, device, and job queues using algorithms like round robin, shortest job first, and priority scheduling.
3. CPU scheduling aims to maximize utilization and throughput while minimizing waiting times using criteria like response time, turnaround time, and fairness between processes.
The document discusses process scheduling in operating systems. It covers basic concepts like scheduling criteria, algorithms like FCFS, SJF, priority and round robin scheduling. It explains key process states and scheduling techniques like preemptive and non-preemptive. Examples are provided to illustrate different scheduling algorithms and how they optimize criteria like waiting time, response time and CPU utilization.
* Using SJF preemptive scheduling:
P2 will execute from time 0 to 5 ms.
P3 will execute from time 5 to 8 ms.
P1 will execute from time 8 to 18 ms.
P4 will execute from time 18 to 38 ms.
P5 will execute from time 38 to 40 ms.
Total waiting time = (10-5) + (8-5) + (18-0) + (38-5) + (40-10) = 5.6 + 3 + 18 + 33 + 30 = 90
Average waiting time = Total waiting time / Number of processes = 90/5 = 5.6 ms
* Using Priority preemptive scheduling
The document discusses different CPU scheduling algorithms:
1. First Come First Served scheduling allocates CPU to the longest waiting process first, which can result in longer processes waiting behind shorter ones (convoy effect).
2. Shortest Job First scheduling allocates CPU to the process with the shortest estimated run time, minimizing average wait time. Preemptive SJF allows interrupting the current process if a shorter one arrives.
3. Priority scheduling assigns priority levels and allocates CPU to the highest priority ready process. Preemption and aging policies address starvation of lower priority processes.
4. Round Robin scheduling allocates a time quantum (e.g. 10-100ms) to each ready process
The document discusses various CPU scheduling algorithms used in operating systems. It describes the main objective of CPU scheduling as maximizing CPU utilization by allowing multiple processes to share the CPU. It then explains different scheduling criteria like throughput, turnaround time, waiting time and response time. Finally, it summarizes common scheduling algorithms like first come first served, shortest job first, priority scheduling and round robin scheduling.
Operating Systems Third Unit - Fourth Semester - EngineeringYogesh Santhan
The document describes CPU scheduling concepts in a multiprogramming operating system. It discusses how CPU scheduling depends on CPU bursts and I/O waits as processes alternate between the two states. The scheduler selects processes from the ready queue to run on the CPU. Scheduling can be preemptive, occurring when a process changes states, or non-preemptive. Common scheduling algorithms like first-come, first-served, shortest job first, priority, and round robin are described. Optimization criteria for scheduling like CPU utilization, throughput, turnaround time and waiting time are also covered.
The document discusses various scheduling algorithms: First Come First Served (FCFS), Shortest Job First (SJF), priority scheduling, and round robin (RR). FCFS schedules processes in the order that they arrive. SJF selects the process with the shortest estimated runtime. Priority scheduling prioritizes processes based on assigned priorities. Round robin gives each process a time slice or quantum to use the CPU before switching to another process. Examples are provided to illustrate how each algorithm works.
CPU scheduling is the process by which the CPU selects which process to execute next from among processes in memory that are ready to execute. The CPU scheduler selects processes from the ready queue to execute. The goal of CPU scheduling is to maximize CPU utilization and throughput while minimizing waiting time and response time. Common CPU scheduling algorithms include first come first serve (FCF) which services processes in the order they arrive, and shortest job first (SJF) which selects the process with the shortest estimated run time to execute next.
The document discusses operating system concepts including CPU scheduling, process states, and scheduling algorithms. It covers historical perspectives on CPU scheduling and bursts, preemptive vs. nonpreemptive scheduling, and scheduling criteria. Common scheduling algorithms like first-come, first-served (FCFS), shortest-job-first (SJF), priority, and round robin are described. The roles of long-term and short-term schedulers are defined.
This document discusses different types of scheduling algorithms used by operating systems to allocate central processing unit (CPU) resources to processes. It describes preemptive and non-preemptive scheduling, and covers common scheduling algorithms like first-come, first-served (FCFS), shortest job first (SJF), round robin, and priority-based scheduling. Formulas for calculating turnaround time and waiting time are also provided.
The document discusses various CPU scheduling concepts and algorithms. It covers basic concepts like CPU-I/O burst cycles and scheduling criteria. It then describes common scheduling algorithms like first come first served (FCFS), shortest job first (SJF), priority scheduling, and round robin (RR). It also discusses more advanced topics like multi-level queue scheduling, multi-processor scheduling, and thread scheduling in Linux.
CPU scheduling decides which processes run when multiple are ready. It aims to make the system efficient, fast and fair. There are different scheduling algorithms like first come first serve (FCFS), shortest job first (SJF), priority scheduling, and round robin. Multi-level feedback queue scheduling uses multiple queues and allows processes to move between queues based on their CPU usage to prioritize shorter interactive processes.
operating systems , ch-05, (CPU Scheduling), 3rd level, College of Computers, Seiyun University. انظمة التشغيل لطلاب المستوى الثالث بكلية الحاسبات بجامعة سيئون المحاضرة 05
The document discusses CPU scheduling algorithms. It begins by explaining the basic concepts of CPU scheduling, including that the CPU scheduler selects ready processes to execute on the CPU. This allows for multi-programming by switching the CPU among ready processes instead of waiting for each process to finish. The document then discusses different scheduling algorithms like first come first served and shortest job first, and evaluates them based on criteria like CPU utilization, throughput, turnaround time, and waiting time.
Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...Neny Isharyanti
Presented as a plenary session in iTELL 2024 in Salatiga on 4 July 2024.
The plenary focuses on understanding and intepreting relevant TPACK competence for teachers to be adept in teaching multimodality in the digital age. It juxtaposes the results of research on multimodality with its contextual implementation in the teaching of English subject in the Indonesian Emancipated Curriculum.
How to Configure Time Off Types in Odoo 17Celine George
Now we can take look into how to configure time off types in odoo 17 through this slide. Time-off types are used to grant or request different types of leave. Only then the authorities will have a clear view or a clear understanding of what kind of leave the employee is taking.
How to Store Data on the Odoo 17 WebsiteCeline George
Here we are going to discuss how to store data in Odoo 17 Website.
It includes defining a model with few fields in it. Add demo data into the model using data directory. Also using a controller, pass the values into the template while rendering it and display the values in the website.
The membership Module in the Odoo 17 ERPCeline George
Some business organizations give membership to their customers to ensure the long term relationship with those customers. If the customer is a member of the business then they get special offers and other benefits. The membership module in odoo 17 is helpful to manage everything related to the membership of multiple customers.
How to Install Theme in the Odoo 17 ERPCeline George
With Odoo, we can select from a wide selection of attractive themes. Many excellent ones are free to use, while some require payment. Putting an Odoo theme in the Odoo module directory on our server, downloading the theme, and then installing it is a simple process.
Webinar Innovative assessments for SOcial Emotional SkillsEduSkills OECD
Presentations by Adriano Linzarini and Daniel Catarino da Silva of the OECD Rethinking Assessment of Social and Emotional Skills project from the OECD webinar "Innovations in measuring social and emotional skills and what AI will bring next" on 5 July 2024
Front Desk Management in the Odoo 17 ERPCeline George
Front desk officers are responsible for taking care of guests and customers. Their work mainly involves interacting with customers and business partners, either in person or through phone calls.
AI Risk Management: ISO/IEC 42001, the EU AI Act, and ISO/IEC 23894PECB
As artificial intelligence continues to evolve, understanding the complexities and regulations regarding AI risk management is more crucial than ever.
Amongst others, the webinar covers:
• ISO/IEC 42001 standard, which provides guidelines for establishing, implementing, maintaining, and continually improving AI management systems within organizations
• insights into the European Union's landmark legislative proposal aimed at regulating AI
• framework and methodologies prescribed by ISO/IEC 23894 for identifying, assessing, and mitigating risks associated with AI systems
Presenters:
Miriama Podskubova - Attorney at Law
Miriama is a seasoned lawyer with over a decade of experience. She specializes in commercial law, focusing on transactions, venture capital investments, IT, digital law, and cybersecurity, areas she was drawn to through her legal practice. Alongside preparing contract and project documentation, she ensures the correct interpretation and application of European legal regulations in these fields. Beyond client projects, she frequently speaks at conferences on cybersecurity, online privacy protection, and the increasingly pertinent topic of AI regulation. As a registered advocate of Slovak bar, certified data privacy professional in the European Union (CIPP/e) and a member of the international association ELA, she helps both tech-focused startups and entrepreneurs, as well as international chains, to properly set up their business operations.
Callum Wright - Founder and Lead Consultant Founder and Lead Consultant
Callum Wright is a seasoned cybersecurity, privacy and AI governance expert. With over a decade of experience, he has dedicated his career to protecting digital assets, ensuring data privacy, and establishing ethical AI governance frameworks. His diverse background includes significant roles in security architecture, AI governance, risk consulting, and privacy management across various industries, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: June 26, 2024
Tags: ISO/IEC 42001, Artificial Intelligence, EU AI Act, ISO/IEC 23894
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
How to Show Sample Data in Tree and Kanban View in Odoo 17Celine George
In Odoo 17, sample data serves as a valuable resource for users seeking to familiarize themselves with the functionalities and capabilities of the software prior to integrating their own information. In this slide we are going to discuss about how to show sample data to a tree view and a kanban view.
Slide Presentation from a Doctoral Virtual Open House presented on June 30, 2024 by staff and faculty of Capitol Technology University
Covers degrees offered, program details, tuition, financial aid and the application process.
No, it's not a robot: prompt writing for investigative journalismPaul Bradshaw
How to use generative AI tools like ChatGPT and Gemini to generate story ideas for investigations, identify potential sources, and help with coding and writing.
A talk from the Centre for Investigative Journalism Summer School, July 2024
2. CONTENTS
Introduction
CPU Scheduling: Dispatcher
Types of CPU Scheduling
Non – Preemptive Scheduling
Preemptive Scheduling
CPU Scheduling: Scheduling Criteria
Scheduling Algorithms
First Come First Serve(FCFS) Scheduling
Shortest-Job-First(SJF) Scheduling
Shortest Remaining Time First (SRTF) Scheduling
Priority Non - Preemptive Scheduling
Priority Preemptive Scheduling
Round Robin(RR) Scheduling
2
3. Introduction
CPU scheduling is a process which allows one process to use the CPU while the execution
of another process is on hold(in waiting state) due to unavailability of any resource like
I/O etc., thereby making full use of CPU. The aim of CPU scheduling is to make the
system efficient, fast and fair.
Whenever the CPU becomes idle, the operating system must select one of the processes in
the ready queue to be executed. The selection process is carried out by the short-term
scheduler (or CPU scheduler). The scheduler selects from among the processes in
memory that are ready to execute, and allocates the CPU to one of them.
3
4. CPU Scheduling: Dispatcher
The dispatcher is the module that gives control of the CPU to the process selected by the
short-term scheduler. This function involves:
Switching context
Switching to user mode
Jumping to the proper location in the user program to restart that program from
where it left last time.
The dispatcher should be as fast as possible, given that it is invoked during every process
switch. The time taken by the dispatcher to stop one process and start another process is
known as the Dispatch Latency.
4
5. Types of CPU Scheduling
CPU scheduling decisions may take place under the following four circumstances:
When a process switches from the running state to the waiting state (for I/O request or
invocation of wait for the termination of one of the child processes).
When a process switches from the running state to the ready state (for example, when
an interrupt occurs).
When a process switches from the waiting state to the ready state (for example,
completion of I/O).
When a process terminates.
In circumstances 1 and 4, there is no choice in terms of scheduling. A new process(if one
exists in the ready queue) must be selected for execution. There is a choice, however in
circumstances 2 and 3.
When Scheduling takes place only under circumstances 1 and 4, we say the scheduling
scheme is Non-preemptive; otherwise the scheduling scheme is Preemptive.
5
6. Types of CPU Scheduling
Non-Preemptive Scheduling:
In this type of scheduling, once the CPU has been allocated to a process, the process
keeps the CPU until it releases the CPU either by terminating or by switching to the
waiting state.
It is the only method that can be used on certain hardware platforms, because It does
not require the special hardware(for example: a timer) needed for preemptive
scheduling.
Preemptive Scheduling:
In this type of Scheduling, the tasks are usually assigned with priorities. At times it is
necessary to run a certain task that has a higher priority before another task although
it is running.
Therefore, the running task is interrupted for some time and resumed later when the
priority task has finished its execution.
6
7. CPU Scheduling: Scheduling Criteria
There are many different criteria's to check when considering the "best" scheduling
algorithm, they are:
CPU Utilization: To make out the best use of CPU and not to waste any CPU cycle, CPU
would be working most of the time(Ideally 100% of the time). Considering a real
system, CPU usage should range from 40% (lightly loaded) to 90% (heavily loaded.)
Throughput: It is the total number of processes completed per unit time or rather say
total amount of work done in a unit of time. This may range from 10/second to
1/hour depending on the specific processes.
Turnaround Time: It is the amount of time taken to execute a particular process, i.e.
The interval from time of submission of the process to the time of completion of the
process(Wall clock time).
Waiting Time: It is the total time spent by the process in the ready state waiting to get
control on the CPU.
7
8. CPU Scheduling: Scheduling Criteria
Load Average: It is the average number of processes residing in the ready queue
waiting for their turn to get into the CPU.
Response Time: Amount of time it takes from when a request was submitted until the
first response is produced. Remember, it is the time till the first response and not the
completion of process execution(final response).
In general CPU utilization and Throughput are maximized and other factors are
reduced for proper optimization.
8
9. Scheduling Algorithms
To decide which process to execute first and which process to execute last to achieve
maximum CPU utilization, we have various scheduling algorithms as follows :
First Come First Serve(FCFS) Scheduling
Shortest Job First(SJF) Scheduling
Priority Scheduling
Round Robin(RR) Scheduling
9
10. First Come First Serve(FCFS)
Scheduling
In the "First come first serve" scheduling algorithm, the process which arrives first, gets
executed first, or we can say that the process which requests the CPU first, gets the CPU
allocated first.
It is a Non-preemptive Scheduling algorithm.
Easy to understand and implement.
Its implementation is based on FIFO queue.
Poor in performance as average wait time is high.
This is used in Batch Systems.
10
11. First Come First Serve(FCFS)
Scheduling
Example 1: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given jobs:
11
Jobs Arrival Time (A.T.) Burst Time (B.T.)
J1 1 5
J2 0 3
J3 2 2
J4 3 4
J5 2 8
13. First Come First Serve(FCFS)
Scheduling
Example 2: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
13
Process Arrival Time (A.T.) Burst Time (B.T.)
P1 1 5
P2 0 6
P3 1 2
P4 0 4
Avg. T.A.T. = 11.5 ms
Avg. W.T. = 7.2 ms
14. Shortest Job First(SJF) Scheduling
Shortest Job First scheduling works on the process with the shortest burst time or duration
first.
This is the best approach to minimize waiting time.
Easy to implement in Batch systems where required CPU time is known in advance.
Impossible to implement in interactive systems where required CPU time is not known.
Processer should know in advance how much time process will take.
It is of two types:
Non Pre-emptive (SJF)
Pre-emptive (SRTF)
14
15. Shortest Job First (SJF)
Non - Preemptive
In this type of scheduling CPU allocated to the process(min burst time) cannot be
preempted until completes its CPU burst.
Example 1: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given jobs:
15
Jobs Arrival Time (A.T.) Burst Time (B.T.)
J1 0 4
J2 1 1
J3 2 2
J4 3 1
17. Shortest Job First (SJF)
Non - Preemptive
Example 2: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
17
Jobs Arrival Time (A.T.) Burst Time (B.T.)
P1 3 5
P2 0 2
P3 4 2
P4 5 3
19. Shortest Job First (SJF)
Non - Preemptive
Example 3: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
19
Process Arrival Time (A.T.) Burst Time (B.T.)
P1 1.5 5
P2 0 1
P3 2 2
P4 3 4
Avg. T.A.T. = 4.875 ms
Avg. W.T. = 1.875 ms
20. Shortest Remaining Time First
(SRTF) Preemptive
In Preemptive Shortest Job First Scheduling, jobs are put into ready queue as they arrive,
but as a process with short burst time arrives, the existing process is preempted or removed
from execution, and the shorter job is executed first.
Example 1: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given jobs:
20
Jobs Arrival Time (A.T.) Burst Time (B.T.)
J1 0 4
J2 1 1
J3 2 2
J4 3 1
22. Shortest Remaining Time First
(SRTF) Preemptive
Example 2: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
22
Process Arrival Time (A.T.) Burst Time (B.T.)
P1 1.5 5
P2 0 1
P3 2 2
P4 3 4
24. Shortest Remaining Time First
(SRTF) Preemptive
Example 3: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
24
Jobs Arrival Time (A.T.) Burst Time (B.T.)
P1 3 5
P2 0 2
P3 4 2
P4 5 3
Avg. T.A.T. = 4.5 ms
Avg. W.T. = 1.5 ms
25. Priority Scheduling
Priority scheduling is one of the most common scheduling algorithms in batch systems.
Each process is assigned a priority. Process with highest priority is to be executed first and
so on.
Processes with same priority are executed on first come first serve basis.
Priority can be decided based on memory requirements, time requirements or any other
resource requirement.
It is of two types:
Non – Preemptive Scheduling
Preemptive Scheduling
25
26. Non –Preemptive Priority
Scheduling
In case of non – preemptive priority scheduling algorithm if a new process arrives with a
higher priority than the current running process, the incoming process is put at the head
of the ready queue, which means after the execution of the current process it will be
processed.
Example 1: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given jobs:
26
Jobs Arrival Time (A.T.) Burst Time (B.T.) Priority
J1 0 10 3
J2 4 5 0 (High)
J3 3 2 1
J4 5 16 2
J5 2 8 4 (Low)
28. Non –Preemptive Priority
Scheduling
Example 2: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
28
Jobs Arrival Time (A.T.) Burst Time (B.T.) Priority
P1 1 5 1 (High)
P2 0 6 2
P3 1 2 1
P4 0 4 3 (Low)
P5 2 3 2
30. Non –Preemptive Priority
Scheduling
Example 3: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
30
Jobs Arrival Time (A.T.) Burst Time (B.T.) Priority
P1 0 4 3
P2 2 3 1(Low)
P3 1 7 4 (High)
P4 3 15 2
Avg. T.A.T. = 16 ms
Avg. W.T. = 8.75 ms
31. Preemptive Priority Scheduling
If the new process arrived at the ready queue has a higher priority than the currently
running process, the CPU is preempted, which means the processing of the current process
is stopped and the incoming new process with higher priority gets the CPU for its
execution.
Example 1: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given jobs:
31
Jobs Arrival Time (A.T.) Burst Time (B.T.) Priority
J1 0 10 3
J2 4 5 0 (High)
J3 3 2 1
J4 5 16 2
J5 2 8 4 (Low)
33. Preemptive Priority Scheduling
Example 2: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
33
Jobs Arrival Time (A.T.) Burst Time (B.T.) Priority
P1 1 5 1 (High)
P2 0 6 2
P3 1 2 1
P4 0 4 3 (Low)
P5 2 3 2
35. Preemptive Priority Scheduling
Example 3: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process:
35
Jobs Arrival Time (A.T.) Burst Time (B.T.) Priority
P1 0 4 3
P2 2 3 1(Low)
P3 1 7 4 (High)
P4 3 15 2
Avg. T.A.T. = 17 ms
Avg. W.T. = 9.75 ms
36. Round Robin Scheduling
Round Robin is the preemptive process scheduling algorithm.
Each process is provided a fix time to execute called quantum.
Once a process is executed for given time period. Process is preempted and other process
executes for given time period.
Context switching is used to save states of preempted processes.
36
37. Round Robin Scheduling
Example 1: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process with Time Slice (Quantum) = 3ms.
37
Jobs Arrival Time (A.T.) Burst Time (B.T.)
P1 1 5
P2 0 7
P3 3 3
P4 2 10
39. Round Robin Scheduling
Example 2: Find out Average Turn – around time (T.A.T.) and Average Wait time (W.T.) for
the given process with Time Slice (Quantum) = 2ms.
39
Jobs Arrival Time (A.T.) Burst Time (B.T.)
P1 1 5
P2 0 3
P3 2 2
P4 3 4
P5 13 2
41. Round Robin Scheduling
Example 2: Five jobs arrive at 0 arrival time the order is given below. Find out Average
Turn – around time (T.A.T.) and Average Wait time (W.T.) for the given process with
Time Slice (Quantum) = 10ms.
41
Jobs Burst Time (B.T.)
J1 10
J2 29
J3 3
J4 7
J5 12
Avg. T.A.T. = 35.2 ms
Avg. W.T. = 23 ms