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