Μεταφράστε

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिन्दी अनुवाद करने के लिए/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian
Εικόνα της ανάπτυξης πυρήνων Linux (3$η έκδοση)
Εικόνα XSLT 2.0 και XPath 2.0 αναφορά του προγραμματιστή (προγραμματιστής στον προγραμματιστή)
Εικόνα επικυρωμένου του το Red Hat οδηγού μελέτης Linux μηχανικών RHCE (διαγωνισμός RH302) (Τύπος πιστοποίησης)
Εικόνα της αρρενωπής ασύρματης ανάπτυξης εφαρμογών

Εγκατάσταση της απελευθέρωσης 2 της Oracle 11g σε Fedora 14

Αυτή η θέση περιγράφει πώς να εγκαταστήσει την απελευθέρωση 2 βάσεων δεδομένων της Oracle 11g σε Fedora 14, να εγκαταστήσει έναν πελάτη SQLplus στο Microsoft Windows 7 και να διαμορφώσει και τις δύο εγκαταστάσεις έτσι ώστε ο πελάτης SQLplus μπορεί να έχει πρόσβαση στη βάση δεδομένων της Oracle που τρέχει σε Fedora 14.

Porting KSH93 στα παράθυρα 7 SUA

Αυτή η θέση σας παρουσιάζει πώς να μεταφορτώσει, να χτίσει και να εγκαταστήσει την πιό πρόσφατη έκδοση του κοχυλιού Korn στα παράθυρα 7 υποσύστημα SUA.

Παράθυρα παράλληλο Filesystems

Πρόσφατα συμμετείχα σε κάποιο έργο ανάπτυξης για έναν σχεδόν-παράλληλο filesystem για το Microsoft Windows.  Ως αποτέλεσμα εκείνης της συμμετοχής το ενδιαφέρον μου πίκαρε και αποφάσισα να κάνω έτσι την έρευνα για αυτό που η κατάσταση της έρευνας και της ανάπτυξης είναι στον τομέα των παράλληλων filesystems που σχεδιάζονται συγκεκριμένα για το Microsoft Windows.

Πρώτα μια γρήγορη αναθεώρηση αυτού που σημαίνω από ένα παράλληλο σύστημα αρχείων.  Υπάρχει οποιοσδήποτε αριθμός διαφορετικών τύπων παράλληλων συστημάτων αρχείων διαθέσιμων.  Μερικοί επιτρέπουν τα πολλαπλάσιες συστήματα και τις εφαρμογές για να μοιραστούν οι κοινές ομάδες της αποθήκευσης όπως στο α filesystem.  Μερικοί χωρίζουν τα στοιχεία σε δύο ή περισσότερους κόμβους για να βελτιώσουν το χρόνο πρόσβασης και τον πλεονασμό.  Άλλες παραλλαγές χωρίζουν τα αρχεία στα μέρη των μικρών χοντρών κομματιών, αποθηκεύουν αυτά τα χοντρά κομμάτια σε διαφορετικούς δίσκους σε μια round-robin μόδα, και τα επανασυνδυάζουν επάνω στην ανάγνωση για να ανακτήσουν το αρχικό αρχείο.

Η πιό πρόωρη περίπτωση παράθυρο-συγκεκριμένου παράλληλου fileystem της Microsoft που έχω βρεί μέχρι σήμερα είναι το παράλληλο filesystem που αναπτύσσεται από την ομάδα ARGOS σε Universidad Carlos 111 de Μαδρίτη, Μαδρίτη, ES.  Αυτή η ερευνητική ομάδα ανέπτυξε ένα πρωτότυπο ενός παράλληλου συστήματος αρχείων για ένα δίκτυο των κόμβων παραθύρων Microsft που κάλεσαν WinPFS.  Παρουσίασαν την εργασία τους σε COSET το 2004 και διάφορα άλλα εργαστήρια.  Το WinPFS εφαρμόστηκε ως νέος τύπος fileyystem που ενσωματώθηκε πλήρως μέσα στον πυρήνα του Microsoft Windows.  Αυτό έχει το πλεονέκτημα ότι κανένα τροποποίηση ή recompilation των εφαρμογών χρηστών δεν απαιτείται για να εκμεταλλευτεί το παράλληλο filesystem.

Ο στόχος αυτής της ερευνητικής ομάδας ήταν να χτίσει ένα παράλληλο σύστημα αρχείων για τα δίκτυα των υπολογιστών του Microsoft Windows που χρησιμοποιούν κοινούς τους το Microsoft Windows φακέλλους στα μακρινά στοιχεία πρόσβασης παράλληλα. Η εφαρμογή είναι βασισμένη στα redirectors συστημάτων αρχείων που επαναπροσανατολίζουν τα αιτήματα στους μακρινούς κόμβους χρησιμοποιώντας UNC (καθολική ονομάζοντας Συνθήκη) και τα πρωτόκολλα SMB ή/και CIFS. Το WinPFS καταχωρείται ως εικονικό μακρινό σύστημα αρχείων και η πρόσβαση στα μακρινά στοιχεία είναι μέσω ενός νέου κοινού φακέλλου \ \ PFS.  Οι βασικοί πρωτόγονοι λειτουργίας αρχείων είναι: δημιουργήστε, διαβασμένος, γράψτε, και δημιουργήστε τον κατάλογο.

