Es scheint ein berühmtes Buch zu sein, also habe ich es gekauft <a target = "_ blank" href = "https://www.amazon.co.jp/gp/product/4797328355/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4797328355&linkCode=as2&tag=lespacetr2f2 > Normale Linux-Programmierung Der königliche Weg zur gcc-Programmierung, der aus dem Mechanismus von Linux gelernt werden kann <img src = "// ir-jp.amazon-adsystem.com/e/ir?t=lespacetranqu-22&l=am2&o=9&a=4797328355" "width =" 1 "height =" 1 "border =" 0 "alt =" "style =" border: none! Wichtig; Rand: 0px! Wichtig; "/> <a target = "_ blank" href = "https://www.amazon.co.jp/gp/product/B075ST51Y5/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B075ST51Y5&linkCode=as2&a0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > Gewöhnliche Linux-Programmierung 2. Ausgabe: Der königliche Weg der gcc-Programmierung, der aus dem Mechanismus von Linux gelernt werden kann <img src = "// ir-jp.amazon-adsystem.com/e/ir?t=lespacetranqu-22&l=am2&o=" 9 & a = B075ST51Y5 "width =" 1 "height =" 1 "border =" 0 "alt =" "style =" border: none! Wichtig; Rand: 0px! Wichtig; "/>
Versuchen Sie es mit normaler Linux-Programmierung Teil 1 https://qiita.com/uturned0/items/b9ae846f2aff5865c074 Versuchen Sie es mit normaler Linux-Programmierung Teil 2 https://qiita.com/uturned0/items/56beac990cdd6f1059ed Versuchen Sie es mit normaler Linux-Programmierung Teil 3 https://qiita.com/uturned0/items/675092da8aa89c4b1ff0 Teil 4 https://qiita.com/uturned0/items/8f5765cfc0f0be8a1981 Teil 5 https://qiita.com/uturned0/items/ab97deb489c994a836da
chapter 2
unix -> System V -> Solaris unix -> bsd -> FreeBSD, mac os x
Linux wurde von Grund auf neu erstellt. Die Spezifikationen ähneln jedoch dem System v / bsd
Ist Linux nicht nicht Unix, weil es von Grund auf neu gemacht wurde?
Derzeit ist POSIX ein Standard, der sich gegenseitig ähnlich macht.
Linux OS und Linux Kernel sind unterschiedlich. Linux = Linux-Kernel
Der Kernel ist nur ein Programm. vmlinuz
ist eines der Programme.
ls /boot/vmlinuz-3.10.0-xxx.el7.x86_64
Nur der Kernel wird von König Linus gesehen.
Nur der Kernel kann direkt mit der Hardware interagieren. Der Gerätetreiber befindet sich nur im ** Kernel **.
Diejenigen, die die Funktionen des Kernels verwenden, werden als Systemaufrufe bezeichnet. Öffnen / Lesen / Schreiben usw.
chapter 2.2 Bibliotheksfunktionen und Systemaufrufe sind unterschiedlich, aber die Grenzen sind nicht eindeutig.
Die Bibliotheksfunktion printf (3) verwendet den Systemaufruf write (). Die Bibliotheksfunktion strlen (3) verwendet keine Systemaufrufe und ist von selbst vollständig
Schreiben des Befehls "man 1 write"
man 2 write
Systemaufruf write
Es wurde geschrieben, dass es sofort beängstigend war
Vorsicht Erfolgreiche write () - Rückgaben ** garantieren nicht, dass die Daten auf der Festplatte aufgezeichnet wurden **. Tatsächlich garantieren einige fehlerhafte Implementierungen nicht einmal, dass Speicherplatz für die Daten reserviert ist.
Die Umsetzung ist für den Menschen von wesentlicher Bedeutung
libc
Die Standard-C-Bibliothek, allgemein bekannt als libc, ist sehr wichtig
$ ll /lib/libc.so.6
lrwxrwxrwx. 1 root root 12 2019-10-01 18:58:09 /lib/libc.so.6 -> libc-2.17.so
In liunx wird GNU libc als glibc abgekürzt.
libc.so.2 usw. / libs sind alle C-Bibliotheken. Dies wird von jemandem verwaltet, der nicht Linux ist libc.so.6 enthält mathematische Funktionen
Kapitel 2 Ende
Recommended Posts