0% found this document useful (0 votes)
9 views26 pages

Operating System and Batch Processing

An operating system acts as an intermediary between the user and computer hardware, managing resources and providing a platform for applications. It has various components like the kernel, command line interface, scheduler, and supports features such as multi-tasking, batch processing, and multi-user environments.

Uploaded by

osamakhan8967
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views26 pages

Operating System and Batch Processing

An operating system acts as an intermediary between the user and computer hardware, managing resources and providing a platform for applications. It has various components like the kernel, command line interface, scheduler, and supports features such as multi-tasking, batch processing, and multi-user environments.

Uploaded by

osamakhan8967
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Operating System and Batch

Processing
Operating System

• An operating system acts as an intermediary between the user of a


computer and the computer hardware.

• An operating system is a program that manages computer hardware.

• It also provides a basis for application programs.

• The goal is to maximize the ease of use and resource utilization.

• The operating system provides the means for proper use of these
resources in the operation of the computer system.

• An operating system is similar to a government. Like a government, it


performs no useful function by itself.

2
Operating System

3
Operating System

Computers have two modes of operation:

• Kernel mode and

• User mode

4
Operating System Structure

• Monolithic Systems

• Layered Systems

• Microkernels

• Client-Server Model

• Virtual Machines

• Exokernels

5
Operating System Structure: Monolithic

• In this approach the entire OS runs as a single program in kernel mode.

• The OS is written as a collection of procedures, linked together into a single


large executable program.

• Each procedure in the system is free to call any other one, if the latter
provides some useful computation that the former needs.

• Being able to call any procedure is very efficient, but having thousands of
procedures that can call each other without restriction may also lead to a
system that is difficult to understand.

6
Operating System Structure: Layered

• Layer 0 dealt with allocation of the processor, switching between processes


when interrupts occurred or timers expired.

• Layer 1 did the memory management. It allocated space for processes in


main memory.

• Layer 2 handled communication between each process and the operator


console (that is, the user).

• Layer 3 took care of managing the I/O devices and buffering the information
streams to and from them.

• Layer 4 was where the user programs were found.

• The system operator process was located in layer 5.

7
Operating System Structure: Client-Server

• Communication between clients and servers is often by message passing.

• To obtain a service, a client process constructs a message saying what it


wants and sends it to the appropriate service (server).

8
Command Processor

• A command processor, also known as a command-line interpreter or shell,


is a program that interprets commands entered by the user and executes
them.

• Interprets user commands and translates them into instructions that the
operating system can understand and execute.

• Provides users with a text-based interface to interact with the operating


system.

• Common command processors include Command Prompt (Windows),


Terminal (macOS), and Bash (Unix-like systems).

9
Scheduler Functionality

• A scheduler is a system component responsible for managing the execution


of tasks or processes within an operating system.

• Allocates system resources such as CPU time, memory, and I/O devices to
various tasks based on priority and scheduling algorithms.

• Ensures optimal utilization of system resources while meeting user and


system requirements.

Types:

• Preemptive: Allows higher priority tasks to interrupt lower priority ones.

• Non-preemptive: Executes tasks until completion without interruption.

10
Scheduler Functionality: Advantages

• Maximizes system throughput by efficiently allocating resources and


minimizing idle time.

• Ensures fair distribution of resources among competing processes,


preventing starvation and resource monopolization.

• Allows users to prioritize critical tasks, ensuring that essential operations


are executed in a timely manner.

• Enables concurrent execution of multiple tasks, facilitating efficient


multitasking and user productivity.

11
Field Manager and Resource Allocator

• A field manager and resource allocator are essential components within


organizational structures responsible for overseeing operations and
optimizing resource utilization.

• The field manager oversees and coordinates activities in various operational


domains, ensuring efficient use of resources and adherence to
organizational goals.

• The resource allocator allocates available resources such as finances,


personnel, equipment, and time to different projects, tasks, or departments
based on priorities and requirements.

12
Field Manager and Resource Allocator: Advantages

Field Manager:

• Oversees field operations, including project management, logistics, and


personnel coordination.

• Ensures compliance with safety regulations, quality standards, and


operational protocols.

Resource Allocator:

• Evaluates resource requirements and availability across projects and


departments.

• Allocates resources based on strategic objectives, project deadlines, and


budget constraints.

13
Dispatcher

• The dispatcher is a key component of an operating system responsible for


managing and coordinating the execution of processes.

• It controls the allocation of system resources such as CPU time and I/O
devices to various processes.

• The dispatcher selects processes from the ready queue and schedules
them for execution on the CPU based on scheduling algorithms.