Το πρωτότυπο αναπτύχθηκε στην πλατφόρμα παραθύρων XP, και έχει εξεταστεί με μια συστάδα επτά κόμβων παραθύρων XP και έναν κόμβο κεντρικών υπολογιστών παραθύρων το 2003 στις διάφορες διαμορφώσεις.  Η μέγιστη ρυθμοαπόδοση για γράφει ότι οι διαδικασίες ήταν 250 MBIT/s και 1200 MBIT/s για τις διαβασμένες διαδικασίες.  Η ερευνητική ομάδα ανέφερε ότι η δυσχέρεια για γράφει ότι ήταν οι δίσκοι και για διαβάζει ήταν το δίκτυο.  Όσο μπορώ να πω

Porting WaitForSingleObject σε Linux - μέρος 2

Στην τελευταία θέση μου συζήτησα τη χρήση WaitForSingleObject σε σχέση με τα mutexes και τους πιθανούς τρόπους να εφαρμοστεί η ισοδύναμη λειτουργία όταν porting τέτοιος κώδικας σε GNU/Linux.  Σε αυτήν την θέση θα περιγράψω τη χρήση αυτού του API με τα αντικείμενα γεγονότος στο Microsoft Windows και θα προτείνω τους πιθανούς τρόπους τέτοιο κώδικα σε GNU/Linux ή τη Unix.

Κατ' αρχάς, κάποιο υπόβαθρο στο γεγονός αντιτίθεται.  Ένα αντικείμενο γεγονότος είναι ακριβώς ένας άλλος τύπος αντικειμένου αποστολέων πυρήνων παραθύρων.  Από μια κωδικοποίηση prespective, ένα αντικείμενο γεγονότος είναι ένα αντικείμενο συγχρονισμού που τοποθετεί ένα ή περισσότερα αντικείμενα αποστολέων πυρήνων σε κάψα και η του οποίου σημασιολογία συγχρονισμού είναι προσιτή μέσω WaitForSingleObject και των ξαδέλφων της.  Οποιαδήποτε στιγμή ένα αντικείμενο συγχρονισμού είναι είτε είτε έκανε σήμα, δηλ. το αντικείμενο μπορεί μόνο να είναι στο ένα από δύο πιθανά κράτη.

Όλη η οικογένεια WaitFor APIs συμπεριλαμβανομένου WaitForSingleobject περιμένει σε μια λαβή ή τις λαβές αντικειμένου έως ότου ικανοποιούνται μερικά διευκρινισμένα κριτήρια.  Τα δύο βασικά κριτήρια για όλο αυτό το APIs είναι η επισημαμένη κατάσταση του αντικειμένου στην του οποίου λαβή περιμένει και μια αξία διαλείμματος.  Κατά συνέπεια ένα νήμα που καλεί αυτό το API περιμένει μέχρι το διευκρινισμένο αντικείμενο μπαίνει στο επισημαμένο κράτος ή το διευκρινισμένο διάλειμμα έχει λήξει.  Ελάχιστος ή κανένας χρόνος κεντρικής μονάδας επεξεργασίας χρησιμοποιείται όταν είναι ένα τέτοιο νήμα στο κράτος αναμονής.

Στην περίπτωση των γεγονότων, ένα CreateEvent ή ένα OpenEvent επιστρέφει μια λαβή σε ένα αντικείμενο γεγονότος.  Όταν ένα γεγονός είναι στο επισημαμένο κράτος σημαίνει ότι αυτό το γεγονός έχει την ικανότητα να απελευθερώσει ένα ή περισσότερα νήματα περιμένοντας αυτό το ιδιαίτερο γεγονός που επισημαίνεται.  Όταν ένα γεγονός είναι το κράτος που δεν θα απελευθερώσει οποιοδήποτε νήμα αναμονής.  Αρχικά η κατάσταση ενός γεγονότος είναι.  Το κράτος ενός γεγονότος αντικειμένου τίθεται ρητά σηματοδοτημένος από SetEvent ή PulseEvent.  Τα αντικείμενα γεγονότος χρησιμοποιούνται επίσης σε επικαλυμμένες διαδικασίες όπως η ανάγνωση από μια υποδοχή, οπότε σ'αυτή την περίπτωση το κράτος αντικειμένου γεγονότος τίθεται επισημαμένο από τον πυρήνα παρά από μια εφαρμογή.

Τα γεγονότα έρχονται επίσης σε δύο επαναρυθμισμένους τύπους.  Εάν ένα γεγονός είναι ένα γεγονός χειρωνακτικός-αναστοιχειοθέτησης, κατόπιν όλη η επιστροφή WaitForSingleObjects που περιμένει εκείνο το γεγονός εάν διαμορφώνεται έτσι.  Με άλλα λόγια ένα γεγονός χειρωνακτικός-αναστοιχειοθέτησης μπορεί να προκαλέσει τη δράση από ένα ή περισσότερο WaitForSingleObject ή τους ξαδέλφους του.  Το κράτος ενός χειρωνακτικός-αναστοιχειοθέτησης γεγονότος αντικειμένου πρέπει να επαναρυθμιστεί ρητά από ResetEvent.

