This document discusses computer system architecture and operating system structures. It covers single and multiprocessor systems, including symmetric and asymmetric multiprocessing. It also discusses clustered systems, operating system operations like interrupts and dual mode, and system calls. Finally, it discusses user interfaces like command line and graphical user interfaces, and simple operating system structures.
In the given presentation, process overview,process management scheduling typesand some more basic concepts were explained.
Kindly refere the presentation.
In the given presentation, process overview,process management scheduling typesand some more basic concepts were explained.
Kindly refere the presentation.
Virtual Memory
• Copy-on-Write
• Page Replacement
• Allocation of Frames
• Thrashing
• Operating-System Examples
Background
Page Table When Some PagesAre Not in Main Memory
Steps in Handling a Page Fault
Swapping is the process of exchanging pages, segment of memory and values to another location and it also manipulates data files that are larger than the main memory. Copy the link given below and paste it in new browser window to get more information on Swapping:- http://www.transtutors.com/homework-help/computer-science/operating-system/memory-management/swapping/
Segmentation topic is presented in a most easy way.
Segmentation is a user view of memory in Operating System. Segmentation is one of the most common ways to achieve memory protection. In a computer system using segmentation, an instruction operand that refers to a memory location includes a value that identifies a segment and an offset within that segment.
This Presentation is for Memory Management in Operating System (OS). This Presentation describes the basic need for the Memory Management in our OS and its various Techniques like Swapping, Fragmentation, Paging and Segmentation.
This presentation covers the understanding of system calls for various resource management and covers system calls for file management in details. The understanding of using system calls helps to start with working with device driver programming on Unix/Linux OS.
Virtual Memory
• Copy-on-Write
• Page Replacement
• Allocation of Frames
• Thrashing
• Operating-System Examples
Background
Page Table When Some PagesAre Not in Main Memory
Steps in Handling a Page Fault
Swapping is the process of exchanging pages, segment of memory and values to another location and it also manipulates data files that are larger than the main memory. Copy the link given below and paste it in new browser window to get more information on Swapping:- http://www.transtutors.com/homework-help/computer-science/operating-system/memory-management/swapping/
Segmentation topic is presented in a most easy way.
Segmentation is a user view of memory in Operating System. Segmentation is one of the most common ways to achieve memory protection. In a computer system using segmentation, an instruction operand that refers to a memory location includes a value that identifies a segment and an offset within that segment.
This Presentation is for Memory Management in Operating System (OS). This Presentation describes the basic need for the Memory Management in our OS and its various Techniques like Swapping, Fragmentation, Paging and Segmentation.
This presentation covers the understanding of system calls for various resource management and covers system calls for file management in details. The understanding of using system calls helps to start with working with device driver programming on Unix/Linux OS.
SA_IT241_3
WHAT ARE THE SECURITY VIOLATION CATEGORIES?
1. Breach of confidentiality: unauthorized reading of data.
2. Breach of integrity: unauthorized modification of data.
3. Breach of availability: unauthorized destruction of data.
4. Theft of service: unauthorized use of resources.
5. Denial of Service(DOS): Prevention of legitimate use.
WHAT ARE THE SECURITY VIOLATION METHODS?
1. Masquerading (authentication breach): pretending to be an authorized user.
2. Replay Attack: Replaying the same message or adding a modification to it.
3. Man-in-the-middle attack: intruder sits in data flow, masquerading as sender to receiver and vice versa.
4. Session hijacking: intercepting a session which is already on going to by-pass authentication.
5. Privilege escalation: A really Common attack, access of resources that a user is not supposed to have.
WHAT ARE THE OTHER VARIATIONS OF HYPERVISORS?
1. Paravirtualization: guest OS is modified to work with VMM.
2. Programming-environment virtualization: VMMS do not virtualize hardware which creates optimized virtual system (Used by Oracle Java and Microsoft.Net).
3. Emulators: Allows applications written for one hardware to run on different hardware environments.
4. Application Containment: Not virtualization but, provides features like it by segregating application making them more secure and manageable.
Oracle Solaris Zones, BSD Jails, IBM AIX WPARs.
• Much variation is due to breadth, depth, and importance of virtualization.
WHAT ARE THE STEPS OF LIVE MIGRATION?
1. VMM start connection with the target VMM.
2. Target created a new guest (by creating a new VCPU).
3. VMM sends read-only files to target VMM.
4. VMM sends read-write files to target VMM.
5. Repeat 4 unit done as not all read-write data can be sent (could be a dirty read).
6. If step 4 and 5 becomes very short then, VMM freezes guest, send remaining stuff.
7. Target starts running the freezed guest.
WHAT ARE THE REASONS FOR DISTRIBUTED SYSTEMS?
1. Resource sharing
Sharing files, information, printing.
Using remote GPUs.
2. Computation speedup
dsitribute processing needed to multicomputers.
Load balancing: moving jobs to more lightly-laoded sites.
3. Reliability: detect and recover failurs.
WHAT ARE THE WIDELY USED ARCHITECTURES?
1. Client-server model.
2. Cluster-based model.
WHAT ARE THE CHALLENGES?
1. Naming and transparency.
2. Remote file access.
3. Caching and caching consistency.
WHAT WAS GFS WAS INFLUNECNED BY?
1. Hardware failure should be expected routinely.
2. Most files are changed by appending new data (rather than overwriting existing data).
3. Modularized software layer MapReduce sit on top of GFS to carry out large-scale parallel computations.
WHAT ARE THE ADVANTAGES OF DISK CACHES?
1. Reliable
2. Cached data kept on disk do not need to be fetched again while recovery.
ADVANTAGES OF MAIN MEMORY CACHES?
1. Can make workstations diskless.
2. Quicker data access.
3. Performance speed up in bigger memories.
4. Server c
The objectives of these slides include -
- To describe the basic organization of computer systems
- To provide a grand tour of the major components of operating systems
- To give an overview of the many types of computing environments
- To explore several open-source operating systems
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSEDuvanRamosGarzon1
AIRCRAFT GENERAL
The Single Aisle is the most advanced family aircraft in service today, with fly-by-wire flight controls.
The A318, A319, A320 and A321 are twin-engine subsonic medium range aircraft.
The family offers a choice of engines
Automobile Management System Project Report.pdfKamal Acharya
The proposed project is developed to manage the automobile in the automobile dealer company. The main module in this project is login, automobile management, customer management, sales, complaints and reports. The first module is the login. The automobile showroom owner should login to the project for usage. The username and password are verified and if it is correct, next form opens. If the username and password are not correct, it shows the error message.
When a customer search for a automobile, if the automobile is available, they will be taken to a page that shows the details of the automobile including automobile name, automobile ID, quantity, price etc. “Automobile Management System” is useful for maintaining automobiles, customers effectively and hence helps for establishing good relation between customer and automobile organization. It contains various customized modules for effectively maintaining automobiles and stock information accurately and safely.
When the automobile is sold to the customer, stock will be reduced automatically. When a new purchase is made, stock will be increased automatically. While selecting automobiles for sale, the proposed software will automatically check for total number of available stock of that particular item, if the total stock of that particular item is less than 5, software will notify the user to purchase the particular item.
Also when the user tries to sale items which are not in stock, the system will prompt the user that the stock is not enough. Customers of this system can search for a automobile; can purchase a automobile easily by selecting fast. On the other hand the stock of automobiles can be maintained perfectly by the automobile shop manager overcoming the drawbacks of existing system.
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
About
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Technical Specifications
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
Key Features
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface
• Compatible with MAFI CCR system
• Copatiable with IDM8000 CCR
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
Application
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
Overview of the fundamental roles in Hydropower generation and the components involved in wider Electrical Engineering.
This paper presents the design and construction of hydroelectric dams from the hydrologist’s survey of the valley before construction, all aspects and involved disciplines, fluid dynamics, structural engineering, generation and mains frequency regulation to the very transmission of power through the network in the United Kingdom.
Author: Robbie Edward Sayers
Collaborators and co editors: Charlie Sims and Connor Healey.
(C) 2024 Robbie E. Sayers
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
Final project report on grocery store management system..pdfKamal Acharya
In today’s fast-changing business environment, it’s extremely important to be able to respond to client needs in the most effective and timely manner. If your customers wish to see your business online and have instant access to your products or services.
Online Grocery Store is an e-commerce website, which retails various grocery products. This project allows viewing various products available enables registered users to purchase desired products instantly using Paytm, UPI payment processor (Instant Pay) and also can place order by using Cash on Delivery (Pay Later) option. This project provides an easy access to Administrators and Managers to view orders placed using Pay Later and Instant Pay options.
In order to develop an e-commerce website, a number of Technologies must be studied and understood. These include multi-tiered architecture, server and client-side scripting techniques, implementation technologies, programming language (such as PHP, HTML, CSS, JavaScript) and MySQL relational databases. This is a project with the objective to develop a basic website where a consumer is provided with a shopping cart website and also to know about the technologies used to develop such a website.
This document will discuss each of the underlying technologies to create and implement an e- commerce website.
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
CFD analysis is incredibly effective at solving mysteries and improving the performance of complex systems!
Here's a great example: At a large natural gas-fired power plant, where they use waste heat to generate steam and energy, they were puzzled that their boiler wasn't producing as much steam as expected.
R&R and Tetra Engineering Group Inc. were asked to solve the issue with reduced steam production.
An inspection had shown that a significant amount of hot flue gas was bypassing the boiler tubes, where the heat was supposed to be transferred.
R&R Consult conducted a CFD analysis, which revealed that 6.3% of the flue gas was bypassing the boiler tubes without transferring heat. The analysis also showed that the flue gas was instead being directed along the sides of the boiler and between the modules that were supposed to capture the heat. This was the cause of the reduced performance.
Based on our results, Tetra Engineering installed covering plates to reduce the bypass flow. This improved the boiler's performance and increased electricity production.
It is always satisfying when we can help solve complex challenges like this. Do your systems also need a check-up or optimization? Give us a call!
Work done in cooperation with James Malloy and David Moelling from Tetra Engineering.
More examples of our work https://www.r-r-consult.dk/en/cases-en/
3. Computer-System Architecture
1- single general-purpose processor
–On a single-processor system, there is one
main CPU capable of executing a general-
purpose instruction set, including
instructions from user processes.
–Most systems have special-purpose
processors as well
4. Computer-System Architecture
2- Multiprocessors systems :
growing in use and importance
– Also known as parallel systems, tightly-coupled systems
– The system have two or more processors in close
communication , sharing the computer bus memory and
peripheral devices.
– Advantages include
1. Increased throughput
2. Economy of scale
3. Increased reliability – graceful degradation or fault
tolerance
5. Computer-System Architecture
– Two types
1. Asymmetric Multiprocessing
2. Symmetric Multiprocessing
1- Asymmetric Multiprocessing
• In which each processor is assigned a specific task.
• A master processor controls the system
• Master-slave relation ship
2- Symmetric Multiprocessing
• All processors are peers
• Many processes can run simultaneous … n processes
can run if n
CPU
7. Computer-System Architecture
- Multi-computing core
–Multi processor per chip
–Multi chips with single core
–Which better? And why?
–First
–Because on-chip communication is
faster than between- chips
10. Clustered Systems
3- Clustered Systems
• Like multiprocessor systems, but multiple systems
working together
• A clustered system uses multiple CPUs to complete a
task.
• It is different from parallel system in that clustered
system consists of two or more individual systems
tied together.
• Definition : The clustered computers share storage
and are closely linked via LAN networking.
10
11. Clustered Systems
– Provides a high-availability service which survives
failures: A layer of cluster software runs on cluster nodes.
Each node can monitor one or more nodes over the LAN.
– The monitored machine can fail in some cases.
– The monitoring machine can take ownership of its storage.
– The monitoring machine can also restart applications that
were running on the failed machine-
– The failed machine can remain down but the users will see a
brief of the service.
11
12. Clustered Systems
The clustered system can be of the following forms:
• Asymmetric clustering: In this form, one machine is in hot standby
mode and other machine is running the application. The hot standby
machine performs nothing. It only monitors the server. If faiuler It
becomes the active server if the server fails.
• Symmetric clustering In this mode, two or more machines run the
applications. They also monitor each other at the same time. This
mode is more efficient because it uses all available machines. It can be
used only if multiple applications are available to be executed
• high-performance computing (HPC)
• Applications must be written to use parallelization
12
15. Operating System Structure
Multiprogramming:
• Multiprogramming is a form of parallel processing in
which several programs are run at the same time on a
uniprocessor.
• Since there is only one processor , there can be no
true simultaneous execution of different programs.
Instead, the operating system executes part of one
program, then part of another, and so on.
• To the user it appears that all programs are executing
at the same time 15
17. Operating System Structure
• Multiprogramming needed for efficiency
– Single user cannot keep CPU and I/O devices busy
at all times
– Multiprogramming organizes jobs (code and data)
so CPU always has one to execute
– A subset of total jobs in system is kept in memory
– One job selected and run via job scheduling
– When it has to wait (for I/O for example), OS
switches to another job
17
18. Operating System Structure
• Multiprogramming means: that several
programs in different stages of execution are
coordinated to run on a single I-stream engine
(CPU).
• Multiprocessing, which is the coordination of
the simultaneous execution of several
programs running on multiple I-stream
engines (CPUs).
18
19. Operating System Structure
• Timesharing (multitasking):
is logical extension in which CPU
switches jobs so frequently that
users can interact with each job
while it is running, creating
interactive computing
19
20. Operating System Structure
• Timesharing:
– Response time should be < 1 second
– Each user has at least one program
executing in memory process
– If several jobs ready to run at the same time
CPU scheduling
– If processes don’t fit in memory, swapping
moves them in and out to run
– Virtual memory allows execution of
processes not completely in memory
20
22. Computer-System Operation
• Each device controller is in charge of a particular
device type (disk drive, video displays etc).
• I/O devices and the CPU can execute
concurrently.
• Each device controller has a local buffer.
• CPU moves data from/to main memory to/from
local buffers
• I/O is from the device to local buffer of controller.
• Device controller informs CPU that it has finished
its operation by causing an interrupt.
23. Interrupt
• Means : cut off
• Hardware interrupt, e.g. services requests of I/O
devices
• Software interrupt, e.g. signals, invalid memory
access, division by zero, system calls, etc –(trap)
• Procedures: generic handler or interrupt vector
(MS-DOS,UNIX)
24. Operating-System Operations
• Interrupts are an important part of a
computer architecture.
• Each computer design has its own interrupt
mechanism, but several functions are
common.
25. Operating-System Operations
External Interrupts
• An external interrupt is a temporal suspension
of a process caused by an event external to
that process and performed in such a way that
the process can be resumed.
– I/O
– Timer
– Hardware failure
26. Operating-System Operations
• Interrupt driven by hardware
• Software error or request creates
exception or trap
–Division by zero, request for operating
system service
• Other process problems include infinite
loop, processes modifying each other or
the operating system
27. Common Functions of Interrupts
• Incoming interrupts are disabled while
another interrupt is being processed to
prevent a lost interrupt
• A trap is a software-generated interrupt
caused either by an error or a user
request
• An operating system is interrupt driven
28. Operating-System Operations
Instruction Cycle with Interrupts
• CPU checks for interrupts after each instruction.
• If no interrupts, then fetch next instruction of current
program.
• If an interrupt is pending, then suspend execution of
the current program. The processor sends an
acknowledgement signal to the device that issued the
interrupt so that the device can remove its interrupt
signal.
• Interrupt architecture saves the address of the
interrupted instruction (and values of other registers).
29. Operating-System Operations
Instruction Cycle with Interrupts
• Interrupt transfers control to the interrupt service
routine (Interrupt Handler), generally through the
interrupt vector, which contains the addresses of all the
service routines.
• Separate segments of code determine what action
should be taken for each type of interrupt
30. Operating-System Operations
Interrupt Driven I/O
• To start an I/O operation, the CPU loads the
appropriate registers within the device controller.
• The device controller examines the contents of
these registers and determines what action to
take and then performs the action.
• Device controller informs CPU that it has finished
its operation by causing an external interrupt
31. Operating-System Operations
• Interrupt Driven I/O
• A disk block read example:
– For disk reads, the controller reads the block (one or more
sectors) from the derive serially, bit by bit, until the entire
block is in the controller internal buffer.
– It then performs a checksum to verify that no read errors
have occurred.
– The controller sends an interrupt. When the OS starts
running, it can read the disk block from the controller’s
buffer a byte or a word at a time by executing a loop, with
each iteration reading one byte or word from the
controller device register and storing it in the main
memory.
32. Operating-System Operations
Interrupt Handler
• A program that determines nature of the
interrupt and performs whatever actions are
needed
• Control is transferred to this program
• Generally part of the operating system
33. Operating-System Operations:
Interrupt Handling Procedure
• Interrupt Handling
Save interrupt information
OS determine the interrupt type (by polling)
Call the corresponding handlers
Return to the interrupted job by the restoring
important information (e.g., saved return
address program counter)
34. Direct Memory Access (DMA) Structure
• Used for high-speed I/O devices able to
transmit information at close to memory
speeds
• Device controller transfers blocks of data
from buffer storage directly to main memory
without CPU intervention
• Only one interrupt is generated per block,
rather than the one interrupt per byte
35. Direct Memory Access (DMA) Structure
• Execute the device driver to set up the registers
of the DMA controller.
• DMA moves blocks of data between the
memory and its own buffers.
• Transfer from its buffers to its devices.
• Interrupt the CPU when the job is done
36. • Direct Memory Access (DMA) Structure
•
• Recall that with interrupt driven I/O, the CPU can request data from
an I/O controller one byte/word at a time which wastes the CPU
time.
• DMA is a scheme which allows block of data transfer from the
device to the memory without the intervention of the CPU.
• After setting up buffers, pointers, and counters for the I/O device by
the CPU, the device controller transfers blocks of data from buffer
storage directly to main memory without CPU intervention.
• Only one interrupt is generated per block, rather than the one
interrupt per byte.
• The OS can only use DMA if the hardware has a DMA controller.
37. • Direct Memory Access, or DMA, is an
absolutely essential part of any modern
computing architecture. DMA allows the CPU
to offload intensive memory access tasks to
other components. This then frees the CPU
from these menial chores and provides more
cycles to more complex tasks for which it is
better suited.
39. Dual-Mode Operation
• Dual-mode operation allows OS to protect itself and
other system components
• Execution of operating-system code and user defined
code user mode and kernel
40. Operating-System Operations
• Dual-mode operation allows OS to protect itself and
other system components
– User mode and kernel mode
– Mode bit provided by hardware
• Provides ability to distinguish when system is
running user code or kernel code
• Some instructions designated as privileged,
only executable in kernel mode
• System call changes mode to kernel, return
from call resets it to user
41. Operating-System Operations
• At system boot time, the hardware starts in
kernel mode.
• The operating system is then loaded and starts
user applications in user mode.
• Whenever a trap or interrupt occurs, the
hardware switches from user mode to kernel
mode.
43. System Calls
• System calls :
– Interface between processes & OS
• Definition: is how a program requests a service
from an operating system’s kernel . They
provide the interface between a process and
operating system.
• Is an interface between a user-space
application and a service is provided in the
kernel.
43
44. System Calls
• How to make system calls?
– Assemble-language instructions or
subroutine/functions calls in high-level language
such as C or Perl?
• Generation of in-line instructions or a call to a special
run-time routine.
• Example: read and copy of a file!
– Library Calls vs System Calls
44
45. System Calls
• Programming interface to the services
provided by the OS
• Typically written in a high-level language
(C or C++)
45
46. System Calls
• Three most common APIs are Win32 API for
Windows, POSIX API for POSIX-based systems
(including virtually all versions of UNIX, Linux,
and Mac OS X), and Java API for the Java virtual
machine (JVM)
• Why use APIs rather than system calls?
(Note that the system-call names used
throughout this text are generic)
46
48. System Call Implementation
• The system call interface invokes intended
system call in OS kernel and returns status of
the system call and any return values
• The caller need know nothing about how the
system call is implemented
– Just needs to obey API and understand what OS will do as
a result call
– Most details of OS interface hidden from programmer by
API
• Managed by run-time support library (set of functions
built into libraries included with compiler)
48
49. Example of Standard API
• Consider the ReadFile() function in the
• Win32 API—a function for reading from a file
• A description of the parameters passed to ReadFile()
– HANDLE file—the file to be read
– LPVOID buffer—a buffer where the data will be read into and written from
– DWORD bytesToRead—the number of bytes to be read into the buffer
– LPDWORD bytesRead—the number of bytes read during the last read
– LPOVERLAPPED ovl—indicates if overlapped I/O is being used 49
50. Standard C Library Example
• C program invoking printf() library call, which calls write() system call
50
52. System Call Parameter Passing
• Three general methods used to pass parameters to the OS
– Simplest: pass the parameters in registers
• In some cases, may be more parameters than registers
– Parameters stored in a block, or table, in memory, and address
of block passed as a parameter in a register
• This approach taken by Linux and Solaris
– Parameters placed, or pushed, onto the stack by the program
and popped off the stack by the operating system
– Block and stack methods do not limit the number or length of
parameters being passed
52
59. System Programs
• Provide a convenient environment for program
development and execution
– Some of them are simply user interfaces to
system calls; others are considerably more
complex
• File management - Create, delete, copy,
rename, print, dump, list, and generally
manipulate files and directories
59
60. System Programs
• Status information
– Some ask the system for info - date, time, amount of
available memory, disk space, number of users
– Others provide detailed performance, logging, and
debugging information
– Typically, these programs format and print the
output to the terminal or other output devices
– Some systems implement a registry - used to store
and retrieve configuration information
60
61. System Programs (cont’d)
• File modification
–Text editors to create and modify files
–Special commands to search contents
of files or perform transformations of
the text
• Programming-language support -
Compilers, assemblers, debuggers and
interpreters sometimes provided
61
62. System Programs (cont’d)
• Program loading and execution- Absolute
loaders, reloadable loaders, linkage
editors, and overlay-loaders, debugging
systems for higher-level and machine
language
62
63. System Programs (cont’d)
• Communications - Provide the
mechanism for creating virtual
connections among processes, users, and
computer systems
–Allow users to send messages to one
another’s screens, browse web pages,
send electronic-mail messages, log in
remotely, transfer files from one
machine to another
63
65. User Operating System Interface - CLI
1- Command Line Interface (CLI)
or command interpreter allows direct command
entry
• Sometimes implemented in kernel, sometimes by
systems program
• Sometimes multiple flavors implemented – shells
65
66. User Operating System Interface - CLI
• Primarily fetches a command from user and
executes it
–Sometimes commands built-in, sometimes
just names of programs
»If the latter, adding new features doesn’t
require shell modification
66
67. User Operating System Interface - GUI
2- Graphical User Interface (GUI )
– User-friendly desktop metaphor interface
– Usually mouse, keyboard, and monitor
– Icons represent files, programs, actions, etc
– Various mouse buttons over objects in the interface
cause various actions (provide information, options,
execute function, open directory (known as a folder)
– Invented at Xerox PARC
67
68. User Operating System Interface - GUI
• Many systems now include both CLI and GUI
interfaces
– Microsoft Windows is GUI with CLI
“command” shell
– Apple Mac OS X as “Aqua” GUI interface with
UNIX kernel underneath and shells available
– Solaris is CLI with optional GUI interfaces
(Java Desktop, KDE)
68
71. Simple Structure
• Called “no structure”
• The operating system is a collection of
procedures, each of which call any of the
other whenever it requires their needs.
71
72. Simple Structure
• MS-DOS – written to provide the most
functionality in the least space
– Not divided into modules
– Although MS-DOS has some structure, its interfaces
and levels of functionality are not well separated
72
75. Layered Approach
• The operating system is divided into a number
of layers (levels), each built on top of lower
layers. The bottom layer (layer 0), is the
hardware; the highest (layer N) is the user
interface.
• With modularity, layers are selected such that
each uses functions (operations) and services of
only lower-level layers
75
77. Microkernel System Structure
• Philosophy of microkernel is to have the bare
essentials in the kernel.
• Removing all non-essential components from
kernel and implement them in system-and -
user level. Program thst results a smaller
kernel called microkernal.
77
79. Microkernel System Structure
• Moves as much from the kernel into
“user” space.
• Communication takes place between user
modules using message passing.
• Benefits:
– Easier to extend a microkernel
– Easier to port the operating system to new
architectures
– More reliable (less code is running in kernel mode)
– More secure
79