An operating system acts as an interface between the user and computer hardware. It performs basic tasks like file management, memory management, process management, input/output control, and device management. An OS manages application programs and allows users to interact with it through a command line or graphical user interface. Important OS functions include process management, memory management, device management, file management, security controls, and job accounting. Common types of OS include mainframe, desktop, real-time, and distributed systems. System calls allow programs to request services from the OS kernel related to processes, files, devices, information, and communication. Caching improves performance by storing frequently accessed data from slower storage in faster temporary storage like registers, cache memory, and
The document provides an introduction to operating system structures and operations. It discusses the basic components of a computer system including hardware, operating system, application programs, and users. It describes the functions of an operating system such as executing programs, managing system resources, and providing common services. The document also explains various operating system structures like memory layout, storage hierarchy, and system calls.
This document provides a summary of key topics covered in lecture materials on operating systems. It discusses the basic functions and components of operating systems including process management, memory management, CPU scheduling, synchronization, deadlocks, and virtual memory. Specific scheduling algorithms like first-come first-served, shortest job first and round-robin are explained. The document also covers operating system services, system calls, protection and various historical generations of operating systems.
The document provides an overview of operating systems including:
- An operating system acts as an intermediary between the user and computer hardware to provide an environment for programs to execute, make the computer convenient to use, and allow efficient use of hardware.
- Operating systems control and coordinate the use of hardware resources among programs and users. They allocate resources like CPU time, memory, and I/O devices.
- Operating systems exist to make computing easier and more efficient by managing resources and controlling programs. They provide an interface between users, programs, and hardware.
This document contains lecture notes on operating systems. It covers topics like the definition and goals of operating systems, system components, processes and process states, CPU scheduling algorithms, synchronization between processes, deadlocks, memory management, and virtual memory. The key points are:
- An operating system acts as an intermediary between the user and computer hardware to provide an environment for running programs and efficiently using computer resources.
- System components include process management, memory management, file management, I/O management, networking, and protection.
- CPU scheduling algorithms like FCFS, SJF, priority, round-robin, and multilevel queue aim to make efficient use of CPU time between processes.
4 Module - Operating Systems Configuration and Use by Mark John LadoMark John Lado, MIT
4 Module - Operating Systems Configuration and Use
More on https://www.markjohn.cf/courses
This course will deliberate on the basics of an operating system, which may include Computer Memory, the Operating System, its Graphical User Interface, The Windows Operating System, and Desktop, Operating System Installation.
The document discusses various types and features of operating systems. It describes batch processing operating systems which process jobs in a first come first served manner without user interaction. Multiprogramming operating systems aim to reduce CPU idle time by allowing new jobs when the current job is waiting. Multitasking operating systems allow users to interact with programs while they run by rapidly switching between processes. Network, distributed, and multiprocessor operating systems are also outlined which respectively manage resources over a network, use loosely coupled interconnected computers, and employ multiple shared processors. Key features of operating systems like memory management and device drivers are also listed.
This document provides an overview of operating system concepts. It begins by defining an operating system and describing its main functions, which include managing computer resources, establishing a user interface, and executing applications. It then discusses various operating system structures and operations, including interrupt handling, I/O structure, memory management, and processor management. The document concludes with an overview of the evolution of operating systems from simple batch systems to modern distributed computing environments.
This document provides an overview of operating systems including definitions, functions, types, popular operating systems, and top five operating systems. It defines an operating system as an interface between the user and computer hardware that controls execution of programs. It describes functions such as memory management, processor management, and file management. It discusses types including batch, multiprogramming, time-sharing, distributed, real-time, and network operating systems. The top five computer operating systems are identified as Windows, Mac OS, Chrome OS, Android, and the top five smartphone operating systems as Android, iOS, Windows Mobile, Blackberry OS, and Firefox OS.
The document provides an overview of operating systems, including definitions of key terms like kernel, processes, memory management, file systems, etc. It discusses different types of operating systems like batch, time-sharing, distributed, and real-time operating systems. It also covers operating system components like process management, memory management, I/O management, and system calls. Finally, it discusses user interfaces, system programs, and services provided by operating systems.
This document summarizes key concepts from lecture notes on operating systems. It discusses the role of an operating system as an intermediary between the user and computer hardware. It describes the main components of an operating system including process management, memory management, file management, I/O management, and networking. It also covers process states, scheduling algorithms like FCFS, SJF, priority and round robin scheduling, and the goals of utilizing CPU resources efficiently and providing a user-friendly interface.
1.Operating System-unit 1.pptx Evolution of operating systems: Batch, times...RahulNavale5
Evolution of operating systems: Batch, timesharing, multiprogramming, multi-tasking anddistributed and real time. Operating system componentsO.S. ServicesSystem CallsSystem ProgramsSystem StructureVirtual MachinesSpecial purpose operating systemsOpen-source operating systemsBoot ProcedureOverview of the GNU/Linux system administration.
This document outlines the course content for an Operating Systems class divided into 5 units. Unit I introduces different types of operating systems like batch systems, time-sharing systems, personal computer systems, parallel systems, real-time systems, and distributed systems. It also covers system components, services, and structures. Unit II covers process management, CPU scheduling, and threads. Unit III discusses process synchronization, deadlocks, prevention and avoidance techniques. Unit IV covers memory management techniques like swapping, paging and segmentation as well as virtual memory. Unit V discusses file systems, file attributes, operations, structures and protection as well as mass storage structures.
An operating system acts as an intermediary between the user and computer hardware. It provides an environment for users to run programs efficiently and conveniently by managing resources like the CPU, memory, storage, and I/O devices. Operating systems exist to make computing usable by allocating resources fairly between programs and users. Common types include batch, time-sharing, and real-time operating systems.
Here are the four necessary conditions for deadlock:
1. Mutual Exclusion: Resources must be held in a non-shareable mode. Only one process at a time can use the resource.
2. Hold and Wait: Processes must be able to hold resources while requesting additional resources.
3. No Preemption: Resources cannot be forcibly removed from processes holding them.
4. Circular Wait: There must be a circular chain of processes where each process is waiting for a resource held by the next process in the chain.
If any one of these conditions is not met, a deadlock cannot occur. All four conditions must simultaneously hold true for a deadlock to be possible.
Here are the four necessary conditions for deadlock:
1. Mutual Exclusion: Resources must be held in a non-shareable mode. Only one process at a time can use the resource.
2. Hold and Wait: Processes must be able to hold resources while requesting additional resources.
3. No Preemption: Resources cannot be forcibly removed from processes holding them.
4. Circular Wait: There must be a circular chain of processes where each process is waiting for a resource held by the next process in the chain.
If any one of these conditions is not met, a deadlock cannot occur. All four conditions must simultaneously hold true for a deadlock to be possible.
The document provides an overview of operating system concepts, including:
- An operating system manages computer hardware and acts as an intermediary between users and the computer. It aims to execute programs, make the system convenient to use, and efficiently use hardware resources.
- A computer system consists of hardware, an operating system, application programs, and users. The operating system controls resource allocation and coordinates hardware, applications, and users.
- Operating systems provide services like file management, communication, error detection, resource allocation, accounting, and protection/security. System calls are the programming interface for these services.
The document provides an overview of operating systems, including what they are, their main objectives and advantages. It discusses the history and evolution of OS, from early systems in the 1950s used for tape storage, to modern operating systems with graphical user interfaces. It also covers different types of OS like batch processing systems, time-sharing systems, personal computer systems, parallel and real-time systems. Key aspects of OS like kernels, memory management and different system architectures are summarized as well.
An operating system is an interface between a computer user and the computer hardware. The document discusses the key functions of operating systems including memory management, processor management, device management, file management, security, and more. It provides examples of popular operating systems like Linux, Windows, and describes different types of operating systems such as batch, time-sharing, distributed, network, and real-time operating systems.
A brief introduction about an operating system and its architectureGuna Dhondwad
What is an Operating System?
Interaction between
Types of Operating Systems - Time-Sharing Systems, Personal Computer Systems, Parallel
Systems, Distributed Systems, Real Time Systems,
System Components
Operating System Services
System Calls
System Programs
Advanced computer architecture lesson 1 and 2Ismail Mukiibi
An OS is a program that controls the execution of application programs and acts as an interface between the user of a computer and the computer hardware. .....................
The document discusses various types and features of operating systems. It describes batch processing operating systems which process jobs in a first come first served manner without user interaction. Multiprogramming operating systems aim to reduce CPU idle time by allowing new jobs when the current job is waiting. Multitasking operating systems allow users to interact with programs while they run by rapidly switching between processes. Network, distributed, and multiprocessor operating systems are also outlined which respectively manage resources over a network, use loosely coupled interconnected computers, and employ multiple shared processors. Key features of operating systems like memory management and device drivers are also listed.
This document provides an overview of operating system concepts. It begins by defining an operating system and describing its main functions, which include managing computer resources, establishing a user interface, and executing applications. It then discusses various operating system structures and operations, including interrupt handling, I/O structure, memory management, and processor management. The document concludes with an overview of the evolution of operating systems from simple batch systems to modern distributed computing environments.
This document provides an overview of operating systems including definitions, functions, types, popular operating systems, and top five operating systems. It defines an operating system as an interface between the user and computer hardware that controls execution of programs. It describes functions such as memory management, processor management, and file management. It discusses types including batch, multiprogramming, time-sharing, distributed, real-time, and network operating systems. The top five computer operating systems are identified as Windows, Mac OS, Chrome OS, Android, and the top five smartphone operating systems as Android, iOS, Windows Mobile, Blackberry OS, and Firefox OS.
The document provides an overview of operating systems, including definitions of key terms like kernel, processes, memory management, file systems, etc. It discusses different types of operating systems like batch, time-sharing, distributed, and real-time operating systems. It also covers operating system components like process management, memory management, I/O management, and system calls. Finally, it discusses user interfaces, system programs, and services provided by operating systems.
This document summarizes key concepts from lecture notes on operating systems. It discusses the role of an operating system as an intermediary between the user and computer hardware. It describes the main components of an operating system including process management, memory management, file management, I/O management, and networking. It also covers process states, scheduling algorithms like FCFS, SJF, priority and round robin scheduling, and the goals of utilizing CPU resources efficiently and providing a user-friendly interface.
1.Operating System-unit 1.pptx Evolution of operating systems: Batch, times...RahulNavale5
Evolution of operating systems: Batch, timesharing, multiprogramming, multi-tasking anddistributed and real time. Operating system componentsO.S. ServicesSystem CallsSystem ProgramsSystem StructureVirtual MachinesSpecial purpose operating systemsOpen-source operating systemsBoot ProcedureOverview of the GNU/Linux system administration.
This document outlines the course content for an Operating Systems class divided into 5 units. Unit I introduces different types of operating systems like batch systems, time-sharing systems, personal computer systems, parallel systems, real-time systems, and distributed systems. It also covers system components, services, and structures. Unit II covers process management, CPU scheduling, and threads. Unit III discusses process synchronization, deadlocks, prevention and avoidance techniques. Unit IV covers memory management techniques like swapping, paging and segmentation as well as virtual memory. Unit V discusses file systems, file attributes, operations, structures and protection as well as mass storage structures.
An operating system acts as an intermediary between the user and computer hardware. It provides an environment for users to run programs efficiently and conveniently by managing resources like the CPU, memory, storage, and I/O devices. Operating systems exist to make computing usable by allocating resources fairly between programs and users. Common types include batch, time-sharing, and real-time operating systems.
Here are the four necessary conditions for deadlock:
1. Mutual Exclusion: Resources must be held in a non-shareable mode. Only one process at a time can use the resource.
2. Hold and Wait: Processes must be able to hold resources while requesting additional resources.
3. No Preemption: Resources cannot be forcibly removed from processes holding them.
4. Circular Wait: There must be a circular chain of processes where each process is waiting for a resource held by the next process in the chain.
If any one of these conditions is not met, a deadlock cannot occur. All four conditions must simultaneously hold true for a deadlock to be possible.
Here are the four necessary conditions for deadlock:
1. Mutual Exclusion: Resources must be held in a non-shareable mode. Only one process at a time can use the resource.
2. Hold and Wait: Processes must be able to hold resources while requesting additional resources.
3. No Preemption: Resources cannot be forcibly removed from processes holding them.
4. Circular Wait: There must be a circular chain of processes where each process is waiting for a resource held by the next process in the chain.
If any one of these conditions is not met, a deadlock cannot occur. All four conditions must simultaneously hold true for a deadlock to be possible.
The document provides an overview of operating system concepts, including:
- An operating system manages computer hardware and acts as an intermediary between users and the computer. It aims to execute programs, make the system convenient to use, and efficiently use hardware resources.
- A computer system consists of hardware, an operating system, application programs, and users. The operating system controls resource allocation and coordinates hardware, applications, and users.
- Operating systems provide services like file management, communication, error detection, resource allocation, accounting, and protection/security. System calls are the programming interface for these services.
The document provides an overview of operating systems, including what they are, their main objectives and advantages. It discusses the history and evolution of OS, from early systems in the 1950s used for tape storage, to modern operating systems with graphical user interfaces. It also covers different types of OS like batch processing systems, time-sharing systems, personal computer systems, parallel and real-time systems. Key aspects of OS like kernels, memory management and different system architectures are summarized as well.
An operating system is an interface between a computer user and the computer hardware. The document discusses the key functions of operating systems including memory management, processor management, device management, file management, security, and more. It provides examples of popular operating systems like Linux, Windows, and describes different types of operating systems such as batch, time-sharing, distributed, network, and real-time operating systems.
A brief introduction about an operating system and its architectureGuna Dhondwad
What is an Operating System?
Interaction between
Types of Operating Systems - Time-Sharing Systems, Personal Computer Systems, Parallel
Systems, Distributed Systems, Real Time Systems,
System Components
Operating System Services
System Calls
System Programs
Advanced computer architecture lesson 1 and 2Ismail Mukiibi
An OS is a program that controls the execution of application programs and acts as an interface between the user of a computer and the computer hardware. .....................
Deepfake Phishing: A New Frontier in Cyber ThreatsRaviKumar256934
n today’s hyper-connected digital world, cybercriminals continue to develop increasingly sophisticated methods of deception. Among these, deepfake phishing represents a chilling evolution—a combination of artificial intelligence and social engineering used to exploit trust and compromise security.
Deepfake technology, once a novelty used in entertainment, has quickly found its way into the toolkit of cybercriminals. It allows for the creation of hyper-realistic synthetic media, including images, audio, and videos. When paired with phishing strategies, deepfakes can become powerful weapons of fraud, impersonation, and manipulation.
This document explores the phenomenon of deepfake phishing, detailing how it works, why it’s dangerous, and how individuals and organizations can defend themselves against this emerging threat.
This research presents the optimization techniques for reinforced concrete waffle slab design because the EC2 code cannot provide an efficient and optimum design. Waffle slab is mostly used where there is necessity to avoid column interfering the spaces or for a slab with large span or as an aesthetic purpose. Design optimization has been carried out here with MATLAB, using genetic algorithm. The objective function include the overall cost of reinforcement, concrete and formwork while the variables comprise of the depth of the rib including the topping thickness, rib width, and ribs spacing. The optimization constraints are the minimum and maximum areas of steel, flexural moment capacity, shear capacity and the geometry. The optimized cost and slab dimensions are obtained through genetic algorithm in MATLAB. The optimum steel ratio is 2.2% with minimum slab dimensions. The outcomes indicate that the design of reinforced concrete waffle slabs can be effectively carried out using the optimization process of genetic algorithm.
How to Build a Desktop Weather Station Using ESP32 and E-ink DisplayCircuitDigest
Learn to build a Desktop Weather Station using ESP32, BME280 sensor, and OLED display, covering components, circuit diagram, working, and real-time weather monitoring output.
Read More : https://circuitdigest.com/microcontroller-projects/desktop-weather-station-using-esp32
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia
In the world of technology, Jacob Murphy Australia stands out as a Junior Software Engineer with a passion for innovation. Holding a Bachelor of Science in Computer Science from Columbia University, Jacob's forte lies in software engineering and object-oriented programming. As a Freelance Software Engineer, he excels in optimizing software applications to deliver exceptional user experiences and operational efficiency. Jacob thrives in collaborative environments, actively engaging in design and code reviews to ensure top-notch solutions. With a diverse skill set encompassing Java, C++, Python, and Agile methodologies, Jacob is poised to be a valuable asset to any software development team.
The main purpose of the current study was to formulate an empirical expression for predicting the axial compression capacity and axial strain of concrete-filled plastic tubular specimens (CFPT) using the artificial neural network (ANN). A total of seventy-two experimental test data of CFPT and unconfined concrete were used for training, testing, and validating the ANN models. The ANN axial strength and strain predictions were compared with the experimental data and predictions from several existing strength models for fiber-reinforced polymer (FRP)-confined concrete. Five statistical indices were used to determine the performance of all models considered in the present study. The statistical evaluation showed that the ANN model was more effective and precise than the other models in predicting the compressive strength, with 2.8% AA error, and strain at peak stress, with 6.58% AA error, of concrete-filled plastic tube tested under axial compression load. Similar lower values were obtained for the NRMSE index.
Optimization techniques can be divided to two groups: Traditional or numerical methods and methods based on stochastic. The essential problem of the traditional methods, that by searching the ideal variables are found for the point that differential reaches zero, is staying in local optimum points, can not solving the non-linear non-convex problems with lots of constraints and variables, and needs other complex mathematical operations such as derivative. In order to satisfy the aforementioned problems, the scientists become interested on meta-heuristic optimization techniques, those are classified into two essential kinds, which are single and population-based solutions. The method does not require unique knowledge to the problem. By general knowledge the optimal solution can be achieved. The optimization methods based on population can be divided into 4 classes from inspiration point of view and physical based optimization methods is one of them. Physical based optimization algorithm: that the physical rules are used for updating the solutions are:, Lighting Attachment Procedure Optimization (LAPO), Gravitational Search Algorithm (GSA) Water Evaporation Optimization Algorithm, Multi-Verse Optimizer (MVO), Galaxy-based Search Algorithm (GbSA), Small-World Optimization Algorithm (SWOA), Black Hole (BH) algorithm, Ray Optimization (RO) algorithm, Artificial Chemical Reaction Optimization Algorithm (ACROA), Central Force Optimization (CFO) and Charged System Search (CSS) are some of physical methods. In this paper physical and physic-chemical phenomena based optimization methods are discuss and compare with other optimization methods. Some examples of these methods are shown and results compared with other well known methods. The physical phenomena based methods are shown reasonable results.
The TRB AJE35 RIIM Coordination and Collaboration Subcommittee has organized a series of webinars focused on building coordination, collaboration, and cooperation across multiple groups. All webinars have been recorded and copies of the recording, transcripts, and slides are below. These resources are open-access following creative commons licensing agreements. The files may be found, organized by webinar date, below. The committee co-chairs would welcome any suggestions for future webinars. The support of the AASHTO RAC Coordination and Collaboration Task Force, the Council of University Transportation Centers, and AUTRI’s Alabama Transportation Assistance Program is gratefully acknowledged.
This webinar overviews proven methods for collaborating with USDOT University Transportation Centers (UTCs), emphasizing state departments of transportation and other stakeholders. It will cover partnerships at all UTC stages, from the Notice of Funding Opportunity (NOFO) release through proposal development, research and implementation. Successful USDOT UTC research, education, workforce development, and technology transfer best practices will be highlighted. Dr. Larry Rilett, Director of the Auburn University Transportation Research Institute will moderate.
For more information, visit: https://aub.ie/trbwebinars
Welcome to MIND UP: a special presentation for Cloudvirga, a Stewart Title company. In this session, we’ll explore how you can “mind up” and unlock your potential by using generative AI chatbot tools at work.
Curious about the rise of AI chatbots? Unsure how to use them-or how to use them safely and effectively in your workplace? You’re not alone. This presentation will walk you through the practical benefits of generative AI chatbots, highlight best practices for safe and responsible use, and show how these tools can help boost your productivity, streamline tasks, and enhance your workday.
Whether you’re new to AI or looking to take your skills to the next level, you’ll find actionable insights to help you and your team make the most of these powerful tools-while keeping security, compliance, and employee well-being front and center.
2. Operating system Definition
An Operating System ( OS ) i s system software that
manages computer hardware, software resources, and provides
common services for computer programs.
An Operating System is a program that acts as an interface
between the software and the computer hardware.
An Operating System is system software which may be viewed
as an organized collection of software consisting of procedures
for operating a computer and providing an environment for
execution of programs.
3. Basic Elements Of Operating Systems
• Processor
• Main memory
• I/O modules
• System bus
4. Objectives Of Operating Systems
• Convenience: It makes a computer more suitable to
use.
• Efficiency: It provides the computer system resources
with efficiency and in easy to use format.
• Ability to develop: It should be built in such a way that it
permits the efficient development, testing, and installation
of new system functions without interfering with service.
• Protection: Protect Data from unauthorized access.
• Communication: Make communication in Network.
5. Services Of Operating Systems
An Operating System supplies different kinds of services to both the
users and programs.
Here is a list of common services offered by all operating
systems:
• User Interface
• Program Execution
• File system manipulation
• Input / Output Operations
• Inter process Communication
• Resource Allocation
• Error Detection
• Accounting
• Security and protection
6. 1. User Interface in Operating System
Usually Operating system comes in three forms or types. Depending on
the interface their types have been further subdivided. These are:
• Command line interface (C L I )
• Batch based interface ( B I )
• Graphical User Interface ( G U I )
The command line interface (CLI) usually deals with using text
commands and a technique for entering those commands.
The Batch interface (BI): commands and directives are used to
manage those commands that are entered into files and those files
get executed.
Graphical User Interface (GUI): which is a window system with
a pointing device (like mouse or trackball) to point to the I/O, choose
from menus driven interface and to make choices viewing from a
number of lists and a
7. 2. Program Execution Operating System
The operating system must have the capability to load a program
into memory and execute that program. Furthermore, the program must be
able to end its execution, either normally or abnormally / forcefully.
8. 3. File system manipulation in Operating System
Programs need has to be read and then write them as files and directories.
File handling portion of operating system also allows users to create
and delete files by specific name along with extension, search for a
given file and / or list file information. Some programs comprise
of permissions management for allowing or denying access to
files or directories based on file ownership.
9. 4. I/O operations in Operating System
A program which is currently executing may require I/O, which may
involve file or other I/O device. For efficiency and protection,
users cannot directly govern the I/O devices. So, the OS provide a
means to do I/O Input / Output operation which means read or write
operation with any file.
10. 5. Inter process Communication in operating System
Process needs to swap over information with other process. Processes
executing on same computer system or on different computer systems can
communicate using operating system support. Communication between
two processes can be done using shared memory or via message passing.
11. 6. Resource Allocation of Operating System
When multiple jobs running concurrently, resources must need to be
allocated to each of them. Resources can be CPU cycles, main memory
storage, file storage and I/O devices. CPU scheduling routines are
used here to establish how best the CPU can be used.
12. 7. Error Detection with Operating System
Errors may occur within CPU, memory hardware, I/O devices
and in the user program. For each type of error, the OS takes
adequate action for ensuring correct and consistent computing.
13. 8. Accounting in Operating System
This service of the operating system keeps track of which users are
using how much and what kinds of computer resources have
been used for accounting or simply to accumulate usage statistics.
14. 9. Protection and Security Operating System
Protection includes in ensuring all access to system
resources in a controlled manner.
For making a system secure, the user needs to authenticate him or her
to the system before using (usually via login ID and password).
15. Type Of Operating Systems
1. Single Processor Operating Systems
2. Batch Processing Operating Systems
3. Multiprocessing Operating System
4. Multiprogramming / Multitasking Operating System
5. Time Sharing Operating System
6. Distributed Operating System
7. Mobile Operating systems
16. 1. Single Processor Operating Systems
• Most systems at least contain a single processor.
• The variation of single-processor systems may be unexpected, but since
these systems can range from PDA's to mainframe computers.
• On a single-processor system, there is one main CPU able to execute a
general-purpose instruction layout, including different instructions from
users and then process them.
• Almost every system has special-purpose processors within them.
• They may come in the appearance of device-specific processors, such as
disks, keyboards, graphics controllers, etc.; or on mainframes, they may
come in the form of more general-purpose processors.
17. 2. Batch Processing Operating Systems
• Definition – Batch processing system works as an operating
System.
• Batch processing system means to grab all types of programs and data in
the batch form then proceed to process.
• Main motive of using batch processing system is to decrease the set up
time while submitting the similar jobs to CPU.
• Batch processing techniques was implemented in the hard disk and card
readers as well. In this, all jobs are saved on the hard disk for making the
pool of jobs for their execution as a batch form.
18. 2. Batch Processing Operating Systems
benefits and characteristics such as:
• In batch system all jobs are performed in repeating form without user’s permission.
• Can be feed input data in the batch processing system without using extra hardware
components.
• Small scale business can use batch processing system for executing small tasks to
their benefits.
• For giving rest to system’s processors, your batch system is capable to work in
off-line mode.
• Batch processing system consumes less time for executing the all jobs.
• Batch system is shareable nature, so it can be shared for couples of users, if
needed.
• When batch processing system executes their jobs then its idle time is very low.
• Batch processing system has more capable to handle huge repeated task smoothly
19. 2. Batch Processing Operating Systems
limitations of batch processing operating system
• Provide well education to computer handler for operating the batch
processing system.
• It takes more time for debugging the batch processing system.
• Some time it may be more costly.
• It has more turnaround time.
• It has Non linear behavior.
• Model inaccuracies.
• Batch processing system’s online sensors is often not available.
• Include constrained operation.
• Unmeasured disturbances.
• Irreversible behavior.
• Time-varying process characteristics.
• If any one job halts, then increase workload for predicting time.
20. 2. Batch Processing Operating Systems
Examples of Batch Processing Operating System
• Payroll System
• Bank Invoice System
• Transactions Process
• Daily Report
• Research Segment
• Billing System
21. 3. Multiprocessing Operating System
• A multiprocessing operating system (OS) is one in which
two or more central processing units (CPUs) control the
functions of the computer.
• Each CPU contains a copy of the OS, and these copies
communicate with one another to coordinate operations.
• The use of multiple processors allows the computer to
perform calculations faster, since tasks can be divided up
between processors.
23. Single Processor / Multiprocessing Operating System
• Multiprocessing operating systems performs
quick tasks, as each CPU is available to access
the shared memory to complete the task.
24. Advantages of Multiprocessor Operating System
• More reliable Systems: Ability to continue working despite hardware
failure.
• Enhanced Throughput: number of processes getting executed
per unit of time increase.
• More Economic Systems: Multiprocessor systems are cheaper
than single processor systems in the long run because they share
the data storage, peripheral devices, power supplies etc.
25. Disadvantages of Multiprocessor Operating System
• Increased Expense: Even though multiprocessor systems are
cheaper in the long run than using multiple computer systems,
still they are quite expensive.
• Complicated Operating System Required: There are multiple
processors in a multiprocessor system that share peripherals,
memory etc. So, it is much more complicated to schedule
processes and impart resources to processes. than in single
processor systems. Hence, a more complex and complicated
operating system is required in multiprocessor systems.
• Large Main Memory Required: All the processors in the
multiprocessor system share the memory.
26. 4. Multiprogramming in Operating System
• In a modern computing system, there are usually several concurrent
application processes which want to execute.
• Now it is the responsibility of the Operating System to manage all the
processes effectively and efficiently.
• One of the most important aspects of an Operating System is to
multi program.
• In a computer system, there are multiple processes waiting to be
executed, i.e. they are waiting when the CPU will be allocated to them and
they begin their execution.
• These processes are also known as jobs.
• Now the main memory is too small to accommodate all of these
processes or jobs into it.
27. 4. Multiprogramming in Operating System
• Thus, these processes are initially kept in an area called job
pool. This job pool consists of all those processes awaiting
allocation of main memory and CPU.
• CPU selects one job out of all these waiting jobs, brings it from the
job pool to main memory and starts executing it.
• The processor executes one job until it is interrupted by some
external factor or it goes for an I/O task.
28. 4. Multiprogramming in Operating System
Non-multi programmed system’s working –
• In a non multi programmed system, As soon as one job leaves the
CPU and goes for some other task (say I/O ), the CPU becomes
idle.
• The CPU keeps waiting and waiting until this job (which was
executing earlier) comes back and resumes its execution with the
CPU.
• So CPU remains free for all this while.
• Now it has a drawback that the CPU remains idle for a very long
period of time. Also, other jobs which are waiting to be executed
might not get a chance to execute because the CPU is still
allocated to the earlier job.
• This poses a very serious problem that even though other jobs are
ready to execute, CPU is not allocated to them as the CPU is
allocated to a job which is not even utilizing it (as it is busy in I/O
tasks).
• It cannot happen that one job is using the CPU for say 1 hour
29. 4. Multiprogramming in Operating System
Multi programmed system’s working –
• In a multi-programmed system, as soon as one job goes for an I/O task,
the Operating System interrupts that job, chooses another job from the job
pool (waiting queue), gives CPU to this new job and starts its execution.
The previous job keeps doing its I/O operation while this new job does
CPU bound tasks. Now say the second job also goes for an I/O task, the
CPU chooses a third job and starts executing it. As soon as a
• job completes its I/O operation and comes back for CPU tasks, the CPU is
allocated to it.
• In this way, no CPU time is wasted by the system waiting for the I/O task
to be completed.
• Therefore, the ultimate goal of multi programming is to keep the CPU busy
as long as there are processes ready to execute. This way, multiple
programs can be executed on a single processor by executing a part of a
program at one time,
30. 4. Multiprogramming in Operating System
program A runs for some time and then goes to waiting state. In the
mean time program B begins its execution. So the CPU does not waste
its resources and gives program B an opportunity to run.
31. 5. Multitasking in Operating System
• Multitasking is a logical extension of a multiprogramming
system that supports multiple programs to run concurrently.
• In a multitasking operating system, more than one task
is executed at the same time.
• In this technique, multiple tasks, also known as processes,
share common processing resources such as a CPU.
32. 5. Multitasking in Operating System
Definition – Multitasking operating system provides the
interface for executing the multiple program tasks by single
user at a same time on the one computer system.
For example, any editing task can be performed while other
programs are executing concurrently.
Other example, user can open Gmail and Power Point
same time.
33. 5. Multitasking in Operating System
Types of Multitasking Operating System
True Multitasking:
True multitasking is the capable for executing and process multiple tasks
concurrently without taking delay instead of switching tasks from one processor to
other processor. It can perform couple of tasks in parallel with underlying the H/W
or S/W.
Preemptive Multitasking:
Pre-emptive multitasking is special task that is assigned to computer operating
system, in which it takes decision that how much time spent by one task before
assigning other task for using the operating system. Operating system has control
for completing this entire process, so it is known as “Pre-emptive”.
Cooperative Multitasking
Cooperative multitasking is known as “Non-Preemptive Multitasking”. Main goal of
Cooperative multitasking is to run currently task, and to release the CPU to allow
another task run. This task is performed by calling task YIELD().Context-switch
is executed when this function is called.
34. 5. Multitasking in Operating System
Advantages of Multitasking Operating System
• Time Shareable: In which, all tasks are allocated specific piece of time, so they
do not need for waiting time for CPU.
• Manage Several Users: This operating system is more comfort for handling the
multiple users concurrently, and several programs can run smoothly without
degradation of system’s performance.
• Secured Memory: Multitasking operating system has well defined memory
management, because this operating system does not provide any types of
permissions of unwanted programs to wasting the memory.
• Great Virtual Memory: Multitasking operating system contains the best virtual
memory system. Due to virtual memory, any program do not need long waiting
time for completion their tasks, if this problem is occurred then those programs
are transferred to virtual memory.
• Background Processing: Multitasking operating system creates the better
environment to execute the background programs. These background programs
are not transparent for normal users, but there programs help to other
programs to run smoothly like firewall, antivirus etc.
67. Real Time System
• A system is said to be Real Time if it is
required to complete it’s work & deliver it’s
services on time.
• Example – Flight Control System
– All tasks in that system must execute on time.
• Non Example – PC system
67
68. How RTOS is different from OS
• The key difference between general-
computing operating systems and real-time
operating systems is the need for
"deterministic" timing behavior, general-
computing.
• non-real-time operating systems are often
quite non-deterministicII.
68
69. • Real-time operating systems are often uses
in embedded solutions, that is, computing
platforms that are within another device.
• While real-time operating systems are
typically designed for and used with
embedded systems.
69
70. Hard and Soft Real Time Systems
• Hard Real Time System
– Failure to meet deadlines is fatal
– example : Flight Control System
• Soft Real Time System
– Late completion of jobs is undesirable but not fatal.
– System performance degrades as more & more jobs
miss deadlines
– Online Databases
70
71. 71
Classification of RTOS Kernels
• RT kernels vs modified kernels of standard OS
– Fast proprietary kernels: may be inadequate for
complex systems, because they are designed to
be fast rather than to be predictable in every
respect, e.g., QNX, PDOS, VCOS, VTRX32,
VxWORKS
– RT extensions to standard OS: RT-kernel runs
all RT-tasks and standard-OS executed as one
task on it
• General RTOS vs RTOS for specific domains
• Standard APIs vs proprietary APIs
– e.g. POSIX RT-Extension of Unix, ITRON, OSEK)
72. INTRODUCTION TO RTOS
• Tasks and Task States
• A task – a simple subroutine
• ES application makes calls to the RTOS functions to start tasks,
passing to the OS, start address, stack pointers, etc. of the tasks
• Task States:
– Running
– Ready (possibly: suspended, pended)
– Blocked (possibly: waiting, dormant, delayed)
– [Exit]
– Scheduler – schedules/shuffles tasks between Running and Ready
states
– Blocking is self-blocking by tasks, and moved to Running state via
other tasks’ interrupt signaling (when block-factor is
removed/satisfied)
– When a task is unblocked with a higher priority over the ‘running’
task, the scheduler ‘switches’ context immediately (for all pre-
emptive RTOSs) 72
74. Features of RTOS’s
• Scheduling.
• Resource Allocation.
• Interrupt Handling.
• Other issues like kernel size.
74
75. 75
Why Use an RTOS?
• Can use drivers that are available with an RTOS
• Can focus on developing application code, not on
creating or maintaining a scheduling system
• Multi-thread support with synchronization
• Portability of application code to other CPUs
• Resource handling by RTOS
• Add new features without affecting higher priority
functions
• Support for upper layer protocols such as:
– TCP/IP, USB, Flash Systems, Web Servers,
– CAN protocols, Embedded GUI, SSL, SNMP
76. 76
Characteristics of Embedded OS
• Device drivers often not integrated into kernel
– Embedded systems often application-specific
specific devices move device out of OS to tasks
– For desktop OS, many devices are implicitly assumed
to be presented, e.g., disk, network, audio, etc.
they need to be integrated to low-level SW
stack
Embedded OS Standard OS
kernel
77. 77
Characteristics of Embedded OS
• Real-time capability
– Many embedded systems are real-time (RT)
systems and, hence, the OS used in these
systems must be real-time operating systems
(RTOSs)
• Features of a RTOS:
– Allows multi-tasking
– Scheduling of the tasks with priorities
– Synchronization of the resource access
– Inter-task communication
– Time predictable
– Interrupt handling
78. 78
Requirements for RTOS
• Predictability of timing
– The timing behavior of the OS must be
predictable
– For all services of the OS, there is an upper
bound on the execution time
– Scheduling policy must be deterministic
– The period during which interrupts are disabled
must be short (to avoid unpredictable delays in
the processing of critical events)
79. 79
Requirements for RTOS
• OS should manage timing and scheduling
– OS possibly has to be aware of task deadlines;
(unless scheduling is done off-line).
– Frequently, the OS should provide precise time
services with high resolution.
• Important if internal processing of the embedded
system is linked to an absolute time in the physical
environment
• Speed:
– The OS must be fast
80. Programming languages Used
• C is most widely used in RTOS programming
• C++ and Ada are the next more popular for large
projects.
• Assembly languages for increasing efficiency and
reusing the previous code
• Java may also be a choice for some applications
80
81. Which is the Best?
• It is always very difficult to judge which
RTOS is the best and which is the worst. It
depends on the application and interests of
the user. Among the above, Linux is
royalty free but it has serious drawbacks if
it comes to real-time behavior. The
VxWorks is a very old and stable RTOS.
Similarly Windows CE 5.0 version RTOS is
a robust and stable regarding the real-time
behavior. 81
82. 82
Functionality of RTOS Kernel
• Processor management
• Memory management
• Timer management
• Task management (resume, wait etc)
• Inter-task communication and
synchronization
resource management
84. 84
RTOS Kernel
• RTOS Kernel provides an Abstraction layer that
hides from application software the hardware
details of the processor / set of processors upon
which the application software shall run.
Application Software
RTOS
Hardware
85. • Type of RTOS kernel
– Monolithic kernel – less run-time overhead but
not extensible
– Microkernel – high run-time overhead but
highly extensible
85
87. 87
MQX Facilities
Required
Optional
MQX, RTCS, etc are structured
as a set of C files built by the
user into a library that is linked
into the same code space as the
application. Libraries contain
all functions but only called
functions are included with the
image.
88. 88
Message passing in RTOS
• In RTOS, the OS copies a pointer to the message,
delivers the pointer to the message-receiver task,
and then deletes the copy of the pointer with
message-sender task.
Message Sender
Task
RAM
Message Receiver
Task
RTOS
msg_ptr
msg_ptr
Message Message
89. 89
Task Management
• Set of services used to allow application software developers
to design their software as a number of separate chunks of
software each handling a distinct topic, a distinct goal, and
sometimes its own real-time deadline.
• Main service offered is Task Scheduling
– controls the execution of application software tasks
– can make them run in a very timely and responsive fashion.
91. 91
Task Scheduling
• Non Real -time systems usually use Non-preemptive
Scheduling
– Once a task starts executing, it completes its full execution
• Most RTOS perform priority-based preemptive task
scheduling.
• Basic rules for priority based preemptive task scheduling
– The Highest Priority Task that is Ready to Run, will be the Task
that Must be Running.
92. Scheduling in RTOS
• Running (executing on the CPU);
• Ready (ready to be executed);
• Blocked (waiting for an event, I/O for
example)
92
94. • Fixed priority pre-emptive scheduling, an
implementation of preemptive time slicing
• Fixed-Priority Scheduling with Deferred
Preemption
• Fixed-Priority Non-preemptive Scheduling
• Critical section preemptive scheduling
• Static time scheduling
• Earliest Deadline First approach
• Stochastic digraphs with multi-threaded
graph traversal
94
95. Scheduling Algorithms in RTOS
• Clock Driven
– All parameters about jobs (release time/
execution time/deadline) known in advance.
– Schedule can be computed offline or at some
regular time instances.
– Minimal runtime overhead.
– Not suitable for many applications.
95
96. Peripheral devices and protocols
• Interfacing
Serial/parallel ports, USB, I2C, PCMCIA, IDE
• Communication
Serial, Ethernet, Low bandwidth radio, IrDA,
802.11b based devices
• User Interface
LCD, Keyboard, Touch sensors, Sound, Digital
pads, Webcams
• Sensors
A variety of sensors using fire, temperature,
pressure, water level, seismic, sound, vision
96
97. 97
Dynamic Memory Allocation in RTOS
• RTOS does it by a mechanism known as Pools.
• Pools memory allocation mechanism allows application
software to allocate chunks of memory of 4 to 8 different
buffer sizes per pool.
• Pools avoid external memory fragmentation, by not
permitting a buffer that is returned to the pool to be broken
into smaller buffers in the future.
• When a buffer is returned the pool, it is put onto a free
buffer list of buffers of its own size that are available for
future re-use at their original buffer size
98. Process & Program
• A process invokes or initiates a program. It
is an instance of a program that can be
multiple and running the same application.
• Example:- Notepad is one program and can
be opened twice.
98
102. Introduction
http://cmer.cis.uoguelph.ca 10
2
• Design and capabilities of a Mobile OS (Operating
System) is very different than a general purpose OS
running on desktop machines:
– mobile devices have constraints and restrictions on
as screen size,
communication
their physical characteristic such
memory, processing power and etc.
– Scarce availability of battery power
– Limited amount of computing and
capabilities
103. Introduction (Cont.)
http://cmer.cis.uoguelph.ca 10
3
• Thus, they need different types of operating systems
depending on the capabilities they support. e.g. a PDA
OS is different from a Smartphone OS.
• Operating System is a piece of software responsible for
management of operations, control, coordinate the use
of the hardware among the various application
programs, and sharing the resources of a device.
104. Operating System Structure
http://cmer.cis.uoguelph.ca 10
4
• A mobile OS is a software platform on top of which other
programs called application programs, can run on
mobile devices such as PDA, cellular phones,
smartphone and etc.
Low-Level Hardware, Manufacturer Device Drivers
Device Operating System Base, Kernel
OS Libraries
Applications
106. Java ME Platform
http://cmer.cis.uoguelph.ca 10
6
• J2ME platform is a set of technologies, specifications
and libraries developed for small devices like mobile
phones, pagers, and personal organizers.
• Java ME was designed by Sun Microsystems. It is
licensed under GNU General Public License
107. Java ME Architecture
• Java ME platforms are composed of the following
elements:
Device/ Hardware
Native Operating System
Configuration
Profile
Optional
Package
s
Vendor
specific
classes -
OEM
Application
http://cmer.cis.uoguelph.ca 10
7
108. Java ME Main Components
http://cmer.cis.uoguelph.ca 10
8
• Configuration: it defines a minimum platform including
the java language, virtual machine features and minimum
class libraries for a grouping of devices. E.g. CLDC
• Profile: it supports higher-level services common to a
more specific class of devices. A profile builds on a
configuration but adds more specific APIs to make a
complete environment for building applications. E.g.
MIDP
109. Java ME
http://cmer.cis.uoguelph.ca 10
9
• Optional Package: it provides specialized service or
functionality that may not be associated with a specific
configuration or profile. The following table lists some of
the available packages:
Packages Description
JSR 75 - PIM PDA Package
JSR 82 - BTAPI Java APIs for Bluetooth
JSR 120 - WMA Wireless Messaging API
JSR 172 J2ME Web Service
JSR 179 Location API for J2ME
110. Java ME Platforms
• It includes two kinds of platforms:
– High-end platform for high-end consumer devices.
E.g. TV set-top boxes, Internet TVs, auto-mobile
navigation systems
– Low-end platform for low-end consumer devices. E.g.
cell phones, and pagers
Platforms Device Characteristics
“High-End” consumer
devices
• a large range of user interface capabilities
• total memory budgets starting from about two to four megabytes
• persistent, high-bandwidth network connections, often using TCP/IP
“Low-end” consumer
devices
•simple user interfaces
•minimum memory budgets starting from about 128–256 kilobytes
•low bandwidth, intermittent network connections that is often not based on
the TCP/IP protocol suite.
• most of these devices are battery-operated
http://cmer.cis.uoguelph.ca 11
0
111. Java ME Platforms (Cont.)
• The following figures demonstrate the elements of these two
types of platforms:
KVM
CLDC
MIDP
JVM
Foundation Profile
Personal Profile
Fig.1- Low-end consumer device
platform architecture
Fig.2- High-end consumer device
platform architecture
CDC
http://cmer.cis.uoguelph.ca 11
1
112. Java ME CLDC
http://cmer.cis.uoguelph.ca 11
2
• We focus on “Low-end” consumer devices:
– CLDC configuration address the following areas:
• Java language and virtual machine features
• Core Java libraries
• CLDC Specific Libraries (Input/output & Networking)
• Internationalization: There is a limited support for converting
Unicode characters to and from a sequence of bytes.
• Security: CLDC addresses the following topics to security
– At the low-level the virtual machine security is achieved
by requiring downloaded Java classes to pass a class file
verification step.
– Applications are protected from each other by being run
in a closed “sandbox” environment.
– Classes in protected system packages cannot be
overridden by applications.
113. Java ME CLDC (Cont.)
http://cmer.cis.uoguelph.ca 11
3
• The entire CLDC implementation (static size of the K
virtual machine + class libraries) should fit in less than
128 kilobytes.
• It guarantee portability and interoperability of profile-
level code between the various kinds of mobile (CLDC)
devices
114. Palm OS
http://cmer.cis.uoguelph.ca 11
4
• Palm OS[1] is an embedded operating system designed
for ease of use with a touchscreen-based graphical user
interface.
• It has been implemented on a wide variety of mobile
devices such as smart phones, barcode readers, and
GPS devices.
• It is run on Arm architecture-based processors. It is
designed as a 32-bit architecture.
115. Palm OS Features
http://cmer.cis.uoguelph.ca 11
5
[1,2,3] are:
• The key features of Palm OS
– A single-tasking OS:
• Palm OS Garnet (5.x) uses a kernel developed at
Palm, but it does not expose tasks or threads to
user applications. In fact, it is built with a set of
threads that can not be changed at runtime.
• Palm OS Cobalt (6.0 or higher) does support
multiple threads but does not support creating
additional processes by user applications.
• Palm OS has a preemptive multitasking kernel that
provides basic tasks but it does not expose this
feature to user applications .
116. Palm OS Features (Cont.)
http://cmer.cis.uoguelph.ca 11
6
– Memory Management:
• The Memory, RAM and ROM, for each Palm resides
on a memory module known as card. In other
words, each memory card contains RAM, ROM or
both. Palms can have no card, one card or multiple
cards.
– Expansion support[3]:
• This capability not only augments the memory and
I/O , but also it facilitates data interchanges with
other Palm devices and with other non-Palm
devices such as digital cameras, and digital audio
players.
– Handwriting recognition input called Graffiti 2
117. Palm OS Features (Cont.)
http://cmer.cis.uoguelph.ca 11
7
– HotSync technology for synchronization with PC
computers
– Sound playback and record capabilities
– TCP/IP network access
– Support of serial port, USB, Infrared, Bluetooth and
Wi-Fi connections
– Defined standard data format for PIM (Personal
Information Management) applications to store
calendar, address, task and note entries, accessible
by third-party applications
118. Palm OS Features (Cont.)
http://cmer.cis.uoguelph.ca 11
8
– Security model:
• Device can be locked by password, arbitrary
application records can be made private [2]
• Palm OS Cobalt include a certificate manager. The
Certificate Manager handles X.509 certificates[3].
119. Symbian OS
http://cmer.cis.uoguelph.ca 11
9
• Symbian OS is 32 bit, little-endian operating system,
running on different flavors of ARM architecture[4].
• It is a multitasking operating system and very less
dependence on peripherals.
• Kernel runs in the privileged mode and exports its
service to user applications via user libraries.
120. Symbian OS Structure
http://cmer.cis.uoguelph.ca 12
0
• User libraries include networking, communication, I/O
interfaces and etc.
• Access to these services and resources is coordinated
through a client-server framework.
• Clients use the service APIs exposed by the server to
communicate with the server.
• The client-server communication is conducted by the
kernel.
121. Symbian OS
Structure (Cont.)
• The following demonstrates the Symbian OS
architecture[5]:
Symbian OS
Libraries
KVM
Application Engines
Servers
Symbian OS Base- Kernel
Hardware
http://cmer.cis.uoguelph.ca 12
1
122. Symbian OS Features
http://cmer.cis.uoguelph.ca 12
2
• Real-time: it has a real-time, multithreaded kernel.
• Data Caging [6]: it allows applications to have their own
private data partition. This feature allows for applications
to guarantee a secure data store. It can be used for e-
commerce applications, location aware applications and
etc.
• Multimedia: it supports audio, video recording, playback
and streaming, and Image conversion.
123. Symbian OS
Features (Cont.)
http://cmer.cis.uoguelph.ca 12
3
• Platform Security [6]: Symbian provides a security
mechanism against malware. It allows sensitive
operations can be accessed by applications which have
been certified by a signing authority. In addition, it
supports full encryption and certificate management,
secure protocols ( HTTPS, TLS and SSL) and WIM
framework.
124. Symbian OS
Features (Cont.)
http://cmer.cis.uoguelph.ca 12
4
it supports Unicode
• Internationalization support:
standard.
[6]:
• Fully object-oriented and component- based
• Optimized memory management
• Client- server architecture described in previous
slides, it provides simple and high-efficient inter-process
communication. This feature also eases porting of code
written for other platforms to Symbian OS.
126. Embedded Linux OS
http://cmer.cis.uoguelph.ca 12
6
• It is known as Embedded Linux which is used in
embedded computer systems such as mobile phones,
Personal Digital Assistants, media players and other
consumer devices.
• In spite of Linux operating system designed for Servers
and desktops, the Embedded Linux is designed for
devices which have relatively limited resources such as
small size of RAM, storage, screen, limited power and
etc. Then, they should have an optimized kernel.
127. Embedded Linux OS
http://cmer.cis.uoguelph.ca 12
7
• It is a Real-Time Operating System (RTOS). It meets
deadlines and switch context
• It has relatively a small footprint. Today, mobile phones
can ship with a small memory. Thus, OS must not seek
to occupy a large amount of available storage. It should
have a small foot print. Theoretically, they deploy in a
footprint of 1MB or less.
• It is open source. It has no cost for licensing.
• Examples: Motorola Mobile phones such as RAZR V8,
RAZR V9, A1200 are based on MontaVista Linux.
129. Windows Mobile OS
http://cmer.cis.uoguelph.ca 12
9
• Windows Mobile is a compact operating system
designed for mobile devices and based on Microsoft
Win32.
• It is run on Pocket PCs, Smartphones and Portable
media centers.
• It provides ultimate interoperability. Users with various
requirements are able to manipulate their data.
130. Google Android Platform
http://cmer.cis.uoguelph.ca 13
0
• It is a platform and an operating system for mobile
devices based on the Linux operating system.
• It allows developers design applications in a java-like
language using Google-developed java libraries.
• It supports a wide variety of connectivity such as GSM,
WiFi, 3G, …
• The Operating system has not been implemented yet
(Feb, 2008). Several prototypes have been proposed.
131. Google Android Platform
Android architecture:
http://code.google.com/android/what-is-android.html
http://cmer.cis.uoguelph.ca 13
1
132. Google Android Platform
http://cmer.cis.uoguelph.ca 13
2
• As demonstrated in the previous slide, the Android
platform contains the following layers:
– Linux Kernel: Android relies on Linux for core system
services such as security, memory management,
process management and etc.
– Android [7] Runtime: it provides a set of core libraries
which supports most of the functionality in the core
libraries of Java. The Android Virtual Machine known
as Dalvik VM relies on the linux kernel for some
underlying functionality such as threading,…
133. Google Android Platform
http://cmer.cis.uoguelph.ca 13
3
– Libraries: Android includes a set of C/C++ libraries.
These libraries are exposed to developers through the
Android application framework. They include media
libraries, system C libraries, surface manager, 3D
libraries, SQLite and etc.
For more details, please visit the following link:
http://code.google.com/android/what-is-android.html
– Application Framework: it provides an access layer to
the framework APIs used by the core applications. It
allows components to be used by the developers.
134. iPhone OS
http://cmer.cis.uoguelph.ca 13
4
• iPhone OS is an operating system run on iPhone and
iPod.
• It is based on Mach Kernel and Drawin core as Mac OS X.
• The Mac OS X kernel includes the following component:
– Mach Kernel
– BSD
– I/O component
– File Systems
– Networking components
135. iPhone OS
• The following is Mac OS X Architecture [8]:
Kernel Environment
Core Services
Application Services
QuickTime
Classic Carbon Cocoa JDK BSD
http://cmer.cis.uoguelph.ca 13
5
136. iPhone OS
http://cmer.cis.uoguelph.ca 13
6
• Mac OS X has a preemptive multitasking environment.
• Preempting is the act of taking the control of operating
system from one task and giving it to another task.
• It supports real-time behavior.
• In Mac OS X, each application has access to its own 4
GB address space.
137. iPhone OS
http://cmer.cis.uoguelph.ca 13
7
• Not any application can directly modify the memory of
the kernel. It has a strong mechanism for memory
protection.
• For more details about kernel architecture, please visit
the following link:
http://developer.apple.com/documentation/Darwin/Conce
ptual/KernelProgramming/Architecture/Architecture.html