• Facilitates multitasking and concurrent execution of processes, enhancing


system responsiveness and efficiency.

14
Batch Processing

• Batch processing is a method of executing computer programs or tasks


without manual intervention, where a series of jobs are processed in
sequence.

• Involves grouping similar tasks or programs into batches to be executed


consecutively.

• Typically used for non-interactive tasks such as bulk data processing, report
generation, and system maintenance.

• Enables automation of repetitive tasks, saving time and human effort.

• Optimizes resource utilization by scheduling and executing jobs during off-


peak hours.

15
Batch Processing

• Reduces overhead associated with manual intervention by automating the


execution of repetitive tasks.

• Improves system efficiency by optimizing resource utilization and workload


management.

• Facilitates scalability by allowing the processing of large volumes of data or


tasks in a systematic and controlled manner.

• Provides mechanisms for error detection and recovery, allowing failed jobs
to be reprocessed or handled appropriately.

• Commonly used in industries such as banking, telecommunications,


manufacturing, and data processing for tasks like payroll processing, billing,
and data analysis.

16
Multi Programming

• Multi-programming is a technique where multiple programs are loaded into


main memory simultaneously and executed concurrently.

• Allows the CPU to switch between executing different programs to keep it


busy and maximize CPU utilization.

• Time-sharing systems where multiple users interact with the computer


simultaneously.

• Keeps the CPU busy by allowing it to switch between processes, reducing


idle time.

• Enables the execution of multiple programs concurrently, enhancing system


throughput and responsiveness.

17
Multi Processing

• Multi-processing involves the simultaneous execution of multiple processes


across multiple CPUs or CPU cores.

• Distributes computational workload across multiple processing units to


enhance performance and scalability.

• Modern computers with dual-core, quad-core, or multi-core processors.

• Distributes workload across multiple processors, improving system


performance and responsiveness.

• Allows systems to scale performance by adding more processing units or


cores.

18
Disk Operating System (DOS)

• DOS is a non-graphical operating system that provides a command-line


interface to interact with a computer's hardware and software.

• Developed by Microsoft, DOS was initially released in 1981 as MS-DOS


(Microsoft Disk Operating System).

• Manages files and directories stored on disk drives.

• Executes applications and system utilities.

• Provides basic system services such as file management, memory


management, and device input/output (I/O).

19
Windows

• Windows is a family of graphical operating systems developed and


marketed by Microsoft Corporation.

• Introduced in 1985 with Windows 1.0, Windows has undergone numerous


iterations, with major releases including Windows 95, Windows XP,
Windows 7, Windows 10, and Windows 11.

• Provides a user-friendly graphical interface for interacting with hardware,


software, and files.

• Offers features such as multitasking, virtual memory management, device


drivers, and networking capabilities.

20
UNIX

• Unix is a powerful, multi-user, multi-tasking operating system originally


developed in the late 1960s at AT&T Bell Labs.

• Unix adheres to the principles of simplicity, modularity, and flexibility,


emphasizing the use of small, single-purpose utilities that can be combined
to perform complex tasks.

• Unix has inspired various flavors and distributions, including Linux, BSD,
and macOS (based on Darwin, a Unix-like kernel).

21
Language Processor

• A language processor is a software tool or program that translates high-


level programming languages into machine-readable code or performs
various operations on the code.

• Language processors typically include editor, compilers, interpreters,


assemblers, and linkers.

• Facilitates the development, debugging, and execution of programs written


in high-level programming languages.

22
Language Processor: Editor

• An editor is a software tool used to create, modify, and manage text-based


files, including source code files.

• It provides features such as syntax highlighting, code formatting, and search


and replace functionalities.

• Examples include Visual Studio Code, Sublime Text, and Vim.

23
Language Processor: Compiler

• A compiler is a program that translates source code written in a high-level


programming language into machine code or an intermediate code.

• It performs lexical analysis, syntax analysis, semantic analysis, optimization,


and code generation.

• Compilers produce standalone executable files that can be run


independently of the original source code.

24
Language Processor: Interpreter

• An interpreter is a program that directly executes source code line by line


without prior translation into machine code.

• It reads the source code, parses it, and executes it immediately, typically
without generating a separate executable file.

• Interpreters are commonly used in scripting languages like Python,


JavaScript, and Ruby.

25
Language Processor

• Editors, compilers, and interpreters are essential tools in software


development.

• While editors facilitate code creation and modification, compilers and


interpreters enable the translation and execution of high-level programming
languages into machine-readable code.

• Understanding the functionalities and differences between these tools is


crucial for efficient software development and debugging processes.

26

You might also like