Amiga vs Atari ST

ChrisTOS είπε:
Πάλι δεν καταλαβαίνω που διαφωνείς. Σου έφερα το παράδειγμα του δίσκου. Μπορεί να είναι κάρτα δικτύου, μπορεί να είναι ότι θέλει. Απλά αν δεν κάνω λάθος η cartridge port έχει συγκεκριμένους καταχωρητές. Πάντως είναι direct processor slot. http://www.atarimagazines.com/st-log/issue27/138_1_A_16-BIT_CARTRIDGE_PORT_INTERFACE.php

Η ταχύτητα είναι μικρή, 256Κ/s αν και στον falcon πιάνω άνετα 400Κ/s, δεν έχω δοκιμάσει σε ST να σου πω. Το σύστημα είναι crippled αλλά υπάρχει. Η αλήθεια είναι ότι θύρες όπως αυτές που λες είχαν τα mega st (custom Atari), ta MSTE και TT (VME) και τα Falcon (custom atari).
Με μπερδεύεις :)

Θα προσπαθήσω να ξεκαθαρίσω λίγο τα πράγματα, εσύ διόρθωσε εννοείται.

Ο ST (δε μιλάω για falcon), έχει μια θύρα επέκτασης στο αριστερό μέρος του. Αυτή βασικά είναι η Cartridge port που βάζαμε τα διάφορα περιφερειακά (π.χ κλειδιά). Δεν είχε δυνατότητα Daisy chain, βασικά ήταν πολύ limited ακόμα και σαν cartridge port (μικρή χωρητικότητα και ταχύτητα).

Η μόνη διέξοδος που έχει κάποιος στο πρόβλημα επεκταστιμότητα / ταχύτητα, direct access στον επεξεργαστή είναι η ACSI πόρτα δηλαδή η θύρα του σκληρού δίσκου.

Στο παράδειγμα που έφερες οι Γερμανοί χρησιμοποίησαν την ACSI που συνδέουμε τον δίσκο γιατί έχει access στο DMA.

Λες ότι ο ST έχει plug and play δυνατότητα μέσω του IDE interface. Που; Εδώ δεν έχει κανονική θύρα επέκτασης τι plug and play να έχει; Απλά επειδή η ACSI είναι ξαδερφάκι του SCSI έχει τα κλασσικά IDs.

Πως θα βάλεις έναν accelerator πάνω στον ST που θα τον συνδέσεις; Πως θα ξέρει ο ST τι είναι αυτό;

Πως θα βάλεις extra μνήμη; Σε ποια διεύθυνση θα γίνει maped? Αν βάλεις κι άλλο interface? Θα υπάρχει conflict? Αυτό σε ποια διεύθυνση θα πάει;

Στα παραπάνω ερωτήματα οι απαντήσεις είναι οι εξής και διόρθωσε με.

Δεν βάζεις accelerator, εκτός και αν χειρουργήσεις τον ST βγάζοντας τον 68000. Δεν βάζεις μνήμη γιατί είναι πάνω στο μηχάνημα και δεν παίρνει εξωτερική. Δεν έχει plug and play γιατί δεν έχει κάπου να κάνεις plug το device. Η κατάσταση όσον αφορά τη μνήμη άλλαξε με τον STΕ το 89 και τα DiMMάκια του. Αλλά αυτό δεν είναι λύση. Αν θες να βάλεις κι άλλη; Σε ποια διεύθυνση θα πάει; Που θα τη βάλεις;

Περιφερειακά σαν το A530 δεν μπορούσε να πάρει ο ST ενώ μπορούσε να τα πάρει ακόμα και η αρχική Α1000.

ChrisTOS είπε:
To 8MB δεν βγαίνει από τα νούμερα, 16-bit x 3.-7MHz. Το θεωρητικό μέγιστο του Bus είναι 6MB. Στον ST η bus τρέχει με 4MHz (με επιφύλαξη) οπότε έχουμε 16-bit x 4MHz = 8MB/s. Με το γεγονός ότι κάθε υποσύστημα έχει πρόσβαση στη bus κάθε τέταρτο κύκλο μας δίνει θεωρητικό μέγιστο 2MB/s για το DMA.
Φαντάζομαι μιλάς για τον ST.

Από το hardware manual σελίδα 163

The blitter is one of the two co-processors in the Amiga. Part of the Agnus chip, it is usedto copy rectangular blocks of memory around and to draw lines. When copying memory, itis approximately twice as fast as the 68000, able to move almost four megabytes persecond. It can draw lines at almost a million pixels per second.
Και μιλάμε για τον blitter που έχει το δεύτερο χαμηλότερο priority. Από το HRM σελίδα 189:

Disk DMA, audio DMA, display DMA, and sprite DMA all have the highest priority level.
The lowest priorities are assigned to the blitter and the 68000, in that order. The blitter isgiven the higher priority because it performs data copying, modifying, and line drawingoperations operations much faster than the 68000.
ChrisTOS είπε:
Το floppy δεν είναι καλό μεσο, μιας και το bandwidth είναι γύρω στα 500ΚBps. Ας δώσουμε ένα πολύ γενναιόδωρο 128KB/s για το reading των floppy drive, x 4 μας κάνει 512KB/s σε μεταφορά δεδομένων από floppy στην RAM. Δυστυχώς η PAULA δεν ελέγχει σκληρούς δίσκους οπότε είναι δύσκολο να μετρήσουμε. Επιπλέον διόρθωσε με αν κάνω λάθος, αλλά όταν η Paula λειτουργεί το floppy δεν μπορεί να παίξει μουσική..
Αν θέλεις να χρησιμοποιήσεις τους κύκλους του ήχου μόνο. Αλλά δεν χρειάζεται, μπορείς να πας στα 4 bitplanes και σου μένει πολύ χρόνος.

ChrisTOS είπε:
Το MiNT βγήκε το 89 αλλά μιας και μιλάμε για πότε το έβγαλε η Atari ήταν το 1992, και το έβγαλε για όλους τους υπολογιστές Atari. Θες να σου στείλω την δισκέτα του MultiTOS να το τρέξεις στον STE σου; Αν όμως δεν σ' αρέσει το TOS στον STE σου μπορείς να το αντικαταστήσεις με το EmuTOS.

http://sourceforge.net/p/emutos/news/
Το Mint ήταν μεγάλο άλμα.

ChrisTOS είπε:
Ναι απλά η Amiga είχε τα fonts όπως τα windows και το TOS είχε τα system fonts ώστε να μπορείς να χειριστείς το σύστημα ακόμα και μετά από καταστροφή και σου επέτρεπε να κάνεις ότι ήθελες μέσω του GDOS.
Αυτό δεν καταλαβαίνω. Πως για παράδειγμα έλεγες στο λειτουργικό ότι τα fonts βρίσκονται σε εκείνο το mount point που μπορεί να ήταν ένα virtual device. Στην stock Amiga ήταν κάτω από το FONTS: που αυτό μπορεί να ήταν το πρώτο drive, μια δισκέτα με volume name FONTS, ή ένας σκληρός δίσκος ή κάποιο directory.

Όλα αυτά τα δήλωνες στο γραφικό περιβάλλον (Workbench) ή μέσω script language όταν ξεκίναγε το σύστημα στο αντίστοιχο autoexec φαντάσου.

EDIT:Σπάω το κεφάλι μου να θυμηθώ τις εντολές και το αρχείο που τα βάζαμε και δεν τα καταφέρνω, γέρασα... :(

ChrisTOS είπε:
Όχι, αλλά πάλι το Guru Meditation ήταν πολύ συχνό ακριβώς γι αυτό τον λόγο.
Σίγουρα :) Αναγκαίο κακό όμως.

Στην 500+ με το 2.0 θυμάμαι είχες και την AREXX που μπορούσες να κάνεις ωραία πράγματα με το multitasking.

Άνοιξε τη βάση, κάνε query και πέρνα τα δεδομένα στο spreadsheet, αρκεί να την υποστήριζαν τα προγράμματα
 
Shock είπε:
Με μπερδεύεις :) Θα προσπαθήσω να ξεκαθαρίσω λίγο τα πράγματα, εσύ διόρθωσε εννοείται.

Ο ST (δε μιλάω για falcon), έχει μια θύρα επέκτασης στο αριστερό μέρος του. Αυτή βασικά είναι η Cartridge port που βάζαμε τα διάφορα περιφερειακά (π.χ κλειδιά). Δεν είχε δυνατότητα Daisy chain, βασικά ήταν πολύ limited ακόμα και σαν cartridge port (μικρή χωρητικότητα και ταχύτητα).
Σωστό, 128ΚΒ ROM μικρή ταχύτητα. Daisy chain δεν ξέρω πάντως μπορούσες να συνδέσεις αρκετές συσκευές με adaptora.

Η μόνη διέξοδος που έχει κάποιος στο πρόβλημα επεκταστιμότητα / ταχύτητα, direct access στον επεξεργαστή είναι η ACSI πόρτα δηλαδή η θύρα του σκληρού δίσκου. Στο παράδειγμα που έφερες οι Γερμανοί χρησιμοποίησαν την ACSI που συνδέουμε τον δίσκο γιατί έχει access στο DMA.
Η ACSI port έχει DMA όχι direct processor.

Λες ότι ο ST έχει plug and play δυνατότητα μέσω του IDE interface. Που; Εδώ δεν έχει κανονική θύρα επέκτασης τι plug and play να έχει; Απλά επειδή η ACSI είναι ξαδερφάκι του SCSI έχει τα κλασσικά IDs.

Πως θα βάλεις έναν accelerator πάνω στον ST που θα τον συνδέσεις; Πως θα ξέρει ο ST τι είναι αυτό;

Πως θα βάλεις extra μνήμη; Σε ποια διεύθυνση θα γίνει maped? Αν βάλεις κι άλλο interface? Θα υπάρχει conflict? Αυτό σε ποια διεύθυνση θα πάει;
Το IDE interface που σου έδειξα συνδέεται στην cartridge port όχι στην ACSI. Δεν υπάρχει IDE interface για ACSI εκτός και αν συνδέσεις ένα ACSI to SCSI και ένα SCSI to IDE adaptor.

Στα παραπάνω ερωτήματα οι απαντήσεις είναι οι εξής και διόρθωσε με.Δεν βάζεις accelerator, εκτός και αν χειρουργήσεις τον ST βγάζοντας τον 68000. Δεν βάζεις μνήμη γιατί είναι πάνω στο μηχάνημα και δεν παίρνει εξωτερική. Δεν έχει plug and play γιατί δεν έχει κάπου να κάνεις plug το device. Η κατάσταση όσον αφορά τη μνήμη άλλαξε με τον STΕ το 89 και τα DiMMάκια του. Αλλά αυτό δεν είναι λύση. Αν θες να βάλεις κι άλλη; Σε ποια διεύθυνση θα πάει; Που θα τη βάλεις;

Περιφερειακά σαν το A530 δεν μπορούσε να πάρει ο ST ενώ μπορούσε να τα πάρει ακόμα και η αρχική Α1000.
Για accelerator έχεις απόλυτο δίκαιο, για τη μνήμη μπορείς να κάνεις piggy back SIMMS ή άλλα chip πάνω στα αυθεντικά. Επίσης υπήρχε και μια επέκταση μνήμης που καθόταν στην socket του Shifter. Σε ότι αφορά το plug and play σου εξήγησα ήδη πως γίνεται στην cartridge port. Το firmware φορτώνεται εκεί. Η MMU του ST δέχεται μέχρι 4 ΜΒ αν θέλεις να βάλεις και άλλα θα πρέπει να την αντικαταστήσεις με κάποιο ASIC κατάλληλα προγραμματισμένο.

Φαντάζομαι μιλάς για τον ST.Από το hardware manual σελίδα 163

Και μιλάμε για τον blitter που έχει το δεύτερο χαμηλότερο priority. Από το HRM σελίδα 189:

Αν θέλεις να χρησιμοποιήσεις τους κύκλους του ήχου μόνο. Αλλά δεν χρειάζεται, μπορείς να πας στα 4 bitplanes και σου μένει πολύ χρόνος.
Δεν βγαίνει, μπορείς να μετακινήσεις 2 bytes x 3.000.000 φορές το δευτερόλεπτο και αυτό μας κάνει 6MB ότι και να γίνει, εκτός και αν στην Amiga χρησιμοποίησαν άλλα μαθηματικά. Όπως και να χει με ένα απλό benchmark το νούμερο που βγαίνει είναι το εξής:

BusSpeedTest 0.07 (mlelstv) Buffer: 16384 Bytes==================================================

chip readw 1051.3ns 1.9MByte/s

chip readl 1052.6ns 3.8MByte/s


Το Mint ήταν μεγάλο άλμα.
Συμφωνώ

Αυτό δεν καταλαβαίνω. Πως για παράδειγμα έλεγες στο λειτουργικό ότι τα fonts βρίσκονται σε εκείνο το mount point που μπορεί να ήταν ένα virtual device. Στην stock Amiga ήταν κάτω από το FONTS: που αυτό μπορεί να ήταν το πρώτο drive, μια δισκέτα με volume name FONTS, ή ένας σκληρός δίσκος ή κάποιο directory.
Όλα αυτά τα δήλωνες στο γραφικό περιβάλλον (Workbench) ή μέσω script language όταν ξεκίναγε το σύστημα στο αντίστοιχο autoexec φαντάσου.

EDIT:Σπάω το κεφάλι μου να θυμηθώ τις εντολές και το αρχείο που τα βάζαμε και δεν τα καταφέρνω, γέρασα... :(
Αν έκανες τον κόπο και διάβαζες το link που σου έστειλα θα έβλεπες για το αρχείο ASSIGN.SYS όπου ορίζεις ποια fonts θα χρησιμοποιηθούν σε ποιο workstation. Τα δε fonts φορτώνονται on demand και έτσι δεν καταλαμβάνουν χώρο στη μνήμη.

Σίγουρα :) Αναγκαίο κακό όμως.Στην 500+ με το 2.0 θυμάμαι είχες και την AREXX που μπορούσες να κάνεις ωραία πράγματα με το multitasking.

Άνοιξε τη βάση, κάνε query και πέρνα τα δεδομένα στο spreadsheet, αρκεί να την υποστήριζαν τα προγράμματα
Δεν διαφωνώ, αλλά κάτι λέει για τη σταθερότητα του συστήματος. :) Έχω δει και εγώ αρκετά εντυπωσιακά πράγματα στον ST αν και φαντάζομαι ότι ήταν.

P.S. Αν δεν σου κάνει το παράδειγμα με το σκληρό δίσκο στη cartridge port να προτείνω μερικές ακόμα συσκευές?

netusbee, ethernet & usb card


Αν και hobby project έχει μια αξία στο να δείξει τι είναι εφικτό.
 
Τελευταία επεξεργασία από έναν συντονιστή:
DINO είπε:
Επειδή η απάντησή μου ήταν για τον billy, ας περιμένουμε να δούμε αν κατάλαβε αυτός.Αν όχι, θα το αναλύσω περαιτέρω...
Μία φωνή μέσα μου, μου έλεγε πως ο Dino θα απαντούσε σίγουρα στο post μου !! (μετά απο τόσα χρόνια, μπορώ να πω πως με τον Dino έχουμε πλέον φτάσει σε επίπεδο... "psychic" συννενόησης !! :D )

Φαίνεται λοιπόν πως ο υποτιμητικός αυτός όρος ("κονσόλα"/"παιχνιδομηχανή") αποτελεί (τουλάχιστον όσον αφορά τον Dino) μέρος της γνωστής "name calling" αντιπαράθεσης που κατά καιρούς γίνεται (λένε μία χοντράδα οι fans του ST, απαντάνε οι Amiga users, ξανα-απαντάνε οι ST fans, κ.ο.κ.)

Πάντως χαίρομαι όταν επικρατεί η λογική, και καταφέρνουμε να ξεπερνάμε τις όποιες υπερβολές, βλέποντας τα πράγματα με καθαρή ματιά... :)
 
καποτε ειχα αταρι st 1040, καιμε πηγαινε η μαμα μου με τον αδερφο μου σε ενα "πειρατικο" φανταζομαι μαγαζι καπου στο κεντρο της θεσσαλονικης, για να μας δειξει μερικα παιχνιδια να παιζουν στα δικα του κομπιουτερ,να δουμε πως ειναι περιπου,κι αν μας αρεσαν, περιμεναμε λιγο,να τα αντιγραψει απευθειας,να τα παρουμε και να παμε σπιτι να τα λιωσουμε..

εχω παρα πολυ καλες αναμνησεις απο αυτο το μηχανημα,γιατι ενω δε μπορουσα να πηγαινω στα ηλεκτρονικα,δε με αφηναν, επαιζα τα arcade παιχνιδια οπως: golden axe, shinobi, bubble bobble, rainbow, dragon ninja, double dragon στο σπιτι μου,οσο ηθελα,χωρις να ξοδευω κερματα κτλ..

Για εκεινα τα χρονια,που ημουν μικρος και δεν ηξερα τιποτα αλλο,τι κονσολες αλλες υπηρχαν,η τον ανταγωνισμο του αταρι κτλ,αυτο το κομπιουτερ ηταν ο θεος μου..το ευχαριστω παρα πολυ γι αυτο,θα το θυμαμαι παντα!!@
 
Διάβασα με ενδιαφέρον τις τελευταίες σελίδες του θρεντ (128 έφτασε) απίστευτα πράγματα ο καλύτερος 16μπιτ υπολογιστής, έχει multitasking και διάφορα άλλα απίθανα

ο st δεν έχει κανένα multitasking γιατί απλά το λειτουργικό του δεν είναι φτιαγμένο για αυτό. desk accessories... με αυτή τη λογική και ο Spectrum έχει multitasking αφού παίζεις, έχεις scrolling, το sprite κινείται, και παίζει και μουσική.

όσο για το παιχνιδομηχανή, για όσους ασχολούνταν με ξένα έντυπα το περιοδικό c+vg είχε όλα τα reviews για 16μπιτ σε st μέχρι το 1990 και ελάχιστα σε Amiga δείγμα του ποιό μηχάνημα υπερτερούσε στη συγκεκριμένη κατηγορία σε αριθμό χρηστών στην Αγγλία τουλάχιστον (είχε πολύ περισσότερους χρήστες st, πάνω απο 1.000.000 δε φαντάζομαι όλοι να δούλευαν με 80στηλα, να ήταν μουσικοί ή να εξέδιδαν εφημερίδες).
 
Οταν πηραν την σκυταλη Shock,herco,chrisTOS ,το thread απογειωθηκε

Ας μην το προσγειωσουμε (παλι) ,οπως καλη ωρα εκανα κι εγω με το reply μου πρωτυτερα ....
 
Δε τίθεται θέμα flame όμως ξεκάθαρα και χωρίς τεχικές αναλύσεις και εντολές της C, ότι κάνει ο 520st μπορεί να το κάνει και η amiga 500 λίγο-πολύ ενώ αυτά που μπορεί να κάνει η amiga λιγάκι δύσκολο να τα κάνει ένα st.

Επίσης ο πρώτος υπολογιστής στο στιλ που αντέγραψε (επιτυχημένα) ο 1040stf και αργότερα ο 520stfm ήταν ο commodore 128.

Το case που χρησιμοποιήσε η Amiga500 ήταν σχεδόν όμοιο του C128.
 
Τελευταία επεξεργασία από έναν συντονιστή:
Shinobi είπε:
ο st δεν έχει κανένα multitasking γιατί απλά το λειτουργικό του δεν είναι φτιαγμένο για αυτό. desk accessories... με αυτή τη λογική και ο Spectrum έχει multitasking αφού παίζεις, έχεις scrolling, το sprite κινείται, και παίζει και μουσική.
Hold that thought!

 
flame mode on: υπέροχος ήχος wannabe paula σε συνδυασμό με υπέροχα χρώματα :p flame mode off!

-------------------------------

Πέραν πλάκας επαναλαμβάνω ότι o st ήταν ο μεγάλος αντίπαλος της αμίγκα και ως εκ τούτου σεβαστός! Αποτέλεσε τον πρώτο προσιτό 16μπιτ υπολογιστή (μην πει κανείς για ql και λοιπά) και έδειξε την τάξη των πραγμάτων που ερχόταν! Αν δεν υπήρχε η αμίγκα όλοι σε αυτόν θα στρεφόμασταν τότε δίχως κουβέντα!

Λυπάμαι όμως που τα εκάστοτε πειράγματα μας ενοχλούν τόσο πολύ τους st fans και αντιδρούν ενίοτε ...άτσαλα όμως θα επαναλάβω για πολλοστή φορά ότι πρέπει να προσεγγίζουμε τα μηχανήματα στην βάση των δραστηριοτήτων που ο καθένας από εμάς επιθυμούσε την τότε χρονική περίοδο! Αν κάποιος λόγου χάρη ήταν μουσικός και χρησιμοποιούσε το midi σαφέστατα και θα επέλεγε st ως λύση με άριστο value for money για να κάνει την δουλειά του ή το χόμπι του. Για εκείνον αυτό θα ήταν η καλύτερη και η λογικότερη επιλογή! Οι γραφικές και ηχητικές ικανότητες όμως της αμίγκα ήταν ανώτερες του st, πρωτοποριακές θα έλεγα και ως εκ τούτου οι σχετικές εφαρμογές και τα παιχνίδια που οι περισσότεροι από εμάς τότε ασχολούμασταν ήταν καλύτερα σε αυτή! Αυτό είναι σαφέστατο και θεωρώ ...fanboyσμό να το αμφισβητείτε!

Αποκαλείτε την αμίγκα παιχνιδομηχανή λες και οι περισσότεροι δεν χρησιμοποιούσαμε τότε τους υπολογιστές μας για παιχνίδια ή δεν τους αγοράσαμε κυρίως για δαύτα λέγοντας στους γονείς πόσο πολύ θα μας βοηθούσαν στο σχολείο! ;)

Ακόμα και τώρα αν απομονώσουμε τους ρετρο υπολογιστές από τα παιχνίδια που παίζαμε θα δείτε ότι θα χαθεί η περισσότερη από την μαγεία και την νοσταλγία που τρέφουμε για αυτά! Είναι άδικος λοιπόν ο χαρακτηρισμός για οποιδήποτε home υπολογιστή πόσο μάλλον για τον καλύτερο της κατηγορίας!

@shinobi: δεν συμφωνώ ότι η σειρά atari st αντέγραψε τον c128! Θα έλεγα ότι περισσότερο η κομοντορ προσπάθησε να τον χτυπήσει με έναν αναβαθμισμένο c64 με σοβαρότερη εμφάνιση και επαγγελματικό προσανατολισμό στις δυνατότητες ειδικά με την σειρά 128d!

Πόσο μάλλον όταν η αμίγκα 1000 ήταν πανάκριβη και στην πράξη εκτός ευρωπαϊκής αγοράς! Αμίγκα ουσιαστικά υπήρξε με την 500 και έκτοτε!
 
Τι ακριβώς αποδεικνύει το video? Ότι μπορεί να εξωμειώσεις λειτουργίες multitasking? Που είναι στο TOS αυτή λειτουργικότητα;

Άνοιξες ένα accessory αυτό λέμε τόση ώρα!

Άνοιξε 2 εφαρμογές (όχι accessories) side by side, να τρέξουν ταυτόχρονα έστω και χωρίς preemtive ας παίρνουν τον ίδιο χρόνο η κάθε μια.

Πάρε μια εικόνα με drag&drop από το spreadsheet και πέρνα τη στον word proccessor και σε άλλο process να τρέχει μια βάση που να τους feedάρει στοιχεία.

Αυτό είναι multitasking!
 
Shock είπε:
Τι ακριβώς αποδεικνύει το video? Ότι μπορεί να εξωμειώσεις λειτουργίες multitasking? Που είναι στο TOS αυτή λειτουργικότητα; Άνοιξες ένα accessory αυτό λέμε τόση ώρα!

Άνοιξε 2 εφαρμογές (όχι accessories) side by side, να τρέξουν ταυτόχρονα έστω και χωρίς preemtive ας παίρνουν τον ίδιο χρόνο η κάθε μια.

Πάρε μια εικόνα με drag&drop από το spreadsheet και πέρνα τη στον word proccessor και σε άλλο process να τρέχει μια βάση που να τους feedάρει στοιχεία.

Αυτό είναι multitasking!
Τώρα μου κάνεις πλάκα έτσι; Τα desk accessories δηλαδή δεν είναι εφαρμογές; ΕΛΕΟΣ! Δηλαδή όταν είδες ότι έγραφα στον επεξεργαστή κειμένου και στο διπλανό παράθυρο η μπάρα της cpu usage ανεβοκατέβαινε (δεν ήταν σταματημένη) αυτό δεν σήμαινε ότι έτρεχαν δύο εφαρμογές ταυτόχρονα; Και σε αυτό το παράδειγμα το desk accessory έπαιρνε και το μεγαλύτερο κομμάτι της cpu!!!!
 
Να το πω διαφορετικά. Άνοιξε δύο .PRG προγράμματα εκτός και αν θες να μου πεις ότι έχεις τα cubase/calamus/dp κλπ σε accessories :)
 
Βλέπω ότι διαρκώς μετακινείται η μπάρα. Πρώτα τα desk accessories δεν τρέχουν παράλληλα με τις εφαρμογές αλλά έχουμε task switching. Όταν αποδεικνύεται ότι τρέχουν παράλληλα παύουν να είναι εφαρμογές αλλά εφαρμογές είναι μόνο τα prg και πρέπει να έχουμε δυο εφαρμογές ταυτόχρονα.

Πάντως και αυτό είναι εφικτό αλλά χρειάζεται μια επέκταση στο AES που λέγεται Geneva και η οποία του επιτρέπει να τρέξει όσα prg θέλεις.
 
Οκ, και εαν εχει ο αταρι (ενα ειδος) multitasking, αυτο ειναι καλυτερο απο το αντιστοιχο της αμιγκα?

Με αυτην την λογικη και ο αμστραντ 6128 εχει φλοπυ, αρα ειναι το ιδιο καλο (το φλοπυ) με του αταρι ΣΤ.
 
mike είπε:
Οκ, και εαν εχει ο αταρι (ενα ειδος) multitasking, αυτο ειναι καλυτερο απο το αντιστοιχο της αμιγκα? Με αυτην την λογικη και ο αμστραντ 6128 εχει φλοπυ, αρα ειναι το ιδιο καλο (το φλοπυ) με του αταρι ΣΤ.
Όχι, έχω άλλα θέματα με το multitasking της Amiga, τα οποία έχω αναφέρει. Παρόλα αυτά αυτό είναι ένα διαφορετικό ερώτημα και όχι το ερώτημα αν το TOS έχει multitasking στο οποίο απάντησα.
 
Δηλαδη

1) εχει ο αταρι multitasking? : Ναι, καποιου ειδους

2) ειναι καλυτερο ή ισαξιο της αμιγκα? : Οχι, ειναι καλυτερο της αμιγκα
 
Η μπάρα δε μετακινήθηκε καθόλου. Από την αρχή ξέραμε τι είναι και τι δεν είναι multitasking και τι είναι τα accessories. Αν θες να τα ξαναπούμε για τους υπόλοιπους που ίσως έχουν χάσει την μπάλα. Αν θες διόρθωσε με.

Multitasking γενικά.


Η δυνατότητα να εκτελούνται δύο ή περισσότερα tasks ταυτόχρονα.

Multitasking ειδικά


Τι είναι αυτό το "task"; Είναι ένα πρόγραμμα, ένα κομμάτι κώδικα; Μια ρουτίνα; Με μια απλοποίηση όλα είναι προγράμματα, ότι βρίσκεται στη μνήμη και περνάει από τον Program Counter του επεξεργαστή και έχει μια συγκεκριμένη λειτουργία και λόγο ύπαρξης, είναι πρόγραμμα.

Με τη λογική αυτή πρόγραμμα είναι το μικρό EXEcutable που τρέχαμε στο autoexec και έκανε trap το πληκτρολόγιο, καταλάβαινε δηλαδή πότε θέλαμε να αλλάξουμε γλώσσα και άλλαζε τη γραμματοσειρά στην VGA.

Από τη στιγμή που ο επεξεργαστής κάνει ένα πράγμα ΜΟΝΟ και δεν μπορεί να δει δύο διευθύνσεις μνήμης ταυτόχρονα πως μπορούμε και μιλάμε για multitasking?

Αυτό το κάνει το λειτουργικό σύστημα και ποιο συγκεκριμένα ο scheduler του, ένα σύστημα το οποίο αναλαμβάνει να διαχειριστεί τους πόρους του επεξεργαστή, για την ακρίβεια τον χρόνο που αφιερώνει για κάποια εργασία του.

Ο πιο απλός scheduler είναι κάποιος που μοιράζει τον χρόνο ίσα προς όλους, σαν να παίρνει μια τράπουλα και να γυρίζει έναν-έναν τους παίχτες, δίνοντας τους τον ίδιο αριθμό χαρτιών κάθε φορά. Αυτό είναι το cooperative multitasking

Τι γίνεται όμως αν θέλει κάποιο πρόγραμμα λίγο χρόνο παραπάνω για να κάνει κάτι, ή όταν κάποιο άλλο πρόγραμμα δεν χρειάζεται την προσοχή του επεξεργαστή, όπως ένας editor που απλά περιμένει να πατήσεις ένα πλήκτρο για να κάνει κάτι; O scheduler θα πρέπει να είναι έξυπνος και συνέχεια να αναπροσαρμόζει τον χρόνο της κάθε εφαρμογής ώστε να μην χάνει τον χρόνο του ο επεξεργαστής αλλά και το σύστημα να είναι πιο αποδοτικό. Αυτό είναι το preemptive multitasking




Όπως φαίνεται λοιπόν όλα τα λειτουργικά συστήματα ακόμα και το MS-DOS είχαν μια μορφή multitasking, την απλή (cooperative) ή την πιο σύνθετη αυτή που έχουν και τα σημερινά λειτουργικά όπως τα Windows NT και δώθε (preemptive)

Σωστά;

Λάθος :) Και αυτό γιατί πολύ απλά τα παλιάς κοπής λειτουργικά δεν είχαν ΚΑΝ scheduler! Το λειτουργικό "έδινε" όλο τον επεξεργαστή στο πρόγραμμα που φόρτωνε ο χρήστης. Δεν "διέκοπτε" το λειτουργικό ποτέ το πρόγραμμα, το τελευταίο είχε τον έλεγχο, που τον γύριζε "πίσω" όταν τελείωνε (έκλεινε).

Μα θα μου πείτε, "πως γίνεται να έχω το wordperfect φορτωμένο και το keyb.com που αλλάζει το πληκτρολόγιο; Είμαι σίγουρος ότι τρέχουν και τα δύο!"

Η απάντηση είναι: Ναι τρέχουν και τα δύο αλλά με "κομπίνα". Είναι έξυπνα γραμμένα χρησιμοποιούν ένα χαρακτηριστικό του επεξεργαστή, τα interrupts, διακόπτουν τη φυσιολογική λειτουργία του wordperfect, πέρνουν 100% τον έλεγχο συνήθως για milliseconds, κάνουν ότι "ήταν γραφτό" να κάνουν και επιστρέφουν τον έλεγχο πίσω στο word perfect.

-Αυτό κάνει και το λειτουργικό του ST?

Και ναι και όχι. Είναι αδύνατον σε έναν default ST που δεν έχεις τροποποιήσει το λειτουργικό του να τρέξει παραπάνω από ΕΝΑ πρόγραμμα


Μπορείς όμως να έχεις ξεκινήσει (να bootάρεις) τον ST με κάποια μικρά προγράμματα, έξι τον αριθμό τα οποία βρίσκονται μόνιμα στην μνήμη. Δεν μπορείς να τα τερματίσεις, πόσο μάλλον να ξεκινήσεις κάποιο όποτε σου καπνίσει.

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

Γι' αυτό το λόγο φυσικά και δεν είδαμε το cubase για παράδειγμα σε μορφή accessory, προγράμματα με την έννοια που όλοι καταλαβαίνουμε, αλλά utilities και mod players.

Scheduler λοιπόν υπάρχει, αλλά.....

Δεν είναι απλό να λέμε έχει cooperative multitasking όταν δεν μπορεί καν να φορτώσει εν θερμώ δεύτερο πρόγραμμα με την έννοια που όλοι ξαναλέω καταλαβαίνουμε.

Αυτό το σύστημα πάμε να συγκρίνουμε με ένα πλήρες preemptive multitasking λειτουργικό σύστημα;
 
Επειδή δεν το 'χω με τα micros - μόνο 2 σχόλια σε αυτά που λέει πολύ σωστά ο Αντώνης:

Shock είπε:
(...) Από τη στιγμή που ο επεξεργαστής κάνει ένα πράγμα ΜΟΝΟ και δεν μπορεί να δει δύο διευθύνσεις μνήμης ταυτόχρονα πως μπορούμε και μιλάμε για multitasking? (...)
Δεν υπάρχει η έννοια του multitasking όπως έχουμε συνηθίσει να τη χρησιμοποιούμε στην καθομιλουμένη..... ΤΑΥΤΟΧΡΟΝΑ, δεν εκτελείται τίποτα.... Όλα γίνονται με μια σειρά (θα τολμούσα να χρησιμοποιήσω αδόκιμα ίσως και τον όρο "σειριακά", αλλά θα πέσω σε σφάλμα πραγματικότητας) και πάρα, μα πάρα, μα πάρα πολύ γρήγορα (προφανές)....

Shock είπε:
(...) Αυτό το κάνει το λειτουργικό σύστημα και ποιο συγκεκριμένα ο scheduler του, ένα σύστημα το οποίο αναλαμβάνει να διαχειριστεί τους πόρους του επεξεργαστή, για την ακρίβεια τον χρόνο που αφιερώνει για κάποια εργασία του. (...)
Άληθες. Κι αυτό εξαρτάται από τον επεξεργαστή: δεν αφιερώνουν όλοι τον ίδιο χρόνο, ούτε δίνουν όλοι την ίδια προτεραιότητα στις διεργασίες που εισέρχονται για επεξεργασία...

Shock είπε:
(...) Λάθος :) Και αυτό γιατί πολύ απλά τα παλιάς κοπής λειτουργικά δεν είχαν ΚΑΝ scheduler! Το λειτουργικό "έδινε" όλο τον επεξεργαστή στο πρόγραμμα που φόρτωνε ο χρήστης. Δεν "διέκοπτε" το λειτουργικό ποτέ το πρόγραμμα, το τελευταίο είχε τον έλεγχο, που τον γύριζε "πίσω" όταν τελείωνε (έκλεινε).
Μα θα μου πείτε, "πως γίνεται να έχω το wordperfect φορτωμένο και το keyb.com που αλλάζει το πληκτρολόγιο; Είμαι σίγουρος ότι τρέχουν και τα δύο!"

Η απάντηση είναι: Ναι τρέχουν και τα δύο αλλά με "κομπίνα". Είναι έξυπνα γραμμένα χρησιμοποιούν ένα χαρακτηριστικό του επεξεργαστή, τα interrupts, διακόπτουν τη φυσιολογική λειτουργία του wordperfect, πέρνουν 100% τον έλεγχο συνήθως για milliseconds, κάνουν ότι "ήταν γραφτό" να κάνουν και επιστρέφουν τον έλεγχο πίσω στο word perfect. (...)
Κοινώς, τη "βρώμικη" δουλειά του τροχονόμου για τα interrupts, κάνουν οι σημαφόροι ή σηματοφόροι - είναι αυτοί που δίνουν τη δυνατότητα της παράλληλης επεξεργασίας!

(Α, ρε Dijkstra! Τι θα κάναμε χωρίς εσένα! ;) )

Αυτά τα ολίγα - μιας και φαντάζομαι ότι η μηχανική των Η/Υ έχει σίγουρα εφαρμογή και στα home-micros! :)
 
Με κάλυψε η Dare! Βασικά το multitasking ειδικά σε single thread επεξεργαστές είναι ακριβώς αυτό, δηλαδή το λειτουργικό σύστημα καθορίζει πόσους κύκλους του επεξεργαστή θα χρησιμοποιήσει κάποιο πρόγραμμα. Στο παράδειγμα στο βίντεο Shock θα δεις ότι το paula.acc χρησιμοποιεί όση cpu χρειάζεται εκείνη την στιγμή.

Η διαφορές desk accessory και εφαρμογών είναι οι εξής δύο:

-Τα προγράμματα λαμβάνουν από το λειτουργικό όλη τη διαθέσιμη μνήμη ενω τα desk accessories όση απαιτούν

-Δεν εκκινούν από μόνα τους αλλά περιμένουν κάποιο event.

Αν θέλεις κάνε το εξής πείραμα, άλλαξε την κατάληξη ενός desk accessory σε prg και τρέξτο να δεις τι θα συμβεί.

Γι' αυτό το λόγο φυσικά και δεν είδαμε το cubase για παράδειγμα σε μορφή accessory, προγράμματα με την έννοια που όλοι καταλαβαίνουμε, αλλά utilities και mod players.

Scheduler λοιπόν υπάρχει, αλλά.....
Τι είδους εφαρμογή θα σου έκανε; Text editor, όχι. Γλώσσα προγραμματισμού ίσως; Πάλι όχι. Μια πλήρης εφαρμογή για ραντεβού, ημερολόγιο και σημειώσεις; Μπα. Terminal emulator? Ούτε. Παιχνίδια; Δεν είναι αρκετά.. Font editor? Audio Calculator? Τι θα σου έκανε;

P.S. Το cooperative multitasking δεν είναι 50-50 αλλά απαιτεί από όλες τις εφαρμογές να συνεργαστούν. Έτσι αν έχεις κάποια εφαρμογή η οποία απαιτεί όλους τους πόρους του συστήματος τότε δεν θα δουλέψει. Αντίθετα στο preemptive multitasking το λειτουργικό είναι υπεύθυνο για να κάνει τα interrupts στις εφαρμογές.

P.S. 2 Γιατί η Atari δεν έφτιαξε το σύστημα ώστε να μπορεί να φορτώνει περισσότερες από μια εφαρμογές on demand. Ο ST ήρθε με 512KB μνήμης, οπότε πρακτικά δεν ήταν χρήσιμο να τρέξεις περισσότερες από μια κύριες εφαρμογές γιατί τότε θα έμενες πολύ γρήγορα από μνήμη. Η κύρια χρήση για τις υπόλοιπες εφαρμογές θα ήταν μικρά βοηθητικά προγράμματα, κάτι το οποίο καλυπτόταν από desk accessories.

P.S. 3. Θα σου φτιάξω και ένα βιντεάκι με interprocess communication
 
Τελευταία επεξεργασία από έναν συντονιστή:
"Τα προγράμματα λαμβάνουν από το λειτουργικό όλη τη διαθέσιμη μνήμη ενω τα desk accessories όση απαιτούν"

Α για σου. Άρα εξαρχής δε μιλάμε για multitasking λειτουργικό. ΤΟ πρόγραμμα, ένα είναι που παίρνει όλη τη μνήμη. Γι' αυτό και τα accessories φορτώνονται στην αρχή κατά το boot μόνο για να έχει κάνει τα κουμάντα του του TOS και να δώσει όλη την υπόλοιπη στο ένα και μοναδικό πρόγραμμα. Ακόμα και το stack trace είναι συγκεκριμένο στα accessories

When a process is started by GEMDOS, it allocates all remaining memory, loads the process into that memory, and JMPʼs to the first byte of the applicationʼs TEXT segment with the address of the programʼs basepage at 4(sp). An application should use the basepage information to decide upon the amount of memory it actually needs and Mshrink() to return the rest to the system. The exception to this is that desk accessories are only given as much space as they need (as indicated by their program header) and their stack space is pre-assigned.
"Δεν ξεκινούν από μόνα τους αλλά περιμένουν κάποιο event";

Είναι αυτό που λέω τόσες σελίδες τώρα, TSR. Ασε το Τ, πιάσε το SR :)

To TOS εξωμειώνει το cooperrative multitasking με τον εξής τρόπο. Κάθε φορά που το accessory θα χρειαστεί να κάνει κάποιο system call, να καλέσει κάποια βιβλιοθήκη του λειτουργικού δηλαδή, το TOS βρίσκει ευκαιρία και αλλάζει στο κυρίως πρόγραμμα. ΑΝ το accessory κάνει, λέμε τώρα, πράξεις και δεν χρειάζεται κάποιο system call, έχει πάρει όλον τον επεξεργαστή και το κυρίως πρόγραμμα περιμένει και τούμπαλιν.

Unlike applications, desk accessories are not given all of available system memory on startup. They are only allocated enough memory for their text, data, and bss segments. No stack space is allocated for a desk accessory either.

Desk accessories should not use a menu bar and should never exit (unless appl_init() fails) after calling menu_register(). If an error condition occurs which would make the accessory unusable, simply enter an indefinite message loop
!!!!

(TOS Reference guide)

Αυτό πάλι με τη μνήμη δεν στέκει, Τα 512Κ ήταν πάρα πολλά για την εποχή, οι unix servers είχαν τόσα, στην σχολή τουλάχιστον το 90, είχαμε 1ΜΒ και ήμασταν κόσμος και κοσμάκης μέσα! Απλά το να φτιάξεις ένα σύγχρονο λειτουργικό είναι δυσκολότερο απ' το να πάρεις ένα υπάρχον και να το βελτιώσεις. Ο ST έπρεπε να βγει γρήγορα, όπως έγιναν υποχωρήσεις στο hardware, έγιναν και στο software.
 
Πίσω
Μπλουζα