2009-08-15 9 views
18

L'assemblatore tradizionale ei compilatori di livello superiore funzionano con più segmenti di memoria , in base all'uso previsto. Quindi, c'è un segmento di dati, un segmento di stack, un bss e un segmento di testo. Il segmento di testo è anche chiamato il segmento di codice.Dove ha preso il nome il segmento di testo?

Testo segmento? Per codice macchina?

Ho chiesto a tutti i veterani che ho potuto trovare, come qualcosa di illeggibile come il codice macchina è diventato noto come il "segmento di testo". Ognuno di loro era d'accordo sul fatto che era proprio quello che si chiamava, ma nessuno di loro sembrava esserne sorpreso. E nessuno potrebbe offrire una spiegazione.

Ecco la tua occasione per mostrare la tua conoscenza della storia geek illuminandoci.

risposta

3

Potrebbe essere perché il codice del programma, che si tratti di istruzioni della macchina difficili da leggere, è in realtà il programma testo - vale a dire il testo che contiene le istruzioni? Lo stesso che quando si chiama un libro calcolo di un libro di testo, anche se è piuttosto difficile da decifrare a meno che non si ha familiarità con i simboli matematici che sono il codice di ..

1

Sono d'accordo con Miky D, ma deve aggiungere la osservazione aggiuntiva che il segmento di testo è di sola lettura e quindi condiviso (o almeno condivisibile) da più processi - proprio come i contenuti di un libro di testo sono condivisi da tutti gli studenti di una classe.

16

Andando un po 'più avanti con i commenti di nos, ho alzato una versione digitalizzata del GE-635 Programming Manual, e trovato il seguente nella sezione relativa al Macro Assembler:

Il GE-625/635 Macro Assembler è viene fornito per fornire ai programmatori professionali alcune delle convenienze di un compilatore e alla flessibilità di un assemblatore. [...] Le opzioni di output gli consentono di ottenere il testo binario in rilocabile così come i formati assoluti .

Così, sembra che l'uso di "binario testo" è stato un colloquiale GE, o forse un termine comunemente usato al momento (ricordiamo che quelli erano i giorni in cui lettori di schede/punzoni sono stati utilizzati per molto IO) . Quindi, un possibile percorso è GE, Multics via GE-645, Unix tramite il lavoro di Bell Labs su Multics, su Linux.

+2

Probabilmente va più indietro. il compilatore PL/1 sui multics usati per emettere un segmento di testo - le istruzioni (codice) e un segmento di collegamento – nos

+1

Il GE-635 più o meno preeditato Multics e il compilatore Multics PL/1, come la data originale di quel manuale collegato sopra mostra. Quindi, mentre le persone di Multics fanno costantemente riferimento al "segmento di testo" come il file contenente istruzioni di macchina eseguibili, potrebbero averlo ottenuto dalla gente di GE. Nota che il primo compilatore PL/1 per Multics, EPL, è stato scritto da Bell Labs. Sospetto però che l'uso della parola "testo" per il codice macchina venga da molto prima nella storia dell'informatica. –

1

Da Wictionary:

  1. Un brano scritto composto da glifi multipli, caratteri, simboli o frasi.
  2. Un libro, tomo o altra serie di scritti.
  3. (colloquiale) Un breve messaggio scritto trasmesso tra telefoni cellulari; un messaggio di testo SMS.
  4. (calcolo) Dati che possono essere interpretati come testo leggibile dall'uomo (spesso in contrasto con dati binari).

suggerisco il significato in termini informatici è derivato dal fatto che il programma è ciò che è scritto nel computer prima che il programma viene eseguito, in contrasto con i dati, che è letto, elaborato e poi riscritto.

0

Suggerisco che il significato faccia riferimento all'assemblatore (in quel caso è per quello di cui stiamo parlando) la lingua è testo, testo leggibile. Quindi il segmento .text può essere tradotto come segmento in cui è scritto il programma di codice (testo) e dove si trova il testo del programma, ma l'ultimo è chiamato segmento .data. Inoltre può essere chiamato segment .code perché è il segmento in cui si trova il codice del programma.

A mio parere dovrebbe essere chiamato semplicemente: .code (che è testo e anche logicamente differenciate dalle altre sezioni).

+2

Ma cosa significa "codice"? Prima dei computer e delle telecomunicazioni, il "codice" è cifrato ... testo! Forse "testo" è una reazione alla parola "codice". Cosa intendi per "codice"? Codice, ma per noi hacker è un testo semplice. – Kaz

Problemi correlati