Gudinna Wiki VisaÄndraBifogaVersionerUppdateratSökKarta

Vad är ett program och vad är en programfil?

Ett program är en lista på instruktioner och enkla frågor som en dator kan utföra med hjälp av sin processor utan assistans av en människa.

I den mest enkla form lagras instruktionerna i datorns minne som ettor och nollor i grupper om 32st.

En processor som arbetar med grupper om 32 ettor och nollor i var grupp kallas en 32bit processor, ettorna och nollorna kallas bits. En bit kan vara antingen 1 eller 0.

Grupperna av ettor och nollor ligger i en kronologisk lista där varge listrad är en minnesadress med ett nummer som fungerar som adress för var gruppen i listan finns i datorns minne.
Datorns processorn arbetar systematiskt igenom listan, börjar först på adress noll och läser in alla 32st ettor och nollor som ligger i den grupp som finns på minnes adress noll.

Var grupp av 32 ettor och nollor motsvarar ett tal mellan 0 och 2^32 (flera miljoner) beroende på vilket tal gruppen motsvarar avgör vad processorn ska göra: Varje tal kallas en processor instruktion
Låt säga att vi har en processor som känner igen följande lista processor instruktioner (tal).
Tal 0 motsvarar att programmet är avslutat.
Tal 1 motsvarar att gå till nästa possition i listan utan att göra något annat.
Tal 2 motsvarar att processorn ska minnas talet på nästa minnespossition och sedan fortsätta på minnespossitionen som finns efter den possition den mindes.
Tal 3 motsvarar att processorn ska backa minnesspossition i programmet i så många steg som den mindes.

... listan med tal processorn känner igen är lång, en modern 32bit processor kan känna igen upp till 2^32st olika processor instruktioner men oftast används bara de första tusen olika kombinationerna av praktiska skäl, nya processorer brukar vara utrustade med fler uppsättningar tal som den känner igen som instruktioner.

På engelska kallas processorns instruktioner "Operation codes" och förkortas OP-Code, den försvenskade översättningen på förkortningen är i regel OP-Kod.

Under 80 talet var grupperna av ettor och nollor enbart 8st per grupp och antalet instruktioner under 256st vilket gjorde att programmerare kunde dom vanligaste instruktionerna i huvudet.

Äldre maskiner som styrs med hålkort är faktiskt en datorer där grupperna om ettor och nollor motsvaras av ett pappers hålkort. Vart kort är en minnesspossition. Maskinen arbetar igenom högen med hålkort ett kort i taget. Med hålkort fick programmeraren fysiskt skapa ettor och nollor genom att slå hål i blanka pappers kort, beroende på hur programmeraren satte hålen kan maskinen tolka hålkorten som olika instruktioner.

Vad är en programfil?

En programfil är en fil som innehåller alla grupper av ettor och nollor som utgör hela innehållet till den program lista som processorn ska utföra.

Det brukar även finnas ett nummer i början av filen som gör att datorns operativsystem känner igen så att operativsystemet vet att filen innehåller ett program. Vissa operativsystem som tex windows använder inte nummer i filen utan antar att filen är ett program om filens namn slutar på .com eller .exe . Om operativsystemet tror att filen är ett program så läser den in filen till datorns RAM minne, efter att programmet ligger i RAM minnet börjar processorn arbeta med programmet, en minnespossitions grupp i taget enligt metoden som beskrivs i vad är ett program.

En programfil kan även vara en textfil med instruktioner utskrivna i klartext filens filnamn avgör med vilket programm datorn ska mata in textfilen till och sedan låta ett befintligt program i datorn tolka vad meningarna i textfilen betyder. Dessa befintliga program kallas programmeringsspråks kompilatorer eller kommandotolkar.

I Windows finns en kommandotolk som heter command.com som gör att windows kan förstå .bat filer som är startbara program. Om en textfils namn slutar på .bat så skickar windows filen till kommandotoks programmet command.com cmd.com i nyare windows versioner. Kommandotolken tittar i textfilen och utför vad som står per rad i filen.


Länkar

http://www.hig.se/~jae/Datorsystem/f6.PDF - Programmeringsspråk och
systemering.

Referens till aktuell sida


Frivillig gåva till stöd för driften av Gudinna Wiki :