Grundläggande datavetenskap, 4p

Slides:



Advertisements
Liknande presentationer
Flexicon – Din systempartner
Advertisements

FTP, HTTP, HTML, XML och XHTML
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Lektion 6 Mahmud Al Hakim
Copyright Lars Valentin1 Navigera på Internet en kortfattad introduktion.
Mjukvara och nätverk Vad är det?.
( rev. Jan-Erik Jonsson )
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Klasser och objekt.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning.
Funktioner och programorganisation
Leif Håkansson’s Square Dancer Rotation
EDA Digital och Datorteknik
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
Föreläsning 1.
Objektorienterad tänkande
Programmeringsteknik K och Media
Grundläggande programmering
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
IT för personligt arbete F6
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Objektbaserad programmering –Grundläggande om klasser och objekt – (Arv får vänta)  Iden med klasser.
Programmering B PHP Lektion 2
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Repetition inför slutprovet
Programmering B PHP Lektion 3
EDA Digital och Datorteknik
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Välkommen till Del 1.
1 ITK:P1 Föreläsning 7 Algoritmer och datastrukturer DSV Marie Olsson.
Av Oliver och Emil. En kort historia om Internet Datorn uppfanns i slutet av 1950-talet. Det var då man försökte koppla ihop flera datorer för att skicka.
Internet Styrdatorer och kablar Uppkopplade användare Servrar 182.QRZN.
Lektion 3 Mahmud Al Hakim
Föreläsning 3 Programmeringsteknik och Matlab DD1312
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
För utveckling av verksamhet, produkter och livskvalitet. -Algoritmer och Datastrukturer- -Algoritm analys och sökning algoritmer- Kap 5 -Algoritmer och.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 6: Process- synkronisering.
Objektorientering.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Pass 3 Allmän IT Mjukvara IT-samhället Datasäkerhet Ergonomi
Maria Kihl och Jens A Andersson Kapitel 4: Internet Protocol (IP)
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
Problemlösningsmetodik
Föreläsning 1. Innehåll Introduktion till objektorientering –OOP (objektorienterad programmering) –Objekt, instanser, klasser C++ –OO i C++ –Standardbibliotek.
Network Services (Nätverkstjänster) Client/Servers And Their Interaction (Client/Server och deras interaktion)
1.1. TechNet Security Summit 2004 Security Framework ”Introduktion av ”Security in Depth” Marcus Murray.
6558/G558 DATAKOMMUNIKATION Jan Westerholm hösten 2005 / andra perioden.
Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Adderare Addition av två tal innebär att samma förfarande upprepas för varje position i talet. För varje.
(rev Stefan Pettersson)
Digitalitet.
NÄTVERKSPROTOKOLL Föreläsning
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
1 Föreläsning2 Operativsystem. 2 Talsystem Decimal (bas 10): 0,1,2,…,8,9 Binär talsystem (bas 2): endast 1 och 0 Hexadecimal talsystem (bas 16): 0,1,…9,A,…,E,F.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
Föreläsning3 Operativsystem Datorkommunikation. Adressering av datorer: IP-nummer, MAC- adress (Media Access Control) Överföring av data.
Föreläsning2 Operativsystem.
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
Anders Sjögren Data (i primärminnet) som en länkad lista datatypen för varje element i listan är en struktur, post ( struct )
Föreläsning 1 Introduktion till kursen. Algoritmer
Algoritmer och loopar Algoritmer, beräkningsbarhet
Datorkommunikation Lektion 8 Mahmud Al Hakim
Från Webb 2:0 till Webb 3:0. WEBB 0 Webb 0 = ingen webb alls. Data kommunicerades med tal, skrift, tryckkonst samt analoga medier och så småningom elektroniska.
IT och medier1 Utgående från boken Computer Science av: J. Glenn Brookshear Grundläggande datavetenskap, 4p Kapitel 3 Operativsystem.
Internet Historia: 1964 Kommunikationsystem för försvaret (USA)
الانترنيت Internet.
Grundläggande datavetenskap 4p
Grundläggande datavetenskap, 4p
Presentationens avskrift:

Grundläggande datavetenskap, 4p (rev. Jan-Erik Jonsson) 2003-08-29 Grundläggande datavetenskap, 4p Kapitel 1-9 Sammanfattning Utgående från boken Computer Science av: J. Glenn Brookshear 2004-12-17 ITM

