Τι είναι το USB syncing?

Pistiolis Konstantinos kpistiolis at hellug.gr
Tue Mar 21 09:09:53 EET 2006


Την Mon, 20 Mar 2006 15:47:26 -0800,ο(η) Giorgos Keramidas  
<keramida at ceid.upatras.gr> έγραψε/wrote:

> On 2006-03-21 00:40, Pistiolis Konstantinos <kpistiolis at hellug.gr> wrote:
>> φυσικά, αφού δεν θα μπορεί να κάνει caching όλα τα αρχεία ταυτόχρονα,
>> και θέλει και μπόλικο χρόνο συστήματος για να διαχειριστεί τόσες
>> κλήσεις συστήματος.  Αλλά αν ο ρυθμός εγγραφής είναι χαμηλός και τα
>> δεδομένα λιγότερα από το block του συστήματος αρχείων τρώγεται, ενώ αν
>> γράφεις γρήγορα τότε κι ένα αρχείο να έχεις και νάναι και μόνιμα
>> ανοιχτο κλάφτα.
>
> Κάνεις λάθος, αλλά εντάξει σε συγχωρούμε :P
>
> Κοστίζει πολύ περισσότερο να 'ανοίξεις' ή να κλείσεις ένα αρχείο, από το
> να κάνεις ένα context switch σε kernel mode, να κάνεις map ένα userlevel
> buffer και να επιστρέψεις.
>
Χεχε, κι όταν πατάς το κουμπί του τηλεκοντρόλ για ν' αλλάξεις κανάλι στην
τηλεόραση «κοστίζει» πολύ περισσότερο απ' το να πάς να πατήσης το κουμπί
πάνω στην τηλεόραση, αλλά δεν το κάνουμε θέμα.

Πέρα απ' την πλάκα.
Σίγουρα δεν έχει φτιαχτεί να γίνεται έτσι και καταναλώνει πολύ  
περισσότερους
πόρους απ' ό,τι λέει η απλή λογική. Όπως λες, η κλήση συστήματος μπορεί
να «σκαλώσει» οπουδήποτε, έχει τοσες πολλές δουλειές να κάνει που μπορεί
να καταναλώσει την άπειρη cpu.

Αλλά έχουμε λειτουργικό που δε μασάει, χεχε!

> Οταν ανοίγει ένα αρχείο, ο πυρήνας πρέπει να δεσμεύσει ένα νέο file
> descriptor, να το σώσει στη λίστα με τα file descriptors του process,
> κλπ.  Πριν από όλα αυτά, πρέπει να ελέγξει permissions, owners, groups,
> κι ένα σωρό άλλες αηδίες, πιθανόν να πρέπει να στείλει και μήνυμα σε
> κάποιο auditing framework για το file access, και πάει λέγοντας.
>
> Κι αυτά μόνο επειδή έκανες fopen().  Το fclose() είναι άλλη ιστορία :)





More information about the Linux-greek-users mailing list