IBM 305 RAMAC

Fra DDHFwiki
Spring til navigation Spring til søgning

IBM 305 RAMAC var den første kommercielle computer, der brugte en harddisk med bevægeligt hoved til sekundær lagring. Systemet blev offentligt annonceret den 14. september 1956. RAMAC stod for "Random Access Method of Accounting and Control", da dets design var motiveret af behovet for realtidsregnskab og lagerstyring i erhvervslivet.

Den første danske installation var Toms Fabrikker i Ballerup i 1960. Derudover blev den brugt af SAS til deres pladsreservationssystem fra 1961.

Oversigt over systemet

Systemet var en computer i rumstørrelse baseret på radiorør, der omfattede en central processor­enhed, input/output-enheder (hulkortlæser, -perforator og printer) og dens signaturkomponent: IBM 350 Disk Storage Unit. Interaktionen foregik primært ved at læse hulkort med en operation til udførelse. Dette ville bevirke en opdatering i lageret, udskrift på printeren og/eller fremstilling af et hulkort til behandling på virksomhedens andre maskiner.

IBM 350 Disk Storage Unit (harddisken)

Andre beskrivelser fokuserer typisk på at dette var den første harddisk med informationer om kapacitet, søgetid m.m., og giver nutidens læsere den antagelse at den lignede en moderne harddisk med diskblokke, etc. Det rammer et stykke uden for skiven. Det var et kartotek for virtuelle hulkort. Harddisken indeholdt 50 magnetiske skiver (hver på 61 cm i diameter), stablet lodret. Hver skive kunne lagre 1000 hulkort på hver 100 tegn. Hulkortet kunne hentes på en 5-cifret decimal adresse, der bestod af to cifre (00-49) for skiven, og tre cifre (000-999) for placering på en skive. Den samlede lagerkapacitet var omkring 5 millioner tegn (~5 MB).

Processor og hukommelse

Computeren havde en meget lille mængde magnetisk kernehukommelse på 100 tegn, som blev brugt som buffer mellem de enkelte I/O enheder. Derudover var der et tromlelager på med 32 spor på hver 100 tegn. Disse blev brugt til programmet, generelle registre og I/O. Hvis programmet f.eks. udførte en instruktion til at læse et hulkort, blev det lagt på spor 'K'. Der var afsat 20 spor til program­instruktioner. Én instruktion er 10 tegn. Dvs. der var plads til 200 instruktioner. Disse skal dog opfattes som små underrutiner, som blev sat sammen i en koblingstavle. Processoren kunne udføre grundlæggende aritmetiske og logiske operationer, behandle data fra hulkort og udlæse resultater til printere eller hulkortenheder.

Eksempel på brug

Nedenstående er et eksempel på lagerstyring, fakturering og debitorer. Et grossistfirma distribuerer 25.000 varer til 10.000 kunder. Når firmaet modtager en bestilling bliver den hullet i et ordrekort, som indeholder kundenr. og ét til flere varenumre med antal stk, der skal leveres. Kortene føres ind i maskinen. Det kan ske med det samme i stedet for at samle kortene til en natkørsel. For hver ordre var maskinen

  1. bestemme tilgængeligheden af ​​hver bestilt vare,
  2. opsummere prisen for alle varer,
  3. justere lagersaldi,
  4. udskrive faktura til kunden,
  5. fremstille hulkort til debitorjournalen.

Varerne er kodet med numre mellem 00001 og 25000 for at varenummeret kan bruges som en direkte adresse til den tilsvarende post i diskhukommelsen. Kundernes konti er blevet tildelt kontonumre mellem 30000 og 39999 for at give direkte adgang til disse poster ved at bruge kundenummer som adresse.

Når en ordre modtages, stanses informationen ind på et kort med operationskode (her: bestilling[1]) og kundenr. Derefter kommer en liste på op til 8 bestillinger med varenummer og antal. Yderligere kort bruges, hvis ordren er længere.

Kundenummeret bruges til at hente kundeposten fra diskhukommelsen og overføre overføres den til spor X på tromlen. Ved hjælp af information fra kundejournalen og indtastningskortet opbygger maskinen fakturaoverskriften på spor Y. Fakturanummeret hentes fra en akkumulator, der tælles op for hver faktura, der behandles. Den komplette post for fakturaoverskriften overføres til printerens outputspor, hvorfra printeren under passende formatkontrol udskriver den.

Mens overskriften udskrives, læser maskinen det første varenummer fra ordren og finder posten for denne vare i diskhukommelsen. Denne post overføres til spor Z. Den disponible mængde (fra vareposten) testes i forhold til den bestilte mængde for at afgøre, om ordren kan udfyldes. Hvis mængden til rådighed er tilstrækkelig til at udfylde ordren, faktureres varen; ellers er det restordret. Hvis varen skal sendes, reduceres varesaldoen med det antal, der faktureres, og vareposten skrives tilbage til diskhukommelsen. På lignende måde behandler maskinen den næste vare på ordren, tester tilgængeligheden, forlænger beløbet, opdaterer varebalancen og udskriver linjen på fakturaen.

Når ordren er gennemført, udskrives det samlede beløb på fakturaen og lægges til det tilgodehavende på kundens journal. Der foretages en test for at afgøre, om kunden har overskredet det kredittal, der er fastsat for hans konto; hvis kreditten er overtrukket, henvises ordren til kreditchefen til godkendelse. Denne metode fritager kreditadministratoren for redigering af alle undtagen tvivlsomme ordrer.

  1. Andre koder kunne være for lageroptælling, returvarer med kreditnota, genopfyldningsliste