Innehåll Datalagring Datamanipulation Operativsystem Bitar, minnen, talsystem, två-komplement, grindar, lagrings-enheter, datakommunikation Datamanipulation Maskinspråk, datorarkitektur, programexekvering Operativsystem Processer, tidsdelning, multitasking, bootning, process-administration Nätverk och Internet Topologier, WWW, nätverks-protokoll, HTML, XML Algoritmer Iteration, rekursion, effektivitet Programmeringsspråk Procedurer, objektorientering, objekt, klasser, C++ Programvaruutveckling Metoder, testning Dataabstraktioner Fält (arrayer), listor, köer, objekt, klasser, egendefinierade Databaser Relationsdatabaser, SQL, filstrukturer 2004-12-17 ITM

Kap. 1 - Datarepresentation Talsystem Decimala, Binära, Hexadecimala Binär addition Två-komplement Grindar 2004-12-17 ITM

Hexadecimalt Hexa = 6, deci = 10 Multipel av fyra bitar 1 2 3 4 5 6 7 8 9 A 10 B 11 C 12 13 E 14 F 15 b3 b2 b1 b0 H D 1 2 3 4 5 6 7 8 9 A 10 B 11 C 12 13 E 14 F 15 Kap1 Hexadecimalt Hexa = 6, deci = 10 Multipel av fyra bitar 00002 = 016=010 11112 = F16=1510 1010010011001000 = A4C8 2004-12-17 ITM

Två-komplement Ex: Skriv -5910 med 8 bitar. 5910 = 001110112 Kap1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 +1 1 1 0 0 0 1 0 1 Positiva talet Ett-komplementet Addera 1 Negativa svaret 2004-12-17 ITM

Två-komplement forts. Addition med två-komplement Kap1 Två-komplement forts. Addition med två-komplement Antalet bitar hålls konstant Overflow kan ske 7 + (-5) 7 + (-7) 5 + 4 = 2 = 0 = -7 0 1 1 1 + 1 0 1 1 1 0 0 1 0 Ignorera 0 1 1 1 + 1 0 0 1 1 0 0 0 0 Ignorera 0 1 0 1 + 0 1 0 0 1 0 0 1 Overflow !!! 2004-12-17 ITM

Grindar ELLER, OCH, Exklusivt ELLER Kap1 A > A =1 1 C C B B A & C A B C 1 B A B C 1 A B C 1 2004-12-17 ITM

Kap. 2 - Datalagring Maskininstruktioner Logiska operationer Op-kod, operand Logiska operationer AND, OR, XOR, SHIFT, ROTATE Datakommunikation Datahastigheter 2004-12-17 ITM

Maskininstruktioner En maskininstruktion består av Kap2 Maskininstruktioner En maskininstruktion består av Op-kod – generell del Operand – specifik del Ex: 0010 0111 0100 1111 2 7 4 F (Hex) Op-kod Operand (SimpSim) 2004-12-17 ITM

Maskininstruktioner forts. Kap2 Maskininstruktioner forts. Exempel på instruktioner Maskinkod Opkod Operand Assembler Betydelse 3155 3 155 store R,[XY] store R1,[55] Spara det som ligger i register 1 i minnescell 55h 5012 5 012 addi R,S,T addi R0,R1,R2 Addera innehållen i register 1 och 2 (två-komplement) och lägg resultatet i register 0. C000 C (000) halt Stoppa programmet Översättning 2004-12-17 ITM

Övning logiska operationer Kap2 Övning logiska operationer Utför följande logiska operationer: Vilken logisk operation har använts? 10101010 AND 11011000 10101010 OR 11011000 10101010 XOR 10101010 10001000 11111010 00000000 01111010 ? 10010000 01111010 ? 10010000 11100110 ? 10101010 XOR OR AND 11101010 11111010 10100010 2004-12-17 ITM

Kap2 Datakommunikation Anta att en hårdisk rymmer 30 GB. Hur lång tid skulle det ta att fylla den med en överföringshastighet på 0.5 Mbps? 30·109 · 8 / 0.5 ·106 = 480.000 sekunder = 5 dagar, 13 timmar och 20 minuter 2004-12-17 ITM

Kap. 3 - Operativsystem Tidsdelning – Multitasking Processadministration Deadlock 2004-12-17 ITM

Utveckling av operativsystem Kap3 Utveckling av operativsystem Tidsdelning (time-sharing) Flera program och användare kan dela på samma processor. Processerna får en liten tid var att exekvera innan nästa står på tur. För användarna ser det ut som om dom var ensamma och dom kan interagera med sina processer. Multitasking Tidsdelning för enanvändarsystem Flerprocessordatorer 2004-12-17 ITM

Kap3 Time-sharing Anta att en dator har tidsdelning med tidluckor med längd 40 ms och att det normalt tar 8 ms att positionera läshuvudet över rätt spår samt ytterligare 15 ms att rotera skivat till rätt läge för läsning. A: Hur stor andel av en tidlucka måste datorn vänta på läsinstruktionen? B: Om datorn kan utföra 10 instruktioner per s, hur många instruktioner skulle kunna utföras under denna tid? A: (15+8) ms / 40 ms= 57.5 % B: (15+8) ·10-3 s · 10·106 instruktioner/s = 230.000 instruktioner 2004-12-17 ITM

Processadministration Kap3 Processadministration Processtabell Hanteras av schemaläggaren Processens minnesarea Prioritet Redo eller Väntar Tidlucka (time slice) Hanteras av dispatchern Är ca 50 millisekunder Process switch / Context switch Avbrott (Interrupt) Signal till CPU:n att avsluta pågående processaktivitet Avbrottshanterare Program som hanterar vad som händer efter ett avbrott 2004-12-17 ITM

Kap3 Deadlock forts. 2004-12-17 ITM

Kap 4 – Nätverk och Internet Topologier Bryggor och routrar Client/Server – Peer-to-peer Internetadressering WWW Internets kommunikationsnivåer TCP/IP 2004-12-17 ITM

Nätverkstopologier Kap4 Bussnät Ringnät Oregelbundet nät Stjärnnät Dator Dator Dator Dator Dator Dator Dator Dator Dator Dator Bussnät Ringnät Dator Dator Dator Dator Dator Dator Dator Dator Dator Oregelbundet nät Dator Dator Stjärnnät 2004-12-17 ITM

Sammankoppling av nätverk Kap4 Sammankoppling av nätverk 2004-12-17 ITM

Client/Server - Peer-to-peer Kap4 Client/Server - Peer-to-peer 2004-12-17 ITM

Internetadressering IP-adress Network identifier Host address Kap4 Internetadressering IP-adress 212.112.162.203 (32 bitar) Network identifier Registrerad och unik domänidentifierare 212.112.162 Host address Adressen som identifierar en dator inom ett domän 203 Domännamn: mh.se Toppdomän: org, com, se, au, nu DNS – Domain Name Server 212.112.162.203 = www.aftonbladet.se 2004-12-17 ITM

WWW World Wide Web Webb-läsare (browser) Hypertext Kap4 WWW World Wide Web Webb-läsare (browser) Hypertext Klickbara länkar HTML - Hypertext Markup Language HTTP – Hypertext Transfer Protocol URL - Uniform Resource Locator http://www.aftonbladet.se/sport/idag/sport.html Protokoll - host - sökväg - dokumentnamn ftp://ftp.cs.wisc.edu/connectivity_table/ En url är en fullständig sökväg till ett dokument 2004-12-17 ITM

Kap4 2004-12-17 ITM

Kap 5 - Algoritmer Definition Pseudokod Testning If-satser, loopar 2004-12-17 ITM

Definition av en algoritm Kap5 Definition av en algoritm En algoritm är en ordnad uppsättning entydiga anvisningar som utförs stegvis och definierar en avslutande process. Beskrivning av hur ett visst problem ska lösas 2004-12-17 ITM

Pseudokod - exempel Kap5 if (skottår) // Indentering, indragning then (dagligt värde  årligt värde delat med 366) else (dagligt värde  årligt värde delat med 365) if (inget regn) // Nästlade satser then (if (hett ute) then (bada) else (spela golf) ) else (titta på tv) 2004-12-17 ITM

Loop-kontroll Kap5 while (condition) do ( body) check the condition execute the body check the condition… osv. while (någon sover i hörsalen) do ( höj rösten) repeat (activity) until (condition) repeat (ät chips) until (chipspåsen är tom) 2004-12-17 ITM

Testning av programvara Kap5 Testning av programvara Svårt att bevisa att programmet löser problemet på bästa sätt Ex Kedjeproblemet Oftast testkör man programmet. Ej 100%-ig täckning Man vet endast att programmet fungerar för de testfall man har kört 2004-12-17 ITM

Kap 6 - Programmeringsspråk Maskinkod Assembler Högnivåspråk C++ Programmeringsmönster Imperativt: Traditionellt Procedurer Objektorienterat: Dagens trend Klasser, Objekt 2004-12-17 ITM

Imperativt programmeringsmönster Kap6 Imperativt programmeringsmönster Sekvens av kommandon Traditionella programmeringsmönstret Används av CPU (fetch-decode-execute) Man löser problem med algoritmer 2004-12-17 ITM

Objektorienterat programmeringsmönster Kap6 Objektorienterat programmeringsmönster Aktiva objekt Objektet består av data Objektet kan själva manipulera data Moduler Färdiga komponenter Objekt kan kommunicera med varandra Dagens trend 2004-12-17 ITM

Klass Klassdefinition ( C++ ) Kap6 class Konto { private: int kontoNr; float saldo; public: void uttag(float ut); void insattning(float in); void visaSaldo(void); }; Klassdefinition ( C++ ) 2004-12-17 ITM

Kännetecken för OOP Inkapsling Arv Polymorfism Kap6 Endast objektet kommer åt en skyddad egenskap. private, public cout << konto1.saldo är INTE tillåtet. konto1.visaSaldo() är tillåtet. Arv En klass kan ärva egenskaper från en annan klass. Klassen Personbil kan ärva från t.ex Fordon. Polymorfism Samma meddelande (metod) ger olika svar från olika klasser. Triangel.rita() Kvadrat.rita() 2004-12-17 ITM

C++ 1 2 Vad skrivs ut i följande program? Kap6 int main() { int i=0; while (i != 1) { --i; } cout << i; return 0; int main() { int i=1; while (i == 1) { --i; } cout << i; return 0; int main() { int i=0; do { i++; } while (i ==1) cout << i; return 0; } 1 2 2004-12-17 ITM

C++ AB AC BC C eller ABC ? C Vad skrivs ut i följande program? Kap6 int main() { int a, b, c; a=1; b=2; c=3; if (a==b) if (a==1) cout << “A”; else cout << “B”; cout << “C”; return 0; } int main() { int a, b, c; a=1; b=2; c=3; if (a==b) if (a==1) cout << “A”; else cout << “B”; cout << “C”; return 0; } AB AC BC C eller ABC ? C 2004-12-17 ITM

Kap 7 - Programvaruutveckling Vattenfallsmetoden De senaste trenderna Modultänkande 2004-12-17 ITM

De senaste trenderna Vattenfallsmodellen Steg-för-steg-modellen Kap7 De senaste trenderna Vattenfallsmodellen Analys ► Design ► Implementering ► Testning Steg-för-steg-modellen Prototypframtagning Förfining av prototypen CASE (computer-aided software engineering) Projektplanering Projekthantering Dokumentation Göra prototyper Gränssnittsprogrammering Kodgenerering 2004-12-17 ITM

Moduler Modultänkande Kap7 Moduler Modultänkande Objekt i OOP Procedurer Moduler kan utvecklas separat med ett överenskommet gränssnitt. NASA tappade en Marssond på grund av missförstånd av gränssnittet NASA använde det metriska systemet: meter Lockheed Martin använde engelska mått: fot 2004-12-17 ITM

Kap 8 - Dataabstraktioner Fält Listor Stack Köer Träd 2004-12-17 ITM

Tvådimensionellt fält Kap8 Tvådimensionellt fält Läs av temperaturen var tredje timme under en vecka float avl[8][7]; // avl[Tid,Dag] avl[2][3] = 13.0; avl[5][6] = -1.7; 2004-12-17 ITM

Länkad lista Varje element har en pekare till nästa i listan Fördelar: Kap8 Länkad lista Varje element har en pekare till nästa i listan Fördelar: enkelt att lägga till och radera data enkelt att sortera data Nackdel: något krångligare teknik 2004-12-17 ITM

Stack Minne reserveras för en kontinuerlig lista (gulmarkerat) Kap8 Stack Minne reserveras för en kontinuerlig lista (gulmarkerat) Stacken kan bli full StackPointer (SP) innehåller adressen till den senast inlagda posten StackPointer flyttas när data ”poppas” och ”pushas” 2004-12-17 ITM

Kö FIFO = First In First Out Kap8 Tillägg görs vid svansen (bak) Radering görs vid huvudet (fram) HeadPointer (HP) pekar till början av kön TailPointer (TP) pekar till slutet av kön Om kön är tom pekar både HP och TP på samma element 2004-12-17 ITM

Träd i en länkad lista Ett binärträd implementerad med en länkad lista Kap8 Träd i en länkad lista Ett binärträd implementerad med en länkad lista 2004-12-17 ITM

Kap 9 - Databaser Relationsdatabas SQL Objektorienterade databaser Databasintegritet Traditionella filstrukturer 2004-12-17 ITM