Operating system

Download Report

Transcript Operating system

Networking Operating Systems (CO32010)
2. Processes
and
scheduling
1. Operating
Systems
1.1
1.2
1.3
1.4
1.5
Introduction
3. Distributed
Multitasking
and threading
7. Encryption
processing
Example operating system components
Exercises
Example operating systems
8. NT, UNIX
and NetWare
6. Routers
Objectives:
• To define some of the basic terminology of operating systems.
• To define the main components of a network operating system.
• To define the differences in operating systems.
• To outline the history of some of the most used operating
4. Distributed
5.systems.
Routing
protocols
http://www.soc.napier.ac.uk/~bill/nos.html
file systems
bill@napier, 2001
Hardware, Operating Systems and User Interfaces
User interface:
• Microsoft Windows (Windows 95/98/NT/2000).
• Microsoft Windows 3.1.
• X-Windows.
Operating system:
• Microsoft Windows (Windows 95/98/NT/2000).
• DOS.
• UNIX/Linux.
• VMS.
• Novell NetWare.
Hardware:
• x86 architecture.
• SPARC architecture.
• Apple architecture.
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Hardware, Operating Systems and User Interfaces
Operating System
User account database
Users
Groups
Operating system
Kernel
Volumes
File system
Resources
Memory
Print Queues
Printer
Printer Server
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Operating system characteristics
Single-user
Multi-user
Stand-alone
Networked
Single-tasking
Multitasking
Single processor
Multi-processor
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Operating Systems
Memory:
- Creating virtual memory systems
- Disk swapping for memory
Device interfacing:
- Access to connected devices
- Multi-user access
- Device drivers
Unix
Linux
Networking:
- Remote login/file transfer
- Creating global file systems
Microsoft
Windows
95/98 (OS)
Microsoft
Windows
NT (OS)
Hardware
Mac
OS
File system:
- Creating a file system
- Copying/deleting/moving files
DOS
Multi-user
- Allowing users to login into system
- Allows users permissions to certain resources
- Manage queues for resources
Multiprocessing
- Allowing several processes to run, at a time
- Scheduling of processing to allow priority
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Application
program
Application
program
Operating System
Components
Communication
with operating system
Operating System
Network
driver
Kernel
Mouse driver
Video driver
Keyboard
driver
Soundcard driver
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Information passed between processes
Process
Process
Data passed between processes
Process
Process
Message or signal
Interrupt
Interrupt
Low-level
Low-level
interrupt
interrupt
Low-level
Low-level
interrupt
interrupt
Network or local computer
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Preemptive Multitasking
Come on. My
turn soon
2
3
Processor
1
Okay No.1, you’ve
had your turn,
get to the back of
the queue. Next!
4
5
Process queue
Pre-emptive multitasking:
Processes are given some time on the processor.
This allows all the processes to have some time on
the processor, and makes for smoother and more
reliable operation
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Hurray. I could
stay here forever.
Anyway, I’m
not going back to
the end of the queue.
Co-operative Multitasking
Hurry up. I’m
waiting. You’ve
been on that
processor
for ages.
This isn’t
very fair!
1
2
Processor
Sorry. You’ll have to
wait until he’s
finished
3
4
5
6
Process queue
Co-operative multitasking:
Processes must yield from
the processor, before other processes
can run on the processor
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Threads in a task
Boil
potatoes
Microwave
the pie
Pie is
cooked
Potatoes
are soft
Put
pie
on plate
Put
potatoes
on plate
Boil
carrots
Carrots
are soft
http://www.soc.napier.ac.uk/~bill/nos.html
Put
carrots
on plate
bill@napier, 2001
Splitting a process into threads
Process approach
Threads approach
Interlinking
of threads
Process
Process splits
into threads
Threads
Independent
threads
Common sharing
of data between threads
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Dynamic Link Libraries
Program calls up
a DLL when it requires
a certain function
Static library
is used when
compiling the
program. All the
associated code
is included in the
program (even if
it is not used)
Program
http://www.soc.napier.ac.uk/~bill/nos.html
Dynamic link library (DLL)
(standard ones stored in \WINDOWS
and \WINDOWS\SYSTEM folders)
- WINSOCK.DLL (TCP/IP)
- GDI.DLL (Graphical interface)
- KERNAL32.DLL (Kernel)
bill@napier, 2001
TCP/IP affected virus
Virus can now
listen to (and modify)
any network
traffic
Application
program
TCP/IP
DLL
(Virus effected)
Infected network
transmission (such as
infecting other users,
typically from an e-mail list)
TCP/IP
DLL
(Correct
version)
Internet/
network
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Window’s Components
• User. The User component provides input and
output to and from the user interface. Input is
from the keyboard, mouse, and any other input
device and the output is to the user interface. It
also manages interaction with the sound driver,
timer, and communications ports.
• Kernel. The Kernel provides for core operating
system components including file I/O services,
virtual memory management, task scheduling and
exception handling, such as: file I/O, exceptions,
virtual memory management, task scheduling.
• GDI. Controls output to screen and printer.
Windows 95/98 core
User
GDI
Kernel
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Virtual Machine Manager
Programs have access to
all the resources of the computer,
as if they were the only program running
Program 1
Virtual
Machine
Manager
Program 2
Program 3
Creating virtual
memory (up to 2/4GB)
- Process scheduling
- Memory paging
- MS-DOS support
DOS
emulator
http://www.soc.napier.ac.uk/~bill/nos.html
DOS
program
bill@napier, 2001
Virtual Machine Manager
•
•
•
Process scheduling. This is responsible for scheduling processes. It allows
for multiple applications to run concurrently and also for providing system
resources to the applications and other processes that run. This allows
multiple applications and other processes to run concurrently, using either cooperative multitasking or pre-emptive multitasking.
Memory paging. Windows 95/98/NT uses a demand-paged virtual memory
system, which is based on a flat, linear address space accessed using 32-bit
addresses. The system allocates each process a unique virtual address space of
4GB. The upper 2GB is shared, while the lower 2GB is private to the
application.This virtual address space is divided into equal blocks (or pages).
MS-DOS Mode support. Provides support for MS-DOS-based applications
which must have exclusive access to the hardware. When an MS-DOS-based
application runs in this mode then no other applications or processes are
allowed to compete for system resources. The application thus has sole access
to the resources.
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001
Example: Windows NT Architecture
Application
User mode
Kernel mode
NT Executive
I/O
manager
Object
manager
Process
manager
Local
procedure
call
facility
Virtual
memory
manager
Win32
Window
Manager
Executive Services
Device
driver
Microkernel
HAL (Hardware Abstraction Layer)
Graphic
device
driver
Hardware
http://www.soc.napier.ac.uk/~bill/nos.html
bill@napier, 2001