Exercice Systeme exploitation
Bonjour à tous,
Je voudrais que vous m'aidiez à résoudre le challenge suivant (Un vrai challenge pour moi qui suis débutant en informatique):
"Soit une matrice de n lignes et t colonnes qui représente la mémoire.Les 2 premières lignes sont occupées par le système d'exploitation.Les lignes 5 et 6 sont censées être occupées.A partir de la 3émé ligne,à chaque fois qu'un job arrive et demande de la place mémoire,ce job est divisé en page de 2 lignes représentées par exemple comme suit: 7 lignes représentées par 4 pages.On crée une table par job avec nombre de lignes = nombre de pages.
On crée une autre table (image mémoire).Le nombre de lignes = n (nombre de lignes de la matrice) avec "l" pour les entrées libres et "o" pour les entrées occupées.
Il faut remplir et libérer la matrice,et faire la mise à jour des tables.Lorsqu'un job arrive,et s'il y'a suffisamment de blocs libres (adjacents ou pas),on met le job en mémoire avec la mise à jour,sinon on attend qu'un autre job se termine.On doit utiliser le langage turbo pascal.On peut choisir n'importe quel exemple pour les job.
Je vous remercie pour votre aide.
RE Systeme d'exploitation
Merci d'abord pour votre réponse.
J'ai compris pour la représentation graphique et je voudrais si possible que vous m'expliquiez: 1)comment déclarer un job au niveau de la mémoire? 2) Doit-il être déclaré en tant qu'entier,ou chaine de caractères? 3)Comment le faire entrer,le mettre en attente et le sortir?Avec quelles instructions en Turbo pascal?
4) Pour mettre un job en attente,dois-je déclarer une file d'attente et l'y mettre?
5)Enfin comment lui allouer un quantum de temps éventuellement?
Je sais que ça fait beaucoup de questions,et je voudrais que vous m'aidiez pas à pas,car ja n'arrive pas à cerner concrètement le problème posé.Merci.:cry: