UNIX - questions et réponse d'entrevue de LINUX

UNIX - questions et réponse d'entrevue de LINUX :

1. Comment est-ce que des dispositifs sont représentés à UNIX ?

Tous les dispositifs sont représentés par des dossiers appelés les dossiers spéciaux qui sont annuaire localisé d'in/dev. Ainsi, des dossiers de dispositif et d'autres dossiers sont appelés et accédés de la même manière. « Un dossier régulier " est juste un fichier de données ordinaire dans le disque. Un « fichier spécial mode bloc " représente un dispositif avec des caractéristiques semblables à un disque (transfert de données en termes de blocs). Un "fichier spécial mode caractère " représente un dispositif avec des caractéristiques semblables à un clavier (le transfert de données est par le jet du peu dans l'ordre séquentiel).

2. Quel est "noeud d'index " ?

Tous les dossiers d'UNIX ont sa description stockée dans une structure appelée le "noeud d'index ". Le noeud d'index contient l'information au sujet de la dossier-taille, son endroit, la période du dernier accès, période de dernière modification, permission et ainsi de suite. Des annuaires sont également représentés comme dossiers et ont un noeud d'index associé. En plus des descriptions au sujet du dossier, le noeud d'index contient des indicateurs aux blocs de données du dossier. Si le dossier est grand, le noeud d'index a l'indicateur indirect à un bloc d'indicateurs aux blocs de données additionnels (ces d'autres agrégats pour de plus grands dossiers). Un bloc est typiquement 8k.
Le noeud d'index comprend les champs suivants :

  • Marque de propriétaire de dossier
  • Type de dossier
  • Permissions d'accès de dossier
  • Temps d'accès de dossier
  • Nombre de liens
  • Taille de fichier
  • Endroit des données de dossier

3. Dossier au sujet de la représentation d'annuaire à UNIX

Un répertoire Unix est un dossier contenant une correspondance entre les noms de fichier et les noeuds d'index. Un annuaire est un dossier spécial que le grain maintient. Seulement le grain modifie des annuaires, mais les processus peuvent lire des annuaires. Le contenu d'un annuaire est une liste de paires de nom de fichier et de nombre de noeud d'index. Quand de nouveaux annuaires sont créés, le grain fait deux entrées appelées ". " (se rapporte à l'annuaire lui-même) et ". " (se rapporte à l'annuaire de parent).
L'appel système pour créer l'annuaire est mkdir (nom, mode).

4. Quels sont les appels de système Unix Pour l'entrée-sortie ?

  • ouvrez-vous (nom, drapeau, mode) - dossier ouvert
  • creat (nom, mode) - créez le dossier
  • fin (filedes) - étroits un dossier ouvert
  • lu (filedes, amortisseur, bytes) - données lues à partir d'un dossier ouvert
  • écrivez (filedes, amortisseur, bytes) - écrivent des données à un dossier ouvert
  • le lseek (filedes, excentrage, de) - placez un dossier ouvert
  • duplication (filedes) - reproduisez un descripteur de dossier existant
  • dup2 (oldfd, newfd) - reproduisez à un descripteur de dossier désiré
  • fcntl (filedes, cmd, arg) - changez les propriétés d'un dossier ouvert
  • ioctl (filedes, demande, arg) - changez le comportement d'un dossier ouvert

La différence entre l'ioctl d'anf de fcntl est que l'ancien est prévu pour n'importe quel dossier ouvert, alors que ce dernier est pour des opérations device-specific.

5. Comment changez-vous des permissions d'accès de dossier ?

Chaque dossier a des attributs suivants :
l'identification de l'utilisateur du propriétaire (nombre entier de 16 bits)
l'identification du groupe du propriétaire (nombre entier de 16 bits)
Mot de mode d'accès de dossier

'r w x -r w x- r w x'


(permission-groupe permission-autres d'utilisateur permission)
r-lisez, W-écrivez, x-exécutez
Pour changer le mode d'accès, nous employons le chmod (nom de fichier, mode).
Exemple 1 :
Pour changer le mode de myfile en le "RW-RW-r " (IE. lu, l'autorisation d'écriture pour l'utilisateur - lu, l'autorisation d'écriture pour le groupe - seulement permission lue pour d'autres) que nous donnons les args comme :
chmod (myfile, 0664).
Chaque opération est représentée par des valeurs discrètes

'r' is 4
'w' is 2
'x' is 1


Par conséquent, parce que le "RW " la valeur est 6 (4+2).
Exemple 2 :
Pour changer le mode de myfile en "rwxr-r- " nous donnons les args comme :

chmod(myfile,0744).

 

6. Quels sont des liens et des liens symboliques dans le système de fichiers d'UNIX ?

Un lien est un deuxième nom (pas un dossier) pour un dossier. Des liens peuvent être employés pour assigner plus d'un nom à un dossier, mais ne peuvent pas être employés pour assigner à un annuaire plus d'un nom ou noms de fichier de lien sur différents ordinateurs.
Le lien symbolique "est " un dossier qui contient seulement le nom d'un autre dossier. L'opération sur le lien symbolique est dirigée vers le dossier dirigé par il. On élimine les les deux les limitations des liens dans des liens symboliques.
Les commandes pour des dossiers d'enchaînement sont :

Link ln filename1 filename2
Symbolic link ln -s filename1 filename2


7. Quel est un fifo ?

Le fifo s'appellent autrement en tant que "pipes appelées ". Fifo (first-in-first-out) est un dossier spécial qui serait la coupure de données. Une fois que des données sont lues de la pipe appelée, il ne peut pas lire encore. En outre, des données peuvent être lues seulement dans l'ordre écrit. Il est employé dans la communication d'interprocessus où un processus écrit à une extrémité de la pipe (producteur) et l'autre lit de l'autre extrémité (consommateur).

8. Comment créez-vous les dossiers spéciaux comme les pipes et les dossiers appelés de dispositif ?

Le mknod d'appel système crée les dossiers spéciaux dans l'ordre suivant.
1. le grain assigne le nouveau noeud d'index,
2. place le type de dossier pour indiquer que le dossier est une pipe, un annuaire ou un dossier spécial,
3. Si c'est un dossier de dispositif, il fait les autres entrées comme le commandant, nombres de dispositif mineurs.
Par exemple :
Si le dispositif est un disque, le nombre de dispositif important se rapporte au contrôleur de disques et le nombre de dispositif mineur est le disque.

9. Discutez les appels système de bâti et d'unmount

L'appel système privilégié de bâti est employé pour attacher un système de fichiers à un annuaire d'un autre système de fichiers ; l'appel système d'unmount détache un système de fichiers. Quand vous montez un autre système de fichiers dessus à votre annuaire, vous épissez essentiellement un arbre d'annuaire sur une branche dans un autre arbre d'annuaire. Le premier argument pour monter l'appel est le point de montage, c.-à-d., un annuaire dans le dossier courant appelant le système. Le deuxième argument est le système de fichiers à monter à ce point. Quand vous insérez un disque compact-ROM à votre commande du système Unix, le système de fichiers dans le disque compact-ROM monte automatiquement à /dev/cdrom dans votre système.

10. Comment le noeud d'index trace-t-il au bloc de données d'un dossier ?

Le noeud d'index a 13 adresses de bloc. Les 10 premiers sont des adresses de bloc directes des 10 premiers blocs de données dans le dossier. La 11ème adresse indique un bloc d'index d'un niveau. La 12ème adresse indique un bloc d'index à deux niveaux (de double adressage indirect). La 13ème adresse indique un bloc d'index à trois nivaux (d'adressage indirect triple). Ceci fournit à une taille de fichier maximum très grande l'accès efficace à de grands dossiers, mais également de petits dossiers sont accédés directement dans un disque lu.

11. Quelle est une coquille ?

Une coquille est une interface utilisateurs interactive à l'des services du système d'exploitation qui permet à un utilisateur de sélectionner des commandes car des chaînes de caractères ou par une interface utilisateurs graphique. La coquille convertit eux en appels système en OS ou des fourchettes outre d'un processus pour exécuter la commande. Des résultats d'appel système et toute autre information de l'OS sont présentés à l'utilisateur par une interface interactive. Les coquilles utilisées généralement sont SH, le csh, les ks etc.

12. Dossier au sujet de l'ordre de processus initial tandis que le système initialise.

Tout en initialisant, le processus spécial appelé le "échangeur " ou le "programmateur " est créé avec Processus-IDENTIFICATION 0. L'échangeur contrôle l'attribution de mémoire pour des processus et influence l'affectation de temps processeur. L'inturn d'échangeur crée 3 enfants :

  • l'expéditeur de processus,
  • vhand et
  • dbflush

avec les IDs 1.2 et 3 respectivement.
Ceci est fait en exécutant le dossier /etc/init. L'expéditeur de processus donne naissance à la coquille. Unix maintient tous les processus dans une structure de données internes appelée le Tableau de processus (la commande de liste est la picoseconde - EL).

13. Quels sont de divers IDs liés à un processus ?

Unix identifie chaque processus avec un nombre entier unique appelé ProcessID. Le processus qui exécute la demande de la création d'un processus s'appelle le "processus père " dont le PID est "identificateur du processus père ". Chaque processus est associé à un utilisateur particulier appelé le "propriétaire " qui a des privilèges au-dessus du processus. L'identification pour l'utilisateur est "identification de l'utilisateur ". Le propriétaire est l'utilisateur qui exécute le processus. Le processus a également "l'identificateur d'utilisateur effectif " qui détermine les privilèges d'accès pour les ressources de accès comme des dossiers.

  • identificateur de processus de getpid () -
  • identificateur du processus père de getppid () -
  • identification d'utilisateur de getuid () -
  • identificateur d'utilisateur effectif de geteuid () -

14. Expliquez l'appel système de fourchette ().

La "fourchette () " créait un nouveau processus d'un processus existant. Le nouveau processus s'appelle le processus fils, et le processus existant s'appelle le parent. Nous pouvons dire ce qui est quel en vérifiant la valeur de retour de la "fourchette () ". Le parent obtient le PID de l'enfant retourné à lui, mais l'enfant obtient 0 retourné à lui.

15. Prévoyez le rendement du code suivant de programme

main()
{
  fork();
  printf("Hello World!");
}


Réponse :

Hello World!Hello World!


Explication :

La fourchette crée un enfant qui est une reproduction du processus père. L'enfant commence de la fourchette (). Tous les rapports après que l'appel à la fourchette () soit exécuté deux fois. (une fois par le processus père et autre par l'enfant). Le rapport avant fourchette () est exécuté seulement par le processus père.

16. Prévoyez le rendement du code suivant de programme

main()
{
fork(); fork(); fork();
printf("Hello World!");
}


Réponse :
"Bonjour le monde " sera imprimé 8 fois.
Explication :
périodes 2^n où n est le nombre d'appels à bifurquer ()

17. Énumérez les appels système utilisés pour le contrôle de processus industriel :

Description d'appels système

  • bifurquez () pour créer un nouveau processus
  • exec () pour exécuter un nouveau programme dans un processus
  • attendez () pour attendre jusqu'à ce qu'un processus créé accomplisse son exécution
  • sortez () pour sortir d'une exécution de processus
  • getpid () pour obtenir une marque de processus du processus courant
  • getppid () pour obtenir la marque de processus père
  • gentil () de polariser la priorité existante d'un processus
  • augmenter de brk () pour/diminution la taille de segment de données d'un processus.

18. Comment vous ose-t-elle obtient-elle/ensemble une variable d'environnement d'un programme ?

L'obtention de la valeur d'une variable d'environnement est faite en employant le "getenv () ". L'établissement de la valeur d'une variable d'environnement est fait en employant le "putenv () ".

19. Comment un parent et un processus fils peuvent-ils communiquer ?

Un parent et un enfant peuvent communiquer par des arrangements normaux l'uns des de communication d'interprocessus (pipes, douilles, files d'attente de messages, mémoire partagée), mais ont également quelques manières spéciales de communiquer qui tirent profit de leur rapport en tant qu'un parent et enfant. Un des plus évidente est que le parent peut obtenir l'état de sortie de l'enfant.

20. Quel est un zombi ?

Quand un programme bifurque et l'enfant finit avant le parent, le grain garde toujours certaines de ses informations sur l'enfant au cas où le parent pourrait avoir besoin de lui - par exemple, le parent peut devoir vérifier l'état de sortie de l'enfant. Pour pouvoir obtenir cette information, les appels de parent "attendent () " ; Dans l'intervalle entre la terminaison de l'enfant et le parent appelle la "attente () », l'enfant serait un "zombi » (si vous faites "picoseconde », l'enfant aura un "Z " dans sa zone STATUS pour indiquer ceci.)

21. Quels sont les états de processus à Unix ?

Pendant qu'un processus s'exécute il change l'état selon ses circonstances. Les processus d'Unix ont les états suivants :
Fonctionnement : Le processus ou fonctionne ou il est prêt à fonctionner.
Attente : Le processus attend un événement ou une ressource.
Arrêté : Le processus a été arrêté, habituellement en recevant un signal.
Zombi : Le processus est mort mais n'a pas été enlevé de la table de processus.


Pick a language
English  French