Για ένα αντικείμενο γεγονότος αυτόματος-αναστοιχειοθέτησης, WaitForSingleObject και αυτό είναι που επαναρυθμίζονται σχέσεις

Porting WaitForSingleObject σε Linux - μέρος 1

Πρόσφατα συμμετείχα porting μια τριανταδυάμπιτη εφαρμογή που γράφτηκε αρχικά για τη Microsoft WINDOWS NT σε GNU/Linux.  Αυτή η εφαρμογή περιείχε έναν μεγάλο αριθμό κλήσεων σε NtWaitForSingleObject και έναν μικρότερο αριθμό κλήσεων σε NtWaitForMultipleObject. 

Τώρα οποιος δήποτε που έχουν πρέπει κώδικας λιμένων που περιέχει περισσότερο από μερικές περιπτώσεις αυτών των των ιδιαίτερων Win32 APIs, ή οι στενοί ξάδελφοί τους WaitForSingleObjectEx, MsgWaitForMultipleObjects, MsgWaitForMultipleObjectsEx, κ.λπ. στη Unix ή GNU/Linux πιθανώς ήδη ανατριχιάζει με την ανάμνηση των μακριών σκληρών ημερών και των νυχτών της κωδικοποίησης δοκιμής και λάθους που δοκιμάζει και που μιμείται σωστά τη σημασιολογία και τη λειτουργία αυτού του του ιδιαίτερου Microsoft Windows συγκεκριμένο APIs, αλλά για τον αναγνώστη που δεν έπρεπε ακόμα να προσπαθήσει στο λιμένα μια τέτοια εφαρμογή, αυτή η θέση και η επόμενη θέση μου μπορούν να σας βοηθήσουν εκτός από τη λογικότητά σας (και ενδεχομένως την τρίχα σας!) κάποτε στο μέλλον.

Επ'ευκαιρία και το δύο APIs είναι χαρακτηρισμένο αποδοκιμασμένος σε MSDN από τη Microsoft αλλά ακόμα την εργασία όπως αναμένεται στα WINDOWS NT και τα Windows XP.  Δεν είμαι βέβαιος για Vista ή τα παράθυρα 7 παραθύρων δεδομένου ότι δεν τους έχω εξετάσει σε αυτά τα λειτουργικά συστήματα.  Το δύο αποδοκιμασμένο APIs έχει αντικατασταθεί από το ισοδύναμο APIs WaitForSingleObject και WaitForMultipleObject αντίστοιχα.  Για το υπόλοιπο αυτής της θέσης θα συζητήσω ακριβώς την αντικατάσταση APIs αλλά οι περισσότεροι από αυτού που λέω θα ισχύσουν για είτε αποδοκιμασμένη είτε την αντικατάσταση API.

Στην πρώτη εξέταση WaitForSingleObject φαίνεται αρκετά καλοκάγαθο.  Η περιγραφή σε MSDN δηλώνει ότι «αυτή η λειτουργία επιστρέφει όταν είναι το διευκρινισμένο αντικείμενο στο επισημαμένο κράτος ή όταν παρέρχεται το διάστημα διαλείμματος».  Ήχοι όπως ένα αρκετά απλό και αβλαβές API, δικαίωμα;  Ίσως κάτι παρόμοιο με το POSIX.1 API pthread_cond_timedwait.  Καλά, κάνετε λάθος απολύτως και αυτή η θέση και ο ακόλουθος θα εξηγήσουν γιατί.

Το WaitForSingleObject και οι ξάδελφοί του μπορούν να περιμένουν ένα σήμα από οποιαδήποτε ή όλα τα ακόλουθα «αντικείμενα»: ανακοίνωση αλλαγής, εισαγωγή κονσολών, γεγονός, εργασία, ανακοίνωση των πόρων μνήμης, mutex, διαδικασία, σηματοφόρος, νήμα και waitable χρονόμετρο και στις περιορισμένες περιστάσεις στα αρχεία και το αρχείο I/O.  Όταν επισημαίνεται κατάλληλα, ένα νήμα είναι απελευθερωμένο και συνεχίζεται.  Κανένα δημοσιευμένο τυποποιημένο API στο GNU/Linux ή τον κόσμο της Unix δεν έρχεται ερχόμενος στο χειρισμό αυτής της σειράς των αντικειμένων σε ένα ενιαίο API.

Αυτό είναι πιθανώς η μια ενιαία περιοχή όπου ένα Win32 API σχεδιάζεται καλύτερα από το GNU/Linux ή το σύνολο της Unix API.  Σε GNU/Linux και τη Unix υπάρχει συγκεκριμένο APIs για να περιμένει τα διαφορετικά είδη