SlideShare a Scribd company logo
1 of 126
Så funkar det... Teknik i Media BITS Peter Antman 2004
Vem är jag? ,[object Object]
Teknik i Media BITS
Chief Systems Architect
Utvecklat internetapplikationer sedan '95
Jobbat bl.a med Hemnet, DN.Bostad, DN.jobb, direkt.sydsvenskan.se
Vad går det här ut på? Vad betyder alla dessa ord som IT-folk älskar att slänga sig med? Namngivning: ett sätt att tämja komplexitet.
Vad går det här ut på? ,[object Object]
Akronymer, tre (eller flerställiga) förkortningar: TCP,HTML,FTP, beskriver ofta saker med ord.
Unikt IT-mässiga ord. Finns några sådana.
Vad går det här ut på? Här skall vi sätta dessa i ett sammanhang. Både överblick (hur hänger ritningen ihop) ..och inblick (varför hänger den ihop som den gör).
Vad går det här ut på? Så funkar det... att börja med det vardagliga och kända och ta sig till det okända som är förutsättningen för att det kända funkar. Låt oss börja med något väldigt bekant (som ändå under huven är tämligen komplext).
Så funkar det...att ordbehandla? Den här bilden känner alla igen.
Så funkar det...att ordbehandla?
Så funkar det...att ordbehandla? Men vad är förutsättningen för att allt detta skall funka? En dator, tänker ni förstås. Och det är ju helt rätt
Så funkar det...att ordbehandla? ,[object Object]
varför funkar den?
Så funkar det...att ordbehandla? Det här blir så lätt abstrakt.
Så funkar det...att ordbehandla? I just själva arbetet med ordbehandlingen har man normal inte ens någon direkt relation med just datorn.  För hur gör man egentligen när man "ordbehandlar". Vi har de fysiska, påtagliga sakerna.
Så funkar det...att ordbehandla?
Så funkar det...att ordbehandla? ,[object Object]
Skriver på tangenbordet
Rör på/navigerar med musen.
Så funkar det...att ordbehandla? Och så det vi inte kan ta på: Själva ordbehandlingsprogrammet.
Så funkar det...att ordbehandla? Och här kommer en av de mest grundläggande termerna (och synsätten inom IT): gränssnitt
Så funkar det...att ordbehandla? Gränssnitt ,[object Object]
Jmf eng. interface: inter - mellan - face - ansikte.
Gränsen där ett möte sker.
Så funkar det...att ordbehandla? Gränssnitt It, datorer, programmvara, kommunikation. Allt detta är oyggligt komplext.
Så funkar det...att ordbehandla? Gränssnitt ,[object Object]
En gräns som bara ger tillgång till ett snitt av allt det som finns under och bortom det man gör.
Som är förutsättningen för det man gör, men som man inte behöver känna till för att utföra det.
Så funkar det...att ordbehandla?
Så funkar det...att ordbehandla? Vi jobbar således med det fysiska gränssnittet i form av  ,[object Object]
tangentbord
mus
Så funkar det...att ordbehandla? Och med det icke fysiska i form av  ,[object Object]
Så funkar det...att ordbehandla? Men dessa snitt är ju vägen in till något bakom. Vad ligger där? Här kommer vi till ett annat fundamentalt begrepp:  Lager
Så funkar det...att ordbehandla? Lager Bakom det synlig, bakom det vi använder för att få något utfört, ligger något annat, ett annat lager.
Så funkar det...att ordbehandla? Lager GUI Skärm Dator
Så funkar det...att ordbehandla? Vi jobbar fortfarande med abstraktioner.
Så funkar det...att ordbehandla? Mellan varje lager finns ett gränssnitt.
Så funkar det...att ordbehandla? På samma sätt som vi måste hamra på tangenterna för att föra in text i vårt ordbehandlingdokument, måste tangentbordet ha någon form av anslutning till datorn: ett tangentbordsuttag.
Så funkar det...att ordbehandla? Men det räcker inte med att bara ha ett uttag.Och här kommer vårt tredje fundamentala begrepp: för att kommunicera genom/via gränssnittet måste vi också ha ett  protokoll
Så funkar det...att ordbehandla? Protokoll Räcker att förstå vardagsbetydelsen.
Så funkar det...att ordbehandla? Protokoll Betyder normal två saker i svenskan: ,[object Object]
Avdelning inom utrikesdepartementet.
Så funkar det...att ordbehandla? Protokoll Utrikesdepartementet: en protokollsavdelning håller reda på: ,[object Object],Det är precis vad protokoll i IT:världen också gör.
Så funkar det...att ordbehandla? Protokoll konventioner för hur man umgås/kommunicerar.
Så funkar det...att ordbehandla? Mellan oss och ordbehandlingsprogrammet finns ett sorts protokoll: ,[object Object],Detta är en konvention som vi tar för given: men kan också kallas för ett protokoll. Det är ett sätt för oss att umgås med/interagera med ordbehandlings-programmet.
Så funkar det...att ordbehandla? Några typiska fysiska gränssnitt: ,[object Object]
serieport för t.ex modem
parallellport för skrivare
SCSII eller IDE för hårddiskar, CD.spelare eller skanners.
Nätverksport
mm.
Så funkar det...att ordbehandla? Överkurs ,[object Object]
GUI
Device
Så funkar det...att ordbehandla? Om de fysiska delarna är vårt gränssnitt för att förmedla något till datorn (och för den att förmedla något till oss), så är det vi ser på skärmen också ett gränssnitt, men för att interagera med det program som gör det möjligt för oss att skriva ett dokument). Går vi således vidare ner i lagren hittar vi en fysisk dator och ett ickefysiskt program.
Så funkar det...att ordbehandla? Skärm Dator Gränssnitt Protokoll
Så funkar det...att ordbehandla Låt oss börja med datorn. Vad är egentligen en dator?
Så funkar det...att ordbehandla En dator är en programmerbar räknemaskin.
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla En dator hanteras således i grunden enbart siffror.
Så funkar det...att ordbehandla Sent 30-tal, tidigt 40-tal kom man på att inte bara tal kunde representeras med siffror, också instruktioner för vad man ville göra med siffrorna (programmering) kunde representeras som siffror.
Så funkar det...att ordbehandla Alltså: både den data man skulle bearbeta och de instruktioner för hur data skulle bearbetas kunde utryckas som siffror.
Så funkar det...att ordbehandla ,[object Object]
Comput(e)(beräkna)or
Så funkar det...att ordbehandla Men hur skall siffrorna hanteras, lagras? Hur representera talet 10 t.ex? Bland den enklaste form vi kan tänka oss i vardagen för att beskriva tillstånd är  ,[object Object]
svart/vitt
gott/ont. Redan med mekanik (reläer) är detta lätt att realisera.
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla Binärt 1679 beskrev matematikeren Gottfried Wilhelm von Leibniz hur det är möjligt att representera alla tal med bara symbolerna 0 och 1 (av och på)
Så funkar det...att ordbehandla Enkelt går det ut på detta:  Låt något vara av eller på (0 eller 1).  Varje sådan "sak" kan representera två tillstånd. 0=0 1=1
Så funkar det...att ordbehandla För varje "sak" man lägger till ökar antalet tillstånd som kan representeras.  Låt två saker vara av eller på 2x2: 00=0 01=1 10=2 11=3
Så funkar det...att ordbehandla Redan när man har 8 saker som kan vara av eller på kan man representera 256 olika tillstånd!
Så funkar det...att ordbehandla Det stora genombrottet kom förstås när man kom på en liten elektriskt påverkbar sak som kunde funka som tågväxeln:  transistorn
Så funkar det...att ordbehandla Transistorn
Så funkar det...att ordbehandla Analogt blir digitalt
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla Därmed var det som fortfarande utgör grunden i den moderna datorn på plats: ,[object Object]
Instruktioner om vad den skall göra kanuttryckas som siffror.
Alla siffror kan utryckas med hjälp av tillstånden på/av.
Man kan packa massor av sådana tillståndsmojänger på ett litet kort (transistorer på en integrerad krets).
Så funkar det...att ordbehandla Allt vi gör med datorn i grunden består av siffror. ,[object Object]
Det dokument vi skriver består av siffror.
Så funkar det...att ordbehandla Tillbaka till datorn.
Så funkar det...att ordbehandla För att kunna ordbehandla måste vi börja med att slå på vår dator. Vi startar denna "svarta låda" (som iofs oftast är grå).  Men vad finns innanför?
Så funkar det...att ordbehandla ,[object Object]
Hårddisk för persistent lagring, eller CD, DVD och dyligt. ,[object Object],[object Object]
Så funkar det...att ordbehandla De tre grundpelarna ,[object Object]
Skicka
Lagra
Så funkar det...att ordbehandla Överkurs ,[object Object]
Driver
Filsystem
Så funkar det...att ordbehandla Men med bara dessa saker är datorn inte särskilt användbar.  Den kan ju inte göra något av sig själva. Den måste ha instruktioner vad den skall göra.
Så funkar det...att ordbehandla Vad är ett program?
Så funkar det...att ordbehandla Programvara De instruktioner (uttryckt i siffror) som måste till för att datorn alls skall utföra någoning.  Utan det skulle den bara vara ett surrande skal (fläkt!).
Så funkar det...att ordbehandla Mjukvara kontra hårvara.
Så funkar det...att ordbehandla Programvara är således något som människor tänkt ut och som instruerar datorn vad den skall göra.
Så funkar det...att ordbehandla När vi startar datorn måste den utföra något som nästan är magiskt: Den måste starta en programvara utan att använda en programmvara!
Så funkar det...att ordbehandla Hur det där går till är djupt och jobbigt, men de flesta kanske har hört talas om  BIOS (Basic Input/Output System). Det är en lite inbyggd programvara som ser till att koppla ihop datorns olika delar och att starta nästa viktiga programvara:
Så funkar det...att ordbehandla Operativsystemet
Så funkar det...att ordbehandla Tjänaren Gränssnittet mellan program och fysisk dator
Så funkar det...att ordbehandla Program
Så funkar det...att ordbehandla Samtidigt har man inte särskilt stor nytta av operativsystemet allena. En massa saker vi vill göra i vår värld sköts i själva verket av separata program.  ,[object Object]
vi måste kunne hitta i filsystemet,
vi behöver kunna läsa det vi finner i filsystemen.
Så funkar det...att ordbehandla Låt oss försöka närma oss vår ordbehandling igen.
Så funkar det...att ordbehandla Vi måste först starta vårt ordbehandlingsprogram.
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla ,[object Object]
Hur är det skapat?
Har någon suttit och fyllt i siffra efter siffra för att skapa det?
Så funkar det...att ordbehandla
Så funkar det...att ordbehandla Redan tidigt i datorernas historia insåg man att människor inte är gjorda för att tänka i ettor och nollor.  Det går att skriva små och enkla saker i sk ren maskinkod, men snabbt blir det alltför komplext.
Så funkar det...att ordbehandla Högnivåspråk ,[object Object]
Fortran
C
C++

More Related Content

Similar to Så funkar det (del 1) - word

Så funkar det (del 3) - webben
Så funkar det (del 3) -  webbenSå funkar det (del 3) -  webben
Så funkar det (del 3) - webbenPeter Antman
 
Code Week: Varför alla kids borde vilja vara geeks
Code Week: Varför alla kids borde vilja vara geeks Code Week: Varför alla kids borde vilja vara geeks
Code Week: Varför alla kids borde vilja vara geeks Sara Öhrvall
 
UX - Konsten att se människan
UX - Konsten att se människanUX - Konsten att se människan
UX - Konsten att se människanPer Axbom
 
Camps1 dag1 pres2_Intro_Om_Programmering_o_Kod
Camps1 dag1 pres2_Intro_Om_Programmering_o_KodCamps1 dag1 pres2_Intro_Om_Programmering_o_Kod
Camps1 dag1 pres2_Intro_Om_Programmering_o_KodLisaKodcentrum
 
Nordens Bästa Intranät 2015, Hedersomnämnande - Vasakronan
Nordens Bästa Intranät 2015, Hedersomnämnande - VasakronanNordens Bästa Intranät 2015, Hedersomnämnande - Vasakronan
Nordens Bästa Intranät 2015, Hedersomnämnande - VasakronanCarl-Johan Engberg
 
HT16 - DA354A - Introduktion till programmering (Python)
HT16 - DA354A - Introduktion till programmering (Python)HT16 - DA354A - Introduktion till programmering (Python)
HT16 - DA354A - Introduktion till programmering (Python)Anton Tibblin
 
HT15, DA354A - Introduktion till Python
HT15, DA354A - Introduktion till PythonHT15, DA354A - Introduktion till Python
HT15, DA354A - Introduktion till PythonAnton Tibblin
 
Skriva för webben
Skriva för webbenSkriva för webben
Skriva för webbenPer Axbom
 

Similar to Så funkar det (del 1) - word (8)

Så funkar det (del 3) - webben
Så funkar det (del 3) -  webbenSå funkar det (del 3) -  webben
Så funkar det (del 3) - webben
 
Code Week: Varför alla kids borde vilja vara geeks
Code Week: Varför alla kids borde vilja vara geeks Code Week: Varför alla kids borde vilja vara geeks
Code Week: Varför alla kids borde vilja vara geeks
 
UX - Konsten att se människan
UX - Konsten att se människanUX - Konsten att se människan
UX - Konsten att se människan
 
Camps1 dag1 pres2_Intro_Om_Programmering_o_Kod
Camps1 dag1 pres2_Intro_Om_Programmering_o_KodCamps1 dag1 pres2_Intro_Om_Programmering_o_Kod
Camps1 dag1 pres2_Intro_Om_Programmering_o_Kod
 
Nordens Bästa Intranät 2015, Hedersomnämnande - Vasakronan
Nordens Bästa Intranät 2015, Hedersomnämnande - VasakronanNordens Bästa Intranät 2015, Hedersomnämnande - Vasakronan
Nordens Bästa Intranät 2015, Hedersomnämnande - Vasakronan
 
HT16 - DA354A - Introduktion till programmering (Python)
HT16 - DA354A - Introduktion till programmering (Python)HT16 - DA354A - Introduktion till programmering (Python)
HT16 - DA354A - Introduktion till programmering (Python)
 
HT15, DA354A - Introduktion till Python
HT15, DA354A - Introduktion till PythonHT15, DA354A - Introduktion till Python
HT15, DA354A - Introduktion till Python
 
Skriva för webben
Skriva för webbenSkriva för webben
Skriva för webben
 

More from Peter Antman

Core Protocols - A workshop
Core Protocols - A workshopCore Protocols - A workshop
Core Protocols - A workshopPeter Antman
 
Growing up with agile - how the Spotify 'model' has evolved
Growing up with agile - how the Spotify 'model' has evolved Growing up with agile - how the Spotify 'model' has evolved
Growing up with agile - how the Spotify 'model' has evolved Peter Antman
 
Fluent at agile - agile sverige 2014
Fluent at agile - agile sverige 2014Fluent at agile - agile sverige 2014
Fluent at agile - agile sverige 2014Peter Antman
 
Pirateship - growing a great crew: workshop facilitation guide
Pirateship - growing a great crew: workshop facilitation guidePirateship - growing a great crew: workshop facilitation guide
Pirateship - growing a great crew: workshop facilitation guidePeter Antman
 
Facilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exerciseFacilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exercisePeter Antman
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
Lean Canvas - a hypotheses board
Lean Canvas - a hypotheses boardLean Canvas - a hypotheses board
Lean Canvas - a hypotheses boardPeter Antman
 
Strong decisions with consensus, Agila Sverige 2014
Strong decisions with consensus, Agila Sverige 2014Strong decisions with consensus, Agila Sverige 2014
Strong decisions with consensus, Agila Sverige 2014Peter Antman
 
Stop the line @spotify
Stop the line @spotifyStop the line @spotify
Stop the line @spotifyPeter Antman
 
Tear Down the Pyramid Again - Agile Management from the trenches
Tear Down the Pyramid Again - Agile Management from the trenchesTear Down the Pyramid Again - Agile Management from the trenches
Tear Down the Pyramid Again - Agile Management from the trenchesPeter Antman
 
The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)Peter Antman
 
Java 1.5 - whats new and modern patterns (2007)
Java 1.5 - whats new and modern patterns (2007)Java 1.5 - whats new and modern patterns (2007)
Java 1.5 - whats new and modern patterns (2007)Peter Antman
 
Java Server Faces 1.2 presented (2007)
Java Server Faces 1.2 presented (2007)Java Server Faces 1.2 presented (2007)
Java Server Faces 1.2 presented (2007)Peter Antman
 
EJB 3.0 Walkthrough (2006)
EJB 3.0 Walkthrough (2006)EJB 3.0 Walkthrough (2006)
EJB 3.0 Walkthrough (2006)Peter Antman
 
eXtreme Programming
eXtreme Programming eXtreme Programming
eXtreme Programming Peter Antman
 
SCRUM at Polopoly - or building a lean culture
SCRUM at Polopoly - or building a lean cultureSCRUM at Polopoly - or building a lean culture
SCRUM at Polopoly - or building a lean culturePeter Antman
 
Threads and concurrency in Java 1.5
Threads and concurrency in Java 1.5Threads and concurrency in Java 1.5
Threads and concurrency in Java 1.5Peter Antman
 
Lägg ner utvecklingssamtalen!
Lägg ner utvecklingssamtalen!Lägg ner utvecklingssamtalen!
Lägg ner utvecklingssamtalen!Peter Antman
 

More from Peter Antman (20)

Core Protocols - A workshop
Core Protocols - A workshopCore Protocols - A workshop
Core Protocols - A workshop
 
Growing up with agile - how the Spotify 'model' has evolved
Growing up with agile - how the Spotify 'model' has evolved Growing up with agile - how the Spotify 'model' has evolved
Growing up with agile - how the Spotify 'model' has evolved
 
Fluent at agile - agile sverige 2014
Fluent at agile - agile sverige 2014Fluent at agile - agile sverige 2014
Fluent at agile - agile sverige 2014
 
Pirateship - growing a great crew: workshop facilitation guide
Pirateship - growing a great crew: workshop facilitation guidePirateship - growing a great crew: workshop facilitation guide
Pirateship - growing a great crew: workshop facilitation guide
 
Facilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exerciseFacilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exercise
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
Lean Canvas - a hypotheses board
Lean Canvas - a hypotheses boardLean Canvas - a hypotheses board
Lean Canvas - a hypotheses board
 
Strong decisions with consensus, Agila Sverige 2014
Strong decisions with consensus, Agila Sverige 2014Strong decisions with consensus, Agila Sverige 2014
Strong decisions with consensus, Agila Sverige 2014
 
Lean Dot Game
Lean Dot Game Lean Dot Game
Lean Dot Game
 
Stop the line @spotify
Stop the line @spotifyStop the line @spotify
Stop the line @spotify
 
Tear Down the Pyramid Again - Agile Management from the trenches
Tear Down the Pyramid Again - Agile Management from the trenchesTear Down the Pyramid Again - Agile Management from the trenches
Tear Down the Pyramid Again - Agile Management from the trenches
 
Piemonte vin
Piemonte vinPiemonte vin
Piemonte vin
 
The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)
 
Java 1.5 - whats new and modern patterns (2007)
Java 1.5 - whats new and modern patterns (2007)Java 1.5 - whats new and modern patterns (2007)
Java 1.5 - whats new and modern patterns (2007)
 
Java Server Faces 1.2 presented (2007)
Java Server Faces 1.2 presented (2007)Java Server Faces 1.2 presented (2007)
Java Server Faces 1.2 presented (2007)
 
EJB 3.0 Walkthrough (2006)
EJB 3.0 Walkthrough (2006)EJB 3.0 Walkthrough (2006)
EJB 3.0 Walkthrough (2006)
 
eXtreme Programming
eXtreme Programming eXtreme Programming
eXtreme Programming
 
SCRUM at Polopoly - or building a lean culture
SCRUM at Polopoly - or building a lean cultureSCRUM at Polopoly - or building a lean culture
SCRUM at Polopoly - or building a lean culture
 
Threads and concurrency in Java 1.5
Threads and concurrency in Java 1.5Threads and concurrency in Java 1.5
Threads and concurrency in Java 1.5
 
Lägg ner utvecklingssamtalen!
Lägg ner utvecklingssamtalen!Lägg ner utvecklingssamtalen!
Lägg ner utvecklingssamtalen!
 

Så funkar det (del 1) - word

  • 1. Så funkar det... Teknik i Media BITS Peter Antman 2004
  • 2.
  • 6. Jobbat bl.a med Hemnet, DN.Bostad, DN.jobb, direkt.sydsvenskan.se
  • 7. Vad går det här ut på? Vad betyder alla dessa ord som IT-folk älskar att slänga sig med? Namngivning: ett sätt att tämja komplexitet.
  • 8.
  • 9. Akronymer, tre (eller flerställiga) förkortningar: TCP,HTML,FTP, beskriver ofta saker med ord.
  • 10. Unikt IT-mässiga ord. Finns några sådana.
  • 11. Vad går det här ut på? Här skall vi sätta dessa i ett sammanhang. Både överblick (hur hänger ritningen ihop) ..och inblick (varför hänger den ihop som den gör).
  • 12. Vad går det här ut på? Så funkar det... att börja med det vardagliga och kända och ta sig till det okända som är förutsättningen för att det kända funkar. Låt oss börja med något väldigt bekant (som ändå under huven är tämligen komplext).
  • 13. Så funkar det...att ordbehandla? Den här bilden känner alla igen.
  • 14. Så funkar det...att ordbehandla?
  • 15. Så funkar det...att ordbehandla? Men vad är förutsättningen för att allt detta skall funka? En dator, tänker ni förstås. Och det är ju helt rätt
  • 16.
  • 18. Så funkar det...att ordbehandla? Det här blir så lätt abstrakt.
  • 19. Så funkar det...att ordbehandla? I just själva arbetet med ordbehandlingen har man normal inte ens någon direkt relation med just datorn. För hur gör man egentligen när man "ordbehandlar". Vi har de fysiska, påtagliga sakerna.
  • 20. Så funkar det...att ordbehandla?
  • 21.
  • 24. Så funkar det...att ordbehandla? Och så det vi inte kan ta på: Själva ordbehandlingsprogrammet.
  • 25. Så funkar det...att ordbehandla? Och här kommer en av de mest grundläggande termerna (och synsätten inom IT): gränssnitt
  • 26.
  • 27. Jmf eng. interface: inter - mellan - face - ansikte.
  • 28. Gränsen där ett möte sker.
  • 29. Så funkar det...att ordbehandla? Gränssnitt It, datorer, programmvara, kommunikation. Allt detta är oyggligt komplext.
  • 30.
  • 31. En gräns som bara ger tillgång till ett snitt av allt det som finns under och bortom det man gör.
  • 32. Som är förutsättningen för det man gör, men som man inte behöver känna till för att utföra det.
  • 33. Så funkar det...att ordbehandla?
  • 34.
  • 36. mus
  • 37.
  • 38. Så funkar det...att ordbehandla? Men dessa snitt är ju vägen in till något bakom. Vad ligger där? Här kommer vi till ett annat fundamentalt begrepp: Lager
  • 39. Så funkar det...att ordbehandla? Lager Bakom det synlig, bakom det vi använder för att få något utfört, ligger något annat, ett annat lager.
  • 40. Så funkar det...att ordbehandla? Lager GUI Skärm Dator
  • 41. Så funkar det...att ordbehandla? Vi jobbar fortfarande med abstraktioner.
  • 42. Så funkar det...att ordbehandla? Mellan varje lager finns ett gränssnitt.
  • 43. Så funkar det...att ordbehandla? På samma sätt som vi måste hamra på tangenterna för att föra in text i vårt ordbehandlingdokument, måste tangentbordet ha någon form av anslutning till datorn: ett tangentbordsuttag.
  • 44. Så funkar det...att ordbehandla? Men det räcker inte med att bara ha ett uttag.Och här kommer vårt tredje fundamentala begrepp: för att kommunicera genom/via gränssnittet måste vi också ha ett protokoll
  • 45. Så funkar det...att ordbehandla? Protokoll Räcker att förstå vardagsbetydelsen.
  • 46.
  • 48.
  • 49. Så funkar det...att ordbehandla? Protokoll konventioner för hur man umgås/kommunicerar.
  • 50.
  • 51.
  • 54. SCSII eller IDE för hårddiskar, CD.spelare eller skanners.
  • 56. mm.
  • 57.
  • 58. GUI
  • 60. Så funkar det...att ordbehandla? Om de fysiska delarna är vårt gränssnitt för att förmedla något till datorn (och för den att förmedla något till oss), så är det vi ser på skärmen också ett gränssnitt, men för att interagera med det program som gör det möjligt för oss att skriva ett dokument). Går vi således vidare ner i lagren hittar vi en fysisk dator och ett ickefysiskt program.
  • 61. Så funkar det...att ordbehandla? Skärm Dator Gränssnitt Protokoll
  • 62. Så funkar det...att ordbehandla Låt oss börja med datorn. Vad är egentligen en dator?
  • 63. Så funkar det...att ordbehandla En dator är en programmerbar räknemaskin.
  • 64. Så funkar det...att ordbehandla
  • 65. Så funkar det...att ordbehandla
  • 66. Så funkar det...att ordbehandla
  • 67. Så funkar det...att ordbehandla
  • 68. Så funkar det...att ordbehandla
  • 69. Så funkar det...att ordbehandla En dator hanteras således i grunden enbart siffror.
  • 70. Så funkar det...att ordbehandla Sent 30-tal, tidigt 40-tal kom man på att inte bara tal kunde representeras med siffror, också instruktioner för vad man ville göra med siffrorna (programmering) kunde representeras som siffror.
  • 71. Så funkar det...att ordbehandla Alltså: både den data man skulle bearbeta och de instruktioner för hur data skulle bearbetas kunde utryckas som siffror.
  • 72.
  • 74.
  • 76. gott/ont. Redan med mekanik (reläer) är detta lätt att realisera.
  • 77. Så funkar det...att ordbehandla
  • 78. Så funkar det...att ordbehandla Binärt 1679 beskrev matematikeren Gottfried Wilhelm von Leibniz hur det är möjligt att representera alla tal med bara symbolerna 0 och 1 (av och på)
  • 79. Så funkar det...att ordbehandla Enkelt går det ut på detta: Låt något vara av eller på (0 eller 1). Varje sådan "sak" kan representera två tillstånd. 0=0 1=1
  • 80. Så funkar det...att ordbehandla För varje "sak" man lägger till ökar antalet tillstånd som kan representeras. Låt två saker vara av eller på 2x2: 00=0 01=1 10=2 11=3
  • 81. Så funkar det...att ordbehandla Redan när man har 8 saker som kan vara av eller på kan man representera 256 olika tillstånd!
  • 82. Så funkar det...att ordbehandla Det stora genombrottet kom förstås när man kom på en liten elektriskt påverkbar sak som kunde funka som tågväxeln: transistorn
  • 83. Så funkar det...att ordbehandla Transistorn
  • 84. Så funkar det...att ordbehandla Analogt blir digitalt
  • 85. Så funkar det...att ordbehandla
  • 86.
  • 87. Instruktioner om vad den skall göra kanuttryckas som siffror.
  • 88. Alla siffror kan utryckas med hjälp av tillstånden på/av.
  • 89. Man kan packa massor av sådana tillståndsmojänger på ett litet kort (transistorer på en integrerad krets).
  • 90.
  • 91. Det dokument vi skriver består av siffror.
  • 92. Så funkar det...att ordbehandla Tillbaka till datorn.
  • 93. Så funkar det...att ordbehandla För att kunna ordbehandla måste vi börja med att slå på vår dator. Vi startar denna "svarta låda" (som iofs oftast är grå). Men vad finns innanför?
  • 94.
  • 95.
  • 96.
  • 98. Lagra
  • 99.
  • 100. Driver
  • 102. Så funkar det...att ordbehandla Men med bara dessa saker är datorn inte särskilt användbar. Den kan ju inte göra något av sig själva. Den måste ha instruktioner vad den skall göra.
  • 103. Så funkar det...att ordbehandla Vad är ett program?
  • 104. Så funkar det...att ordbehandla Programvara De instruktioner (uttryckt i siffror) som måste till för att datorn alls skall utföra någoning. Utan det skulle den bara vara ett surrande skal (fläkt!).
  • 105. Så funkar det...att ordbehandla Mjukvara kontra hårvara.
  • 106. Så funkar det...att ordbehandla Programvara är således något som människor tänkt ut och som instruerar datorn vad den skall göra.
  • 107. Så funkar det...att ordbehandla När vi startar datorn måste den utföra något som nästan är magiskt: Den måste starta en programvara utan att använda en programmvara!
  • 108. Så funkar det...att ordbehandla Hur det där går till är djupt och jobbigt, men de flesta kanske har hört talas om BIOS (Basic Input/Output System). Det är en lite inbyggd programvara som ser till att koppla ihop datorns olika delar och att starta nästa viktiga programvara:
  • 109. Så funkar det...att ordbehandla Operativsystemet
  • 110. Så funkar det...att ordbehandla Tjänaren Gränssnittet mellan program och fysisk dator
  • 111. Så funkar det...att ordbehandla Program
  • 112.
  • 113. vi måste kunne hitta i filsystemet,
  • 114. vi behöver kunna läsa det vi finner i filsystemen.
  • 115. Så funkar det...att ordbehandla Låt oss försöka närma oss vår ordbehandling igen.
  • 116. Så funkar det...att ordbehandla Vi måste först starta vårt ordbehandlingsprogram.
  • 117. Så funkar det...att ordbehandla
  • 118.
  • 119. Hur är det skapat?
  • 120. Har någon suttit och fyllt i siffra efter siffra för att skapa det?
  • 121. Så funkar det...att ordbehandla
  • 122. Så funkar det...att ordbehandla Redan tidigt i datorernas historia insåg man att människor inte är gjorda för att tänka i ettor och nollor. Det går att skriva små och enkla saker i sk ren maskinkod, men snabbt blir det alltför komplext.
  • 123.
  • 125. C
  • 126. C++
  • 127. Java
  • 129. Så funkar det...att ordbehandla Hårdingarna har ALLTID tyckt att de nyaste högnivåspråket är för veklingar.
  • 130. Så funkar det...att ordbehandla Från Linux bootningsdel bootsect: go: movw $0x4000-12, %di # 0x4000 is an arbitrary value >= # length of bootsect + length of # setup + room for stack; # 12 is disk parm size. movw %ax, %ds # %ax and %es already containINITSEG movw %ax, %ss movw %di, %sp # put stack at INITSEG:0x4000-12.
  • 131. Så funkar det...att ordbehandla Den ordbehandlare vi använder här är skriven i språket C++
  • 132. Så funkar det...att ordbehandla if( pACEWord ) delete pACEWord; // die BaseLinks freigeben. { for( USHORT n = pLinkMgr->GetServers().Count(); n; ) pLinkMgr->GetServers()[ --n ]->Closed(); if( pLinkMgr->GetLinks().Count() ) pLinkMgr->Remove( 0, pLinkMgr->GetLinks().Count() ); } // die KapitelNummern / Nummern muessen vor den Vorlage geloescht werden // ansonsten wird noch staendig geupdatet !!! aNodes.pOutlineNds->Remove( USHORT(0), aNodes.pOutlineNds->Count() ); aUndoNodes.pOutlineNds->Remove( USHORT(0), aUndoNodes.pOutlineNds->Count() ); pFtnIdxs->Remove( USHORT(0), pFtnIdxs->Count() ); pUndos->DeleteAndDestroy( 0, pUndos->Count() ); //Es koennen in den Attributen noch
  • 133. Så funkar det...att ordbehandla Så här kan en snutt Java se ut: HTTPConnection connection = new HTTPConnection(host, port); connection.setTimeout(timeOut); URI uri = new URI( HTTPProtocolHandlerFactory.PROTOCOL, host, port, url); HTTPResponse response = connection.Get(uri.getPath()); String data = new String( response.getData() ); System.out.println("Data: " + data);
  • 134. Så funkar det...att ordbehandla Någon har med andra ord använt ett specialiserat språk för att skapa det progrom vi använder: Källkod
  • 135. Så funkar det...att ordbehandla Måste omvandlas till något datorn förstår: Kompilera
  • 136. Så funkar det...att ordbehandla Vi får då en Binär
  • 137. Så funkar det...att ordbehandla När vi vill använda vårt program måste vi be operativsystemet att starta det åt oss. I sig själv är programmet bara en passiv ansamling av instruktioner och data. För att göra det måste det skapa en Process
  • 138. Så funkar det...att ordbehandla Process Från början batch, seriell, en i taget.
  • 139. Så funkar det...att ordbehandla
  • 140. Så funkar det...att ordbehandla Tidsdelning (Timesharing, multistasking) En processor kan bara göra en sak åt gången. Delar man upp allt som skall göras i små delar kan man låta olika processer få sin del av kakan.
  • 141. Så funkar det...att ordbehandla
  • 142.
  • 143. Tråd
  • 145. Så funkar det...att ordbehandla Vad är ett dokument?
  • 146. Så funkar det...att ordbehandla Vårt ordbehandlingsprogram är nu igång. Vi skriver in vårt text. Bearbetar den. Sparar den. Vad händer då?
  • 147. Så funkar det...att ordbehandla Det vi ser på skärmen är ju inte alls det som finns under. Allt är ju siffror. Hur omvandlas bokstäver till siffror?
  • 148. Så funkar det...att ordbehandla Här har länge rått anarki. Teckenuppsättning: låta ett visst tal motsvara en siffra. En teckenkod är en standard för hur en teckenuppsättning skall representeras som siffervärden av en dator.
  • 149. Så funkar det...att ordbehandla A 65 01000001
  • 150. Så funkar det...att ordbehandla Detta är bara en konvention, det har funnits och finns massor av teckenuppsättningar, för IBM, Mac, unix mm. - ASCII (American Standard Code for Information Interchange). - Amerikansk, 7bitar, 2^7=128
  • 151. Så funkar det...att ordbehandla 32 48 0 64 @ 80 P 96 ` 112 p 33 ! 49 1 65 A 81 Q 97 a 113 q 34 &quot; 50 2 66 B 82 R 98 b 114 r 35 # 51 3 67 C 83 S 99 c 115 s 36 $ 52 4 68 D 84 T 100 d 116 t 37 % 53 5 69 E 85 U 101 e 117 u 38 & 54 6 70 F 86 V 102 f 118 v 39 ' 55 7 71 G 87 W 103 g 119 w 40 ( 56 8 72 H 88 X 104 h 120 x 41 ) 57 9 73 I 89 Y 105 i 121 y 42 * 58 : 74 J 90 Z 106 j 122 z 43 + 59 ; 75 K 91 [ 107 k 123 { 44 , 60 < 76 L 92 108 l 124 | 45 - 61 = 77 M 93 ] 109 m 125 } 46 . 62 > 78 N 94 ^ 110 n 126 ~ 47 / 63 ? 79 O 95 _ 111 o
  • 152. Så funkar det...att ordbehandla Passar inte så bra i dagens intenationella värld. Vi kan inte ens få in å ä ö. ISO 8859-1, 8 bitar 2^8=256
  • 153. Så funkar det...att ordbehandla
  • 154.
  • 156. Skall nu vara ISO 8859-15 (med eurotecken).
  • 157.
  • 158. egna utökningar i strid med ISO-standarden, vilket skapar en inlåsningseffekt.
  • 159.
  • 160. teckenkod om 21 bitar per tecken. De tecken som ryms inom de första 16 bitarna utgör större delen av världens vanliga skrivtecken, inklusive de somanvänds i kinesiska, japanska och även vissa utdöda skrivsätt som runor.
  • 161. Så funkar det...att ordbehandla UTF-8 och UTF-16 är de två vanligaste sätten att representera Unicodetecken som bitsekvenser. Båda kännetecknas av att antalet oktetter (8 informationsbitar) som representerar ett tecken varierar beroende på vilket tecken som kodas. (Unicode Transformation Format)
  • 162. Så funkar det...att ordbehandla Men ordbehandling består ju inte enbart av bokstäver. WSIWYG: layout, stilar, fonter. mm.
  • 163. Så funkar det...att ordbehandla För att lagra detta krävs något sätt att koppla all denna information till texten: Dokumentformat
  • 164.
  • 165. RTF: uttryckt som text (struktur).
  • 166. XML: open office. Läsbart också för en människa.
  • 167. Så funkar det...att ordbehandla <text:p text:style-name=&quot;P2&quot;>Sydsvenska Dagbladets AB</text:p> <text:p text:style-name=&quot;P3&quot;> <text:span text:style-name=&quot;T1&quot;>Att: Mikael Pankko</text:span> <text:span text:style-name=&quot;T2&quot;><text:line-break/>Krusegatan 19</text:span> </text:p> <text:p text:style-name=&quot;P2&quot;>205 05 Malmö</text:p>
  • 168. Så funkar det...att ordbehandla När vi sparar dokumentet lagras det i digital (siffror) form på vår hårddisk.
  • 169. Så funkar det...att ordbehandla Utvecklingen av processorer, minne och lagring.
  • 170.
  • 171. Mer data per utrymme (magnetiskt, optiskt media)
  • 172. Så funkar det...att ordbehandla Moores lag denna förmåga fördubblas var 18 månad
  • 173. Så funkar det...att ordbehandla
  • 174. Så funkar det...att ordbehandla Det som idag står på våra skrivbord i sovrummet, var man för 20 år sedan tvungen att vara mångmiljonär för att kunna skaffa.
  • 175. Så funkar det...att ordbehandla 1 100 10000 1000000 1970 1980 1990 2000 $/MB of DRAM
  • 176. Så funkar det...att ordbehandla Mina datorer
  • 177. Så funkar det...att ordbehandla Datorer överallt
  • 178.  
  • 179.  

Editor's Notes

  1. Beskriv hur man jobbar med dokumentet, men utan att använda annat än de kända programmetaforerna: skriva, ändra stil, ny paragrag, font...
  2. Vi använder ett.
  3. Isberg: toppen är gränssnittet för att se att där finns ett isberg.
  4. DT: grafiskt användargränssnitt, vilket utnyttjar symboler i stället för text; Apple Macintosh och Microsoft Windows utgör kända exempel på grafiska a.
  5. Vilken tror ni begreppet protokoll är hämtat ifrån?
  6. Ett tangentbord har dock ett eget protokoll för att kommunicera med datorn. Vi behöver inte känna till hur det fungerar för att skriva vårt dokument. Det viktiga här är att vi förstår att bakom ett gränssnitt och protokoll, döljer sig andra gränssnitt och protokoll, vilka var och en för sig bara behöver känna till nästa lager, dess gränssnitt och vilket protokoll som krävs för att på en meningsfullt sätt få något gjort.
  7. &amp;quot;By recognizing that functions, in the form of a sequence of instructions for a computer, can be encoded as numbers, the EDVAC group knew the instructions could be stored in the computer&apos;s memory along with numerical data. The notion of using numbers to represent functions was a key step used by Goedel in his incompleteness theorem in 1937, work which von Neumann, as a logician, was quite familiar with.&amp;quot;
  8. Eller låt tre saker vara av eller på (2x2x2) 000=0 001=1 010=2 011=3 100=4 101=5 110=6 111=7
  9. Bell: silikon: transistor (Varifrån radio (förstärkare, vakumtuber), telefoni (statistioner), datorer)
  10. &amp;quot;In 1954, IBM announced they would no longer use vacuum tubes in their computer designs by announcing their first fully transistorized computer. That machine had 2000 transistors.&amp;quot; &amp;quot;As the semiconductor technology improved, the transistor became faster, cheaper, and reliable. In 1959, a huge breakthrough took place with the invention of the integrated circuit--the ability to organize numerous transistors and other electronic components on a silicon wafer--complete with wiring. &amp;quot;
  11. Det är lite svårt att hitta en bra analogi för att beskriva ett OS. Filosofisk sätt bör vi nog betrakta det som en sorts Gud. För det första styr det systemets uppfattning av tid, hur aktiviteten i världen (systemet) kan äga rum. För det andra är det kärnan och enbart os:et som känner till hur verkligheten (tinget i sig) verkligen ser ut och beter sig. Det är alltså os som vet hur den ska tala med processorn, med internminnet, med hårdiskar, cd-romspelare, serieprortar, skärmar. Allt det som utgör materien har kärnan en direkt kontroll över. Användarna och deras avkommor programmen behöver inte bry sig om det är en EIDE- eller SCSI-disk den utnytjar. I stället talar de med kärnan på ett annat språk (C) och begär tjänster från kärnan. Kärnan står således i vägen och döljer den underliggande materien, världen, för användaren och bidrar i stället med en enhetlig världbild som är oberoende av den materiella. Operativsystem ger med andra ord ett gränssnitt för andra program att använda så att de slipper bekymra sig om hur den underliggande gränssitten och protokollen mot t.ex hårddisken ser ut.
  12. Processes carry out tasks within the operating system. A program is a set of machine code instructions and data stored in an executable image on disk and is, as such, a passive entity; a process can be thought of as a computer program in action. It is a dynamic entity, constantly changing as the machine code instructions are executed by the processor. As well as the program&apos;s instructions and data, the process also includes the program counter and all of the CPU&apos;s registers as well as the process stacks containing temporary data such as routine parameters, return addresses and saved variables. The current executing program, or process, includes all of the current activity in the microprocessor. Linux is a multiprocessing operating system. Processes are separate tasks each with their own rights and responsibilities. If one process crashes it will not cause another process in the system to crash. Each individual process runs in its own virtual address space and is not capable of interacting with another process except through secure, kernel managed mechanisms. During the lifetime of a process it will use many system resources. It will use the CPUs in the system to run its instructions and the system&apos;s physical memory to hold it and its data. It will open and use files within the filesystems and may directly or indirectly use the physical devices in the system. Linux must keep track of the process itself and of the system resources that it has so that it can manage it and the other processes in the system fairly. It would not be fair to the other processes in the system if one process monopolized most of the system&apos;s physical memory or its CPUs.
  13. För fjärrterminaler till stordatorerna i 360- och 370-serien. Den skiljersig från den redan tidigare väletablerade standarden ASCII.
  14. In 1980, there was a rule of thumb that one needed a data administrator for 1GB of storage. At that time a GB of disk cost about a million dollars, and so it made sense to have someone optimizing it and monitoring the use of disk space. I dag har vi kanske 80G eller tom 140G i vår bärbara dator! Today, a million dollars can buy 1 TB to 100 TB of disk storage (if you shop carefully). So, today, the rule of thumb is that a person can manage 1 TB to 100 TB of storage - with 10 TB being typical.