Σελ. 7 από 8 ΠρώτηΠρώτη ... 25678 ΤελευταίαΤελευταία
Εμφάνιση 91-105 από 114
  1. #91
    Το avatar του μέλους turboirc
    turboirc Guest
    Αν καταλαβες τι εγραψα παραπανω τοτε η συζητηση δεν εχει νοημα.

  2. #92
    Εγγραφή
    28-02-2006
    Μηνύματα
    1.161
    Downloads
    0
    Uploads
    0
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΓΑΛΑΤΣΙ
    Έχω διαβάσει ολόκληρο το thread από την αρχή μέχρι το τέλος και πραγματικά δεν καταλαβαίνω τι νόημα έχει όλη αυτή η συζήτηση…

    Αν θεωρήσουμε ένα ιδεατό μηχάνημα με άπειρη μνήμη, τότε πράγματι τα windows, αλλά και οποιοδήποτε λειτουργικό σύστημα, δεν χρειάζονται swap (ή pagefile), καθώς οποιοδήποτε πρόγραμμα οποιαδήποτε χρονική στιγμή, μπορεί να κάνει allocate όση μνήμη χρειάζεται.

    Επειδή όμως στην πραγματικότητα η RAM είναι ένα πεπερασμένο resource, οι σχεδιαστές των λειτουργικών συστημάτων, έπρεπε να βρουν ένα τρόπο, στο πως θα συμπεριφέρεται το σύστημα, στην περίπτωση που μείνει από μνήμη. Κατέληξαν στα εξής:

    - Αν υπάρχει swap, τότε swap-αρε σελίδες μνήμης στο δίσκο, προκειμένου να απελευθερωθεί RAM.
    - Αν δεν υπάρχει swap, τότε σκότωσε processes, προκειμένου να απελευθερωθεί RAM.

    Επειδή κανένας δεν (θα έπρεπε να) θέλει να γίνεται το δεύτερο, συνίσταται πάντα να υπάρχει swap (έστω και μικρό, για όσους έχουν μπόλικη μνήμη). Το παρακάτω link εξηγεί με απλά λόγια τι είναι το pagefile και το αν θα έπρεπε να απενεργοποιείται:

    https://www.howtogeek.com/126430/htg...ou-disable-it/
    NetBSD Rocks!
    http://www.netbsd.org

  3. #93
    Εγγραφή
    16-09-2013
    Μηνύματα
    28.146
    Downloads
    1
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    55.000/5.500
    ISP
    COSMOTE
    Router
    AVM FRITZ!Box 7530
    SNR / Attn
    25(dB) / 9(dB)
    Path Level
    Interleaved
    Aφού το διάβασες όλο, δεν κατάλαβες ότι όλοι όσοι έχουν γράψει εδώ μέσα ξέρουν πολύ περισσότερα από αυτά που λέει το Link που έχεις ανεβάσει;;

    Με την απορία θα μείνεις γιατί ο ένας υποστηρίζει το ένα και ό άλλος το άλλο, καθένας έχει τους λόγους του.
    Imagination is more important than knowledge.
    Knowledge is limited

    IMAGINATION ENCIRCLES THE WORLD

    Albert Einstein

  4. #94
    Εγγραφή
    28-02-2006
    Μηνύματα
    1.161
    Downloads
    0
    Uploads
    0
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΓΑΛΑΤΣΙ
    Παράθεση Αρχικό μήνυμα από sweet dreams Εμφάνιση μηνυμάτων
    Aφού το διάβασες όλο, δεν κατάλαβες ότι όλοι όσοι έχουν γράψει εδώ μέσα ξέρουν πολύ περισσότερα από αυτά που λέει το Link που έχεις ανεβάσει;;
    Το thread διαβάζεται από όλο τον κόσμο. Όχι μόνο από εκείνους που έγραψαν. Γκε-γκε;

    Παράθεση Αρχικό μήνυμα από sweet dreams Εμφάνιση μηνυμάτων
    Με την απορία θα μείνεις γιατί ο ένας υποστηρίζει το ένα και ό άλλος το άλλο, καθένας έχει τους λόγους του.
    Ότι να 'ναι...
    NetBSD Rocks!
    http://www.netbsd.org

  5. #95
    Εγγραφή
    16-09-2013
    Μηνύματα
    28.146
    Downloads
    1
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    55.000/5.500
    ISP
    COSMOTE
    Router
    AVM FRITZ!Box 7530
    SNR / Attn
    25(dB) / 9(dB)
    Path Level
    Interleaved
    Παράθεση Αρχικό μήνυμα από Mosfet Εμφάνιση μηνυμάτων
    Το thread διαβάζεται από όλο τον κόσμο. Όχι μόνο από εκείνους που έγραψαν. Γκε-γκε;



    Ότι να 'ναι...
    Ούτε το "Γκε γκε;" κατάλαβα ούτε φυσικά και το ειρωνικό "Ότι να' ναι", σου φαίνεται να γράφω πρώτη φορά στο Forum;;

    Aν αυτό κατάλαβες από αυτά που έγραψα και η απάντηση σου σε άλλο μέλος του Forum είναι τα παραπάνω, το αφήνω εδώ.
    Imagination is more important than knowledge.
    Knowledge is limited

    IMAGINATION ENCIRCLES THE WORLD

    Albert Einstein

  6. #96
    Εγγραφή
    28-02-2006
    Μηνύματα
    1.161
    Downloads
    0
    Uploads
    0
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΓΑΛΑΤΣΙ
    Παράθεση Αρχικό μήνυμα από sweet dreams Εμφάνιση μηνυμάτων
    Ούτε το "Γκε γκε;" κατάλαβα ούτε φυσικά και το ειρωνικό "Ότι να' ναι", σου φαίνεται να γράφω πρώτη φορά στο Forum;;
    Καταρχήν, που κολλάει το αν γράφεις για πρώτη ή για χιλιοστή φορά στο forum.

    Ανέφερες ότι όσοι έγραψαν στο thread "ξέρουν πολύ περισσότερα από αυτά που λέει το Link που έχεις ανεβάσει" και σου απάντησα, ότι το thread δεν διαβάζεται μόνο από αυτούς, αλλά από οποιονδήποτε (μέλος ή μη του forum).
    Τι ακριβώς δεν κατάλαβες;

    Όσον αφορά το "Ότι να 'ναι", αυτό γράφτηκε, διότι πετάχτηκες από το πουθενά και κατέληξες σε ένα άκυρο συμπέρασμα (εξ' ου και το "Ότι να 'ναι...").

    Παράθεση Αρχικό μήνυμα από sweet dreams Εμφάνιση μηνυμάτων
    Aν αυτό κατάλαβες από αυτά που έγραψα και η απάντηση σου σε άλλο μέλος του Forum είναι τα παραπάνω, το αφήνω εδώ.
    Εγώ έτσι και αλλιώς θα το αφήσω εδώ, γιατί δεν έχει νόημα να συνεχιστεί αυτό το πράγμα...
    NetBSD Rocks!
    http://www.netbsd.org

  7. #97
    Εγγραφή
    24-12-2006
    Περιοχή
    Νότια Φινλανδία
    Μηνύματα
    47.081
    Downloads
    22
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    17640/1020
    ISP
    Forthnet
    DSLAM
    Forthnet - ΒΥΖΑΝΤΙΟ
    Router
    Asus DSL-N17U
    SNR / Attn
    1.0(dB) / 20.2(dB)
    Path Level
    Interleaved
    Το θέμα έληξε, συνεχίζετε με πμ, αν θέλετε.
    Runtime Erro
    Τον Ken Lee, τον ξέρετε ;
    Με τη βοήθεια του θεού, λεφτά υπάρχουν.

  8. #98
    Εγγραφή
    16-07-2004
    Περιοχή
    Θεσσαλονίκη
    Ηλικία
    55
    Μηνύματα
    2.053
    Downloads
    0
    Uploads
    0
    Τύπος
    PSTN
    Ταχύτητα
    20480/1024
    ISP
    ΟΤΕ Conn-x
    Router
    ZTE w300i
    Path Level
    Interleaved
    Δε ξέρω πως ... ξεθάφτηκε το εν λόγω θέμα...

    Φυσικά δεν ξέρουμε περισσότερα από τους μηχανικους λογισμικού της microsoft.

    Από την άλλη, το (αρχικό) σκεπτικό του Wan έχει λογική και μάλιστα πολύ.

    Εγώ (ύποπτο) συμφωνώ απόλυτα με τον wan, χρόνια τώρα disabled το έχω. Θα μου πείτε, τι σημαίνει αυτό?

    Και επειδή ΠΡΕΠΕΙ να μιλάμε με νούμερα, δοκιμάστε:

    Start -> Run -> Perfmon.exe -> προσθήκη μετρητή -> Αρχείο σελιδοποίησης -> % χρήσης (ή % μέγιστης χρήσης, διαλέξτε

    Εγώ:

    Windows 7 AMD FX4200/64bit με ταπεινά 8GB RAM, τρέχοντας βαριά πεπόνια (Android Studio, Android emulator μέσω Genymotion δηλαδή virtualbox)

    1. Ενεργοποιώντας το swap file, έχω swap usage που φτάνει και ... το 0.5GB .. ενώ έχω διαθέσιμη μνήμη ελεύθερη = απαράδεκτο.
    2. Με το swap file (χρόνια τώρα) απενεργοποιημένo, ποτέ δε ξέμεινα απο μνήμη κατά το development, ούτε είχα κολλήματα.

    Η γκρίνια

    Θεωρώ απαράδεκτο, να γίνεται χρήση του swap file, αν δε χρειάζεται, ακόμη και για memory mapped files. Σας θυμίζω ότι, memory mapped
    files χρειάζονται γιατί είναι inter-process shared, αλλά η τεχνολογία που τα μπαζο-βγάζει στο swap σχεδιάστηκε το... 1993.

    Το μέλλον

    Στα windows 10, με το compressed memory, τα πράγματα έχουν αλλάξει άρδην. Μνήμη που έχει αιτηθεί αλλά που θεωρείται "άχρηστη" δε
    πέφτει στο δίσκο αλλά στο compression store που, είναι μνήμη συμπιεσμένη μνήμη στο pool του χρήστη αλλά ανήκει στο system, δηλαδή
    έχει ουσιαστικά άλλο owner. Αυτό ήταν το κύριο αγκάθι που δεν επιτρέπει η τεχνολογία memory compression να μπεί στα windows 7.

    Υποπτεύομαι (αλλά αύριο θα το μετρήσω) ότι στο laptop (Win 10/ 8GB RAM/ SSD) το performance monitor δε θα δείχνει άσκοπα swaps
    ακόμα και αν το ενεργοποιήσω το swap file.

    Γι αυτό και υποπτεύομαι ότι... υπάρχει απάντηση στο αρχικό ζήτημα:

    Win 7 - αν έχεις πολύ μνήμη => απενεργοποιείς swap file
    Win 10 - άστο στο σύστημα
    Όλα τα παιχνίδια android που έχω φτιάξει περιγράφονται και κατεβαίνουν
    από εδώ: https://play.google.com/store/apps/d...=Carbon+People

  9. #99
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    2. Γενικώς υπάρχει η δυνατότητα να αποθηκευτεί μνήμη με τη μορφή δίσκου. Αυτό που κάνουν τα Windows είναι να χωρίζουν τη μνήμη σε pages (το πώς το κάνουν αυτό είναι αρκετά περίπλοκο, αν ενδιαφέρεσαι να σου δώσω τα άρθρα μου για low level assembly) και μετά να βάζουν ένα usage counter. Αν κάποτε τελειώσει η φυσική μνήμη τοτε οι παλαιότερες σελίδες χοντρικά γίνονται page out στον σκληρό και έτσι ελευθερώνεται μνήμη για άλλες εφαρμογές.
    Κατά συντριπτική πιθανότητα γνωρίζεις περισσότερα από μένα, ωστόσο, επειδή γνωρίζω και γω 5 πράματα, έχω ορισμένες απορίες-ενστάσεις γι' αυτά που αναφέρεις:

    1. Καταρχήν ξέρουμε ότι όλα τα λειτουργικά χωρίζουν τη μνήμη σε pages και ότι όλα έχουν το page table, δηλαδή την αντιστοιχία των εικονικών διευθύνσεων που λαμβάνει κάθε εφαρμογή όταν κάνει memory allocation μέσα στο virtual address space της, με τις πραγματικές διευθύνσεις.

    Όταν δηλαδή εγώ κάνω μία malloc/calloc/new/gcnew, είτε έχω άμεση διαχείριση της μνήμης (C, C++, Object Pascal), είτε μεσολαβεί garbage collector (C#, java), είτε επιτρέπονται και τα 2 (Object Pascal, Managed C++), αν γίνει σωστά το allocation, επιστρέφεται ένας pointer στην εφαρμογή μου. Αυτός ο pointer είναι εικονικός, δηλαδή κάπου μέσα στο virtual address space του process που αποτελεί την εφαρμογή μου. Και έχει ένα ή περισσότερα αντίστοιχα entries (ανάλογα με το αν μου δόθηκε πραγματική ενιαία περιοχή μνήμες ή πολλά κομμάτια) στο paging table.

    2. Οι πραγματικές διευθύνσεις είναι κάπου μέσα στην virtual memory του λειτουργικού, όπου virtual memory = physical RAM + swap/page file(s)/partition(s).

    3. Υπάρχουν πολλές τεχνικές πρόβλεψης ζήτησης για να ελαχιστοποιηθούν τα page faults -> δηλαδή ότι κάτι ζητήθηκε να διαβαστεί, αλλά δεν υπάρχει ήδη στην physical RAM και πρέπει να διαβαστεί από το δίσκο, με το τεράστιο σχετικό performance penalty.

    4. Τα λειτουργικά συστήματα δίνουν το δικαίωμα/επιλογή στο χρήστη, ρητά, να απαγορέψει εξολοκλήρου τη χρήση δίσκου ως κομμάτι της virtual memory, και επομένως να ορίσει (σαν ποσότητα, γιατί σαν διεθύνσεις δεν είναι το ίδιο αφού υπάρχει η αντιστοιχία του paging table) ρητά ότι virtual memory == physical RAM.

    5. Τα παραπάνω δεν αλλάζουν με τα memory mapped files, που ουσιαστικά είναι περιοχές μνήμης allocated για την ασφαλή και προβλεπόμενη ανταλλαγή δεδομένων μεταξύ διαφορετικών processes, και που διέπονται από τα ίδια interfaces με τα αρχεία δίσκου (disk I/O).

    Διόρθωσέ με μέχρι τώρα, αν λέω κάτι λάθος.

    Κι έρχεσαι εσύ και λες τώρα, ότι τα Windows, ακόμα κι αν δηλώσει ρητά ο χρήστης (δηλαδή και 0MB σε όλα τα partittions και No pagefile) ότι δεν θέλει paging στο δίσκο, τον αγνοούν ετσιθελικά, και το κάνουν.

    Τελικά τί ισχύει;
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  10. #100
    Το avatar του μέλους turboirc
    turboirc Guest
    Αυτα που είπες είναι σωστά με τη διαφορά ότι στο 5 τα Windows σου δίνουν την δυνατότητα να κάνεις map όχι κάποιο αρχείο απαραίτητα, αλλά μνήμη που γίνεται backup από το system page file.

    Η λειτουργία αυτή δουλεύει άσχετα με το αν ο χρήστης έχει απενεργοποιήσει το page file σαν επιλογή. Φυσικά τα Windows στις περισσότερες περιπτώσεις κάνουν map απευθείας τη μνήμη, αν όμως για κάποιο λόγο αυτή τελειώσει τότε αναγκαστικά θα κάνουν κάποιο προσωρινό αρχείο για αυτή τη δουλειά. Το οποίο και θα σβήσουν μόλις τελειώσει η χρήση.

    Η ιδέα ενός permanent swap file είναι έχει φτιαχτεί από πριν ένα αρχείο έτσι ώστε να είναι σίγουρο το defragmentation. Αν αυτό δεν υπάρχει, θα φτιάξει προσωρινό και θα το σβήσει μετά οπότε ο χρήστης δεν θα καταλάβει τίποτα.

    Στην πραγματικότητα το όλο πρόβλημα είναι αν θα έχεις ένα αρχείο μόνιμο η ένα αρχείο προσωρινό, όχι αν υπάρχει η όχι η δυνατότητα για paging. Αυτό υπάρχει από τα Windows 3 (swapfile.exe σε real mode) ενώ και τώρα η όποια αλλαγή θέλει επανεκκίνηση.

    Αυτό που δεν γνωρίζω είναι το πότε τα Windows θα αρνηθούν τη μνήμη. Για παράδειγμα αν ζητήσεις 100ΜΒ και δεν υπάρχει διαθέσιμο swap file θα στη δώσει σίγουρα με ένα προσωρινό, αν ζητήσεις 10 GB μπορεί και να μη στα δώσει. Μπορεί όμως και να μη στα δώσει ακόμα και να έχεις swap file 10 GB. Εξάλλου, μπορεί να σου δώσει διάφορα τμήματα τα οποία άλλα είναι σε υπάρχουσα μνήμη και άλλα στο swap (έτσι γίνεται το file mapping σε μεγάλα αρχεία).

    Τέλος, στα Windows 10 υπάρχει και η συμπίεση της μνήμης, αντί δηλαδή να χρησιμοποιούν τον αργό σκληρό, χρησιμοποιούν την γρήγορη CPU για να κερδίσουν χώρο - κάτι σαν το paging αλλά μέσα στη μνήμη.
    Τελευταία επεξεργασία από το μέλος turboirc : 23-10-17 στις 14:47.

  11. #101
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Αυτα που είπες είναι σωστά με τη διαφορά ότι στο 5 τα Windows σου δίνουν την δυνατότητα να κάνεις map όχι κάποιο αρχείο απαραίτητα, αλλά μνήμη που γίνεται backup από το system page file.

    Η λειτουργία αυτή δουλεύει άσχετα με το αν ο χρήστης έχει απενεργοποιήσει το page file σαν επιλογή. Φυσικά τα Windows στις περισσότερες περιπτώσεις κάνουν map απευθείας τη μνήμη, αν όμως για κάποιο λόγο αυτή τελειώσει τότε αναγκαστικά θα κάνουν κάποιο προσωρινό αρχείο για αυτή τη δουλειά. Το οποίο και θα σβήσουν μόλις τελειώσει η χρήση.
    Μια στιγμή, 2-3 πράματα εδώ:

    1. Δεν είπα ότι κάνεις mapped κάποιο αρχείο απαραίτητα. Είπα ότι το memory mapping έχει interface που το χειρίζεσαι σαν να ήταν αρχείο (δηλαδή με open, close, handle κλπ.).

    2. Από το όλο θέμα παραπάνω, εξαιρώ τα προσωρινά αρχεία. Υποθέτω εννοείς ότι θα φτιαχτεί κάποιο τέτοιο αρχείο στο %TEMP%, είτε το κοινό, είτε του χρήστη, σωστά; Με αυτό το πράγμα δεν είμαι αντίθετος, γενικά.

    3. Λες ότι σου δίνουν τη δυνατότητα. Δηλαδή αυτό είναι κάτι που μπορεί να ζητήσει κάποια εφαρμογή που φτιάχνει κάποιος;

    4. Λες για μνήμη που γίνεται backup από το system page file. Μα ο χρήστης όρισε ρητά ότι ΔΕΝ το θέλει. Εδώ τί γίνεται;

    5. Και αν καταστρατηγείται η επιθυμία του χρήστη, δεν είναι πιο σωστό να τρως πόρτα στο allocation από το σύστημα; Να πάρεις πίσω έναν null pointer (ή exception αν πρόκειται για αντικείμενο (με garbage collection, ή όχι).
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  12. #102
    Το avatar του μέλους turboirc
    turboirc Guest
    Παράθεση Αρχικό μήνυμα από WAntilles Εμφάνιση μηνυμάτων
    Μια στιγμή, 2-3 πράματα εδώ:

    1. Δεν είπα ότι κάνεις mapped κάποιο αρχείο απαραίτητα. Είπα ότι το memory mapping έχει interface που το χειρίζεσαι σαν να ήταν αρχείο (δηλαδή με open, close, handle κλπ.).

    2. Από το όλο θέμα παραπάνω, εξαιρώ τα προσωρινά αρχεία. Υποθέτω εννοείς ότι θα φτιαχτεί κάποιο τέτοιο αρχείο στο %TEMP%, είτε το κοινό, είτε του χρήστη, σωστά; Με αυτό το πράγμα δεν είμαι αντίθετος, γενικά.

    3. Λες ότι σου δίνουν τη δυνατότητα. Δηλαδή αυτό είναι κάτι που μπορεί να ζητήσει κάποια εφαρμογή που φτιάχνει κάποιος;

    4. Λες για μνήμη που γίνεται backup από το system page file. Μα ο χρήστης όρισε ρητά ότι ΔΕΝ το θέλει. Εδώ τί γίνεται;

    5. Και αν καταστρατηγείται η επιθυμία του χρήστη, δεν είναι πιο σωστό να τρως πόρτα στο allocation από το σύστημα; Να πάρεις πίσω έναν null pointer (ή exception αν πρόκειται για αντικείμενο (με garbage collection, ή όχι).
    1.Οκ.
    2.Ναι.
    3.Ναι. Υπάρχει σχετικό API.
    4.Ο χρήστης όρισε ότι δε θέλει μόνιμο αρχείο. Έτσι, θα φτιαχτεί προσωρινό. Επίσης δεν είναι απαραίτητο ότι θα το δεις στο temp folder η ότι θα είναι γενικώς ορατό σαν αρχείο στον explorer.
    5.Όχι. Όπως ξέρεις για ένα πρόγραμμα το να μην πάρει τη μνήμη που θέλει σημαίνει crash. Δηλαδή ένα πρόγραμμα που θέλει 5ΜΒ επιπλέον θα κρασαρει για να μην φτιάξουν ένα προσωρινό αρχείο;

    Προτεραιότητα έχει το experience...

  13. #103
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    5.Όχι. Όπως ξέρεις για ένα πρόγραμμα το να μην πάρει τη μνήμη που θέλει σημαίνει crash. Δηλαδή ένα πρόγραμμα που θέλει 5ΜΒ επιπλέον θα κρασαρει για να μην φτιάξουν ένα προσωρινό αρχείο;

    Προτεραιότητα έχει το experience...
    Για το "experience", και όχι μόνο, θα απαντήσω, χωρίς καμμία διάθεση αντιπαλότητας:

    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    5.Όχι. Όπως ξέρεις για ένα πρόγραμμα το να μην πάρει τη μνήμη που θέλει σημαίνει crash. Δηλαδή ένα πρόγραμμα που θέλει 5ΜΒ επιπλέον θα κρασαρει για να μην φτιάξουν ένα προσωρινό αρχείο;

    Προτεραιότητα έχει το experience...
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    5.Όχι. Όπως ξέρεις για ένα πρόγραμμα το να μην πάρει τη μνήμη που θέλει σημαίνει crash.
    Σημαίνει crash για ένα κακογραμμένο πρόγραμμα.

    Για ένα καλογραμμένο πρόγραμμα σημαίνει graceful exit, "λυπούμαστε αλλά αγοράστε RAM". Τόσα try και exception handling επιλογές έχουν όλες οι σύγχρονες γλώσσες.

    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Δηλαδή ένα πρόγραμμα που θέλει 5ΜΒ επιπλέον θα κρασαρει για να μην φτιάξουν ένα προσωρινό αρχείο;
    1. Είπαμε ότι δεν θα κρασάρει παραπάνω, και γιατί (επίσης πρόγραμμα που δεσμεύει μνήμη σε τόσο μικρά chunks είναι κακογραμμένο).

    2. Εάν το πρόγραμμα δεν επιτελέσει τη δουλειά του - γιατί αυτό θα γίνει τελικά, χωρίς φυσικά να χάσει δεδομένα ο χρήστης (θεωρούμε ότι είναι καλογραμμένο το πρόγραμμα) - τότε εσύ τί προτείνεις; Να αγνοεί την ρητή επιθυμία χρηστών που είναι σοβαροί και γνωρίζουν, για να κάνει indulge χρήστες πεπερασμένης νοημοσύνης που το τρέχουν με λιγότερη φυσική RAM από τα minimum specs του;
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  14. #104
    Το avatar του μέλους turboirc
    turboirc Guest
    Try/except == crash. Δεν εννοούσα το μύνημα που θα δουν οι χρήστες αν είναι καλό η κακό, αλλά το γεγονός ότι με τον ένα ή τον άλλο τρόπο η εφαρμογή σου τερματίζεται.

    Καταρχάς κανένα πλέον πρόγραμμα δεν ζητάει μνήμη απευθείας πια, όλα χρησιμοποιούν stl, smart pointers κλπ που κάνουν τη δουλειά από μόνα τους. Δεν είμαστε στο 1990 που παίρνουμε μεγάλη μνήμη και την κάνουμε τμήματα εσωτερικά. Ένα πρόγραμμα μπορεί άνετα να ζητάει λιγη μνήμη, υπάρχει short memory pool.

    Τί νόημα έχει να πιάσεις το exception αν η μνήμη που ζήτησες απέτυχε. Είτε έχεις κακογραμμένο πρόγραμμα anyway οπότε τι είδους exit να κάνεις, το κάνει το λειτουργικό για σένα, άντε σε ορισμένες περιπτώσεις να έχεις ένα γενικό handler όπως πχ σε μια περίπτωση δική μου που θέλω να ελευθερωθεί asio driver που δεν φεύγει αυτόματα. Σε κάθε περίπτωση όμως μιλάμε για termination.

    Όσο αναφορά στο δεύτερο σχόλιο σου, σου θυμίζω ότι τα Windows δεν είναι Linux που θα πει στο χρήστη έδωσες λάθος εντολή, την εκτέλεσα, στα έσβησα όλα γιατί έτσι μου είπες και άντε πνίξου τώρα. Ο σοβαρός χρήστης δεν είναι αυτός που θα απενεργοποιησει το page file για να γλυτώσει λίγα GB στον δίσκο του, ακόμα όμως και να το κάνει, τα Windows δεν θα του πουν ποτέ ότι ξέρεις το πρόγραμμα κόλλησε γιατί έβγαλες το swap file, θα κάνουν ότι μπορούν για να συνεχίσει το πρόγραμμα να δουλεύει.

    Είναι θέμα φιλοσοφίας και μάλιστα σε ένα θέμα που από τα Windows 3 λειτουργεί με τον ίδιο τρόπο. Για την ακρίβεια, είμαι σχεδόν σίγουρος ότι και στο Linux έτσι θα λειτουργεί.

  15. #105
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Όσο αναφορά στο δεύτερο σχόλιο σου, σου θυμίζω ότι τα Windows δεν είναι Linux που θα πει στο χρήστη έδωσες λάθος εντολή, την εκτέλεσα, στα έσβησα όλα γιατί έτσι μου είπες και άντε πνίξου τώρα. Ο σοβαρός χρήστης δεν είναι αυτός που θα απενεργοποιησει το page file για να γλυτώσει λίγα GB στον δίσκο του, ακόμα όμως και να το κάνει, τα Windows δεν θα του πουν ποτέ ότι ξέρεις το πρόγραμμα κόλλησε γιατί έβγαλες το swap file, θα κάνουν ότι μπορούν για να συνεχίσει το πρόγραμμα να δουλεύει.
    Δεν είναι OS-1 vs OS-2.

    Είναι θέμα ότι μια "ετσιθελική πρωτοβουλία", μπορεί να κάνει ζημιά στον γνώστη χρήστη.

    Π.χ. παράδειγμα:

    Πριν μερικές βδομάδες - όταν είχα για πολύ λίγες μέρες ακόμα το νέο μηχανάκι με τα 64GB RAM, κι ακόμα το "μάθαινα" - είχα βάλει να κάνω render ένα απλό ερασιτεχνικό μικρό project στο Premiere Pro. Στο RAMDisk που χρησιμοποιώ όμως (48GB) δεν είχα ορίσει (κακώς) να είναι dynamically allocated η RAM.

    Αποτέλεσμα:

    Το Premiere τερμάτισε - χωρίς να χάσω δεδομένα - με ένα OK messagebox με ένα cryptic error, γιατί προφανώς δεν είχε RAM να κάνει δουλειά.

    Φυσικά κατάλαβα αμέσως τί έγινε, και από τότε έχω το RAMdisk στο dynamic allocation και όλα καλά με τα πάντα.

    Αν το Premiere είχε τη συμπεριφορά που εσύ αναφέρεις παραπάνω ως "καλή", θα είχα τρελαθεί (κυριολεκτικά) στο swapping/paging από/τον δίσκο, και θα είχα πάει στον ψυχίατρο, διότι δεν θα τερμάτιζε, αλλά θα "συνέχιζε" δήθεν "να δουλεύει" με π.χ. μισό GB RAM ενώ χρειάζεται π.χ. 20 για να κάνει τη δουλειά.

    Αυτό θεωρείς εσύ ως "συνεχίζει να δουλεύει";
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

Σελ. 7 από 8 ΠρώτηΠρώτη ... 25678 ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Μηνύματα: 22
    Τελευταίο Μήνυμα: 02-08-16, 05:17
  2. Μηνύματα: 18
    Τελευταίο Μήνυμα: 25-04-16, 10:19
  3. Μηνύματα: 39
    Τελευταίο Μήνυμα: 04-04-16, 15:14
  4. Google: Συγκεντρώνει πληροφορίες με απενεργοποιημένο το ιστορικό;
    Από PiXel στο φόρουμ Internet, web surfing και online υπηρεσίες
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 14-03-16, 16:42
  5. Μηνύματα: 61
    Τελευταίο Μήνυμα: 12-02-16, 19:59

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας