2010-11-28 5 views
1

J'ai des connaissances sur OS (vraiment peu.) Je voudrais savoir beaucoup sur spécifiquement le système d'exploitation Windows (par exemple, gagner 7)structure du système d'exploitation Windows

Je sais, c'est le système d'exploitation le plus dominant sur là, et il y a énormément de travail à faire. Par où commencer? Quels sont les livres/articles/sites débutants/intermédiaires que je devrais lire?

La première chose que je me pose est que le compilateur transforme mes programmes C au code binaire, mais quand j'ouvre les fichiers de résultats (exe), je trouve autre chose que 0 et 1.

+2

Je ne pense pas que vous alliez étudier très loin un système d'exploitation commercial à code source fermé. – John

+0

Je voudrais juste savoir combien je peux apprendre ... – w4j3d

+4

"La première chose que je me demande est que le compilateur transforme mes programmes C en code binaire, cependant quand j'ouvre les fichiers de résultats (exe), je trouve quelque chose autre que 0 et 1. " Si vous voulez comprendre le fonctionnement interne des systèmes d'exploitation, vous devez connaître certaines notions de base sur le fonctionnement des ordinateurs. Par exemple, vous devriez savoir (en principe) ce qui se passe si vous ouvrez un exécutable 1) dans un éditeur de texte ASCII et 2) dans un éditeur hexadécimal. Si vous ne le savez pas, vous ne comprendrez pas comment fonctionne un système d'exploitation. Pardon. Apprenez les bases en premier. –

Répondre

3

Je ne peux pas vous orienter dans une direction aussi loin que les livres vont, mais je peux clarifier ceci:

la première chose que je me pose est que le compilateur transforme mes programmes C au code binaire, mais quand j'ouvre le (exe) résultat fichiers, je trouve quelque chose d'autre que 0 et 1.

Vos programmes sont en fait compilés en binaire. Tout le sur votre ordinateur est stocké en binaire.

La raison pour laquelle vous ne voyez pas les uns et les zéros est à cause de la composition des encodages de caractères. Il faut huit bits, qui peuvent avoir la valeur 0 ou 1, pour stocker un octet. Un grand nombre de programmes et de codages de caractères représentent un octet comme un caractère (avec la mise en garde des caractères unicode non-ASCII, mais ce n'est pas très important dans cette discussion).

Donc, le programme que vous utilisez pour ouvrir le fichier interprète des séquences de huit bits et transforme ces huit bits en un seul caractère. Donc, chaque caractère que vous voyez lorsque vous ouvrez le fichier est, en fait, huit uns et zéros. La correspondance la plus élémentaire entre les octets et les caractères est ASCII. Le caractère "A", par exemple, est représenté sous la forme 01000001. Lorsque le programme que vous utilisez pour ouvrir le fichier voit cette séquence, il affiche "A" à sa place.

0

bien, si vous étudiez la api win32, vous apprendrez beaucoup sur os de haut niveau (Petzold est le roi, et il est pas win7 juste win32 ....)

Si vous voulez étudier A propos du niveau bas, étudiez le langage de l'assembleur de processeur.

1

Il existe une série de livres intitulés "Windows Internals" qui pourraient probablement vous occuper pendant la majeure partie de quelques années. En outre, Microsoft a été connu pour libérer le code source aux universités pour étudier ...

0

Il existe une tonne de ressources pour l'apprentissage des systèmes d'exploitation en général, dont beaucoup ne se concentrent pas vraiment sur Windows parce que, comme John fait remarquer, c'est très fermé et pas très utile académiquement. Vous pouvez regarder quelque chose comme Minix, ce qui est très utile académiquement. C'est petit, léger et fait à peu près dans le seul but de l'éducation. De là, vous pouvez vous brancher sur d'autres systèmes d'exploitation (même Windows, dans la mesure où vous ne pouvez pas regarder sous le capot) armés d'une meilleure connaissance de ce qu'est un OS et ce qu'il fait, ainsi que plus de connaissances du fonctionnement interne de l'ordinateur lui-même. (Par exemple, l'ouverture d'un code exécutable dans un éditeur de texte, comme le Bloc-notes, pour essayer de voir les 1 et les 0, ce que cdhowie a souligné avec éloquence ne fait pas ce que vous pensez qu'il est en train de faire.

3

Un bon livre à lire si vous êtes intéressé par le système d'exploitation Microsoft Windows est The Old New Thing par la légende Microsoft Raymond Chen. Il est très facile de lire si vous êtes un programmeur Win32, et même si vous n'êtes pas (même si vous n'êtes pas du tout un programmeur!), De nombreux chapitres sont encore facilement accessibles. Sinon, pour comprendre le système d'exploitation Microsoft Windows, vous devez comprendre l'API Windows. Vous l'apprenez en écrivant des programmes pour la plate-forme Windows (native), et la documentation officielle, qui est très bonne, est at MSDN.

0

Je regarderais personnellement dans le projet ReactOS - un clone windows fonctionnel. Le code con donner quelques idées de la façon dont Windows est mis en œuvre ...

Voici le site: www. reactos. org

+0

J'ai essayé ce système d'exploitation dans une machine virtuelle. Et je n'ai jamais vu un logiciel buggier dans ma vie. (Mais cela peut être dû à la virtualisation, qui sait.) –

+0

Le code source WINE est souvent utile et informatif –

Questions connexes