Linux uses the same internal representation for processes

advertisement

Windows

HAL

Kernel passe par hal et gere objet low level

Multi gestionaire

Gestionaires communiques via ntdll

C OO

Dossier, en objets

Process control block

Same two algorithm for fast app and slow prior

Process/treat manage by kernel/process manager

NO Process hierrarchy

Lowest : 0

Communication interprocess :

Pipe, filesharing, socket, remote calling

Linux

System call

Kernel direct et modulable

Communiques direct

C

Pas de dossier/three que des files

Liste chainée pour process pidhash

Same representation for thret and process

SCHELDUING MANAGE KERNEL TASK

Kernel

Memory management the same

Security : Manager with access list on

ACL by the help of nt executive

Token given at logon

File : part of I/o

File handle->index object handle-> reference object file-> attribute/services

Block control -> MTF

MTF contain part of data or link to another MFT

Dir = mft

Sector of 512bytes->cluster->file

Highest : 0

Like windows, pipe fileshare, socket remotecall = signals, but have too fifo and system V shared memory

 32bit address security define on every file with a table of chmod virtual file->File driver too

Inode = informations/attributes

Unique inode code/partition

Dir = file but special code inode

Linux uses the same internal

representation for processes and threads;

A thread is simply a new process that happens to share the same address space as its parent.

Linux uses two process- scheduling algorithms:

A time-sharing algorithm for fair preemptive scheduling between multiple processes

A real-time algorithm for tasks where absolute priorities are more important than fairnes

Avec windows, si on modifie un objet ils n’y a pas de risque pour les autrses

Process passe par object manager

Handle is a pointer of objet

Threads are scheduled onto the

processor, not a process. this is different from Linux which for scheduling purposes treats threads as a separate process that happens to share address space with another thread

In normal OS, the kernel refers to all the operating systems components that run in kernel mode.

In Windows, this applies to all the

Windows Executive components

(everything below the line in the diagram – slide 3).

Unlike Unix/Linux, the parent and child process are independent of each other. remember fork in Unix/Linux creates the child as a copy of the parent and hence has a copy of the parents address space

In Windows child process has completely separate address space.

Hence Windows does NOT keep track of process hierarchies

Windows provides a set of dispatcher objects which can be used for synchronisation of thread behaviour

These dispatcher objects can be

In a signalled state (when the event that the thread is waiting for occurs) or

In a unsignaled state (when the event has not yet occurred)

Threads (and hence also processes) can communicate

using a variety of methods

Pipes – work very similar to Unix – unidirectional communication via a shared buffer

Sockets – similar to pipes but usually connect processes and threads on different machines

Remote procedure calls – allows a thread in one process to invoke the execution of code in different processes address space

File sharing is also implemented

Windows memory management is performed by the NT Executive component – the Virtual Memory

Manager. it manages

Memory allocation Paging Uses pages of 4K in size

Logical 32 bit address is organised as

Top 10 bits (1024 possible values) identifies page directory entry – i.e. identifies the page table

Next 10 bits give the page table entry i.e. The page frame used (20 bit address value)

Bottom 12 bits gives the 4K address in the page frame (offset value)

 Unix consists of 2 types of domain:

User

Superuser/root super block

....

....

boot block inode blocks file data blocks

Download