18 Οκτ 2021 15:37 - Στέργιος Παπαδημητρίου

  Ξενόγλωσσα βιβλία για τα μαθήματα Μεταγλωττιστές, Λειτουργικά συστήματα, Παράλληλος Υπολογισμός

Τα ξενόγλωσσα βιβλία για τα σχετικά μαθήματα υπάρχουν διαθέσιμα στο link:

https://sourceforge.net/projects/booksforihucs/files/


Μεταγλωττιστές


  1. NewBookForCompilers.zip Περιλαμβάνει το βασικό βιβλίο στο οποίο θα βασιστεί το μάθημα, το βιβλίο Introduction to Compilers and Language Design", Second Edition, του Douglas Thain, περιλαμβάνεται και το source code του βιβλίου. Αποτελεί εξαιρετικό βιβλίο που παρουσιάζει την ύλη με κατανοητότατο τρόπο και που είναι επίσης ενημερωμένο με τις πρόσφατες εξελίξεις στον τομέα.
  2. Michael L. Scott - Programming Language Pragmatics-Morgan Kaufmann (2015) - Η τέταρτη Αγγλική έκδοση του Scott, στον Εύδοξο είναι μεταφρασμένη η 2η έκδοση (δηλ. το βιβλίο "Πραγματολογία των γλωσσών Προγραμματισμού", εκδόσεις Κλειδάριθμος).
  3. DragonBook-2v2.pdf Η δεύτερη Αγγλική έκδοση του κλασικού "Dragon" book, στον Εύδοξο υπάρχει μεταφρασμένη επίσης η 2η έκδοση. Περιέχει ίσως την εκτενέστερη κάλυψη του τομέα των Μεταγλωττιστών, αλλά είναι καταλληλότερο ως μεταπτυχιακό και ερευνητικό εγχειρίδιο και όχι για ένα προπτυχιακό μάθημα.
  4. LLVMNew.zip, LLVMCoreLibraries.pdf, LLVMAppendix.pdf, LLVMEssentials-2015.pdf: Βοηθητικά βιβλία που αναφέρονται στην αποτελεσματικότατηη τεχνολογία LLVM για ανάπτυξη και υλοποίηση μεταγλωττιστών.



Λειτουργικά Συστήματα


  1. operating-system-concepts-10th.pdf, OS_9thEds.pdf - Τα κλασικά βιβλία των "δεινοσαύρων" που θα πάρεται από τον Εύδοξο. Το μάθημα θα βασιστεί σε μεγάλο βαθμό σε αυτό.
  2. ModernOperatingSystems4ed.pdf - Το βιβλίο του Tanenbaum, που υπάρχει και στον Εύδοξο, επίσης πολύ καλό βιβλίο που καλύπτει την ύλη του μαθήματος.
  3. OperatingSystemsThreeEasyPieces.zip - To βιβλίο "Operating Systems: Three easy pieces", με τον source code του. Εξαιρετικό βιβλίο, πρόσφατο και ενημερωμένο με τις νέες εξελίξεις στα λειτουργικά συστήματα και με παράδειγμα κώδικα ενός απλού εκπαιδευτικού λειουργικού συστήματος που περιλαμβάνεται στο download. Στο μάθημα θα χρησιμοποιηθεί πολύ και αυτό το βιβλίο.
  4. linux_kernel_development_3rd_edition.pdf, freebsd.pdf, how_linux_works_2nd_edition.pdf, ProfessionalLinuxKernelArchitecture.pdf, MasteringLinuxKernelDevelopment.pdf, LinuxAndUnixAdministrationHandbook.pdf, LinuxDeviceDriversKernelProgramming.zip: Βοηθητικά βιβλία



Παράλληλος και Κατανεμημένος Υπολογισμός


  1. "Peter Pacheco, Matthew Malensek - An Introduction to Parallel Programming-Morgan .." - Πολύ καλό και ενημερωμένο textbook για την βασική υποδομή σε παράλληλο υπολογισμό. Το βασικό βιβλίο στο οποίο θα βασιστεί το μάθημα.
  2. "Parallel and High Performance Computing.zip" το βιβλίο Parallel and High Performance Computing, Robert Robey, Yuliana Zamora, Manning publications, αντίστοιχο με το πρώτο, εξαιρετικό βιβλίο και σύγχρονο, συνιστώ την ταυτόχρονη μελέτη του με το βιβλίο των Peter Pacheco, Matthew Malensek.
  3. CUDABooks.zip -- Data parallel μοντέλο στο πλαίσιο της CUDA
  4. OpenCL.zip -- Βιβλία για OpenCL, αντίστοιχο με την CUDA αλλά πιο platform independent, και για πιο heterogenous computing
  5. KotlinCoroutinesBook.zip -- High-level Task oriented concurrency/parallelism στο πλαίσιο μιας σύγχρονης γλώσσας προγραμματισμού
  6. JavaConcurrency.zip -- Βιβλία για concurrent/parallel programming σε περιβάλλον Java, από τα βιβλία αυτά το σχετικό υλικό για Java concurrency είναι:

Learn Java 12 Programming, Nick Samoylov, Chapter 8: Multithreading and Concurrent Processing, σελ. 274-303

Java Language Features, Kishori Sharan, Chapter 6: Threads, σελ. 223-334

Modern Java in Action, Raul-Gabriel Urma, Mario Fusco, Alan Mycroft, Part 2, 7 Parallel data processing and performance, σελ. 173-198, Part 5 Enhanced Java concurrency, Σελ. 357-415