1 / 54

IT Arkitektur og Sikkerhed

IT Arkitektur og Sikkerhed. Grundlæggende – Computere. Sidste uge. Sidste uge gennemgik vi Introduktion til grundlæggende netværk Netværk OSI TCP/IP Routing. Dagsorden. I denne uge gennemgår vi OS Filsystemer RAID SAN NAS. Næste uge. I næste uge gennemgår vi IT Arkitektur

Download Presentation

IT Arkitektur og Sikkerhed

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IT Arkitektur og Sikkerhed Grundlæggende – Computere

  2. Sidste uge • Sidste uge gennemgik vi • Introduktion til grundlæggende netværk • Netværk • OSI • TCP/IP • Routing

  3. Dagsorden • I denne uge gennemgår vi • OS • Filsystemer • RAID • SAN • NAS

  4. Næste uge • I næste uge gennemgår vi • IT Arkitektur • Single/Multi-tier Computing • Server-based Computing • Client/Server Computing • Mainframes • Citrix • Enterprise netværksdesign

  5. Ændring til Lektionerne • Lektion 6 bliver ændret. Det betyder at prøveeksamen bliver lagt efter Lektion 5 og Kryptering og Enterprise sikkerhedsmodeller bliver gennem i Lektion 7 sammen med øvrigt materiale i Lektion 7. • Torsdag den 15. marts 2007 er der mulighed for at deltage i et spændende heldags arrangement sammen med kursister fra University of Virginia i U.s.a. Arrangementet er gratis! • I forvejen får I udleveret en case om et amerikansk og et skandinavisk firma der skal fusionere, og herunder vælge et fælles ERP-system. I bliver sat sammen i grupper på ca. 3 personer. Hver gruppe repræsenterer et skandinavisk firmas IT-ledelse. Amerikanerne bliver delt i tilsvarende grupper. Hver gruppe skal nu sammen med den skandinaviske gruppe danne et team. De skal diskutere problemer og behov, og foreslå en plan for hvordan man vælger et fælles system og får det i luften. Der er en del konfliktstof i casen fordi behovene og kulturerne er forskellige.9:00-10:20 Foredrag om Global Sourcing ved to af deres medarbejdere, Ryan Nelson og Mike Morris10:30-12:00 Foredrag om Global Sourcing hos Mærsk ved Michael Laursen12:00-13:00 Frokost hvor hvert team spiser sammen.13:00-17:00 Gruppearbejde og plenumdiskussioner i to runder, hvor man også får lejlighed til at sammenligne sin egen plan med hvad der skete i den virkelige case.17:00-18:00 Drinks18:00-20:00 Middag

  6. Hvad er et Operativ System (OS)? • Et program der bliver startet af BOOT processen. • Et program der tilgås via. • Et applikationsprogram interface (API) • En brugergrænseflade (GUI) • Styrer brugen af CPU’en, herunder multi-tasking af applikationer • Styrer brugen af den interne hukommelse i systemet • Styrer input til og output fra tilknyttet hardware; såsom diske, printere, m.m. • Sender beskeder til applikationer og brugere om status på operationer der udføres, og eventuelle fejl der sker.

  7. OS er lagdelt

  8. Hvor bliver OS brugt? • Flere og flere steder… • På desktop og servere • MAC OSX Server • Windows NT, 2000, XP, 2003 og VISTA • BSD • Linux varianter; Kommercielle såvel som Open Source • Novell/SuSE (OpenSuSE) • RedHat (Fedora) • Debian • Ubuntu • Gentoo • Kommercielle UNIX varianter: Solaris (BSD), AIX (AT&T), HPUX (AT&T) • Andre; OpenVMS, OS/400, m.fl. • På netværksudstyr • Routere

  9. Hvor bliver OS brugt? • PDA’er • PalmOS • Windows Mobile • Embedded Linux • Mobiltelefoner • Symbian OS • Windows Mobile • Spillekonsoller • Xbox, Xbox360 • PSP, PS2, PS3 • Andet • Biler • Lyd & Billede

  10. UNIX • Ken Thompson starter med at arbejde på UNIX i 1969 • Bill Joy starter med at arbejde på BSD i 1976 • Avie Tevanian starter med at arbejde på MACH i 1985 • Steve Jobs starter med at arbejde på NextStep i 1985 • Richard Stallman starter med at arbejde på GNU i 1984 • Linus Thorvaldsen starter med at arbejde på Linux i 1991

  11. BOOT processen • Eksempel, PC • Når maskinen startes, initieres basic input-ouput system (BIOS) der er gemt på systemets read-only memory (ROM). • BIOS udfører først en POST check for at sikre at systemets komponenter er tilstede og virker. • BIOS er konfigureret til at vide hvor den skal finde OS. Normalt kigger den på disk, og herefter på CD-ROM. Rækkefølgen kan ændres. • Når BIOS har bestemt hvor OS er, indlæser den første sektor (512-byte) på disken med Master Boot Record (MBR) • MBR starter OS setup, og henter kærnen af OS ind i systemets hukommelse.

  12. Kærnen • Kærnen ”kernel” er den inderste og grundlæggende del af OS, som bliver startet af BOOT processen og lagt ind i hoved hukommelsen. • Kærnen er ALTID i hoved hukommelsen. • Det varierer fra OS til OS hvad kærnen indeholder.

  13. Kærnen (”XNU”) • I vores MAC OSX eksempel er kærnen opbygget af BSD og MACH. • Mach sørger for • Multitasking • Håndtering af hukommelse • Håndtering af interrupts • Real-time support • Kernel debugging • I/O kit (oo) • BSD sørger for • Proces kontrol • Basal sikkerhed (brugeradgang) • POSIX API • TCP/IP, BSD sockets, Firewall • VFS filsystem • Kryptering

  14. Øvrig OS • Darwin (Open Source) består af • XNU • System Utilities • Øvrig OS • C compiler • Application Libraris • Graphical Libraries (Carbon, Quicktime, Quartz, m.m.) • Java Runtime • Java Virtual Machine • GUI

  15. Typer af kærner • Monolitiske kærner • Hele kærnen kører i hukommelsen og udstiller alle systemkald til services såsom netværk, process styring, hukommelsesstyring m.m. • Det betyder i teorien at alt funktionalitet i kærnen bliver initieret ved systemstart. Moderne monolitiske kærner understøtter dog loadablemodules dynamisk kan hentes ind i kærnen. • Eksempler: DOS, Linux, BSD, Solaris m.fl.

  16. Typer af kærner • Mikrokærner • En minimal kærne kører i hukommelsen og udstiller kun de mest basale systemkald til services såsom process styring, hukommelsesstyring m.m. • Andre services der ellers ville være forventet i kærnen leveres af programmer uden for kærnen kaldt servers. • Mikrokærner er blevet interessante i de senere år pg.a. sikkerhed. • Eksempler: AmigaOS, SymbianOS m.fl.

  17. Typer af kærner • Hybride kærner • Kombinerer elementer fra monolitiske- og mikrokærner. Ideen er at have en kærne lig en mikrokærne, men implementeret som en monolitisk kærne. Alle servers kører i kærnen. • Eksempler: MAC OSX, Windows NT, 2000, 2003, XP & VISTA

  18. OS bloat • Der har gennem tiden været en tendens, startende fra BSD med at inkludere flere og flere services til OS.. OS Bloats. • Der kører heftige debatter om hvilke kærne typer der er bedst. Den voldsomeste og længstlevende debat er mellem Andrew S. Tanenbaum og Linus TorvaldsGoogle: The Tanenbaum-Torvalds Debate

  19. Modes og Processer • Modes • For at udføre specielle funktioner vil programmer i user mode lave system kald til kærnen i kernel/supervisor mode hvor trusted code udfører funktionerne. • Processer • En proces er en instans af et kørende program. • En proces består af fem dele • En kopi af koden i programmet • Hukommelse (real memory eller virtual memory) der indeholder koden, og proces specifik data • OS ressourcer (descriptors) der er allokeret til processen • Sikkerheds attributter, såsom proces ejer og proces rettigheder • Processens kontekst

  20. Multitasking • For at flere processer kan køre samtidigt og deles om de samme ressourcer, såsom CPU, er der behov at multitaske. • CPU’en kan kun give opmærksomhed til én proces ad gangen, d.v.s. at CPU’en aktivt udfører instruktioner for denne proces. • Med multitasking skemalægges hvilken proces der får opmærksomhed hvornår, og hvornår den næste proces for opmærksomhed • Det kaldes context switch når CPU’en skifter opmærksomhed fra en proces til en anden. • Hvis context switching sker hurtigt nok, virker det som om processerne kører i parallel • Selv med computere med flere CPU’er (multiprocessor maskiner) hjælper multi-tasking med at køre flere processer end der er CPU’er

  21. Multithreading • Multitasking lader programmørerne udvikle programmer der kører i flere samtidige processer (eksempelvis en til at samle data, en til at behandle data, en til at skrive resultatet til disk). Det kræver at flere programinstanser kan tilgå en process samtidigt. • En Thread er en mappe for information som er tilknyttet én programinstans i en process, d.v.s. at der kan findes flere threads under en process, dette kaldes Multithreading

  22. Eksempel

  23. Hukommelsesstyring • Når flere programmer kører på engang, så risikerer man at et dårligt skrevet (eller bevidst ødelæggende) kørende program overskriver et andet kørende programs hukommelsesallokering. • OS sørger derfor at allokere hukommelse til et kørende program, og sikre at programmet ikke får lov til at tilgå hukommelse udenfor allokeringen. • En måde for et OS at øge den tilgængelige memory er ved at benytte en swap fil eller swap partition (virtual memory).

  24. Filsystemer • Den sidste store ting, et OS hjælper med, er et filsystem. • Filsystemer • Hierarkisk • WIN: FAT, FAT32, NTFS • MAC: HFS, HFS+, NTFS (ro), FAT32 (ro), ZFS (10.5) • Linux/Unix: ext2, ext3, ReiserFS, Reiser4, UDF, UFS, UFS2, XFS, ZFS, FAT32, NTFS (ro) • Distribueret • AFS • NFS • SMB • Distribueret (fault-tolerant – delt over flere noder) • CODA • DFS • Record-orienteret • Mainframe: VSAM, ISAM m.fl. (en samling records)

  25. Filsystemer

  26. Logiske volumer • Logisk lag over fysiske diske • Fordele • Sammensæt flere fysiske diske til logiske diske • Ændre på størrelse af logiske diske ”On the fly”

  27. Hvilket OS skal jeg vælge? • Afhænger af opgave og kompetence • Hvert OS har forskellige interfaces • Programmer skrives specifikt til OS • En applikation til et OS kører ikke på et andet • Trends • Cross-over som f.eks WINE, VMWare, Parallels, CodeWeavers

  28. De forskellige OS og kendetegn • Mainframe OS • Mission kritisk • High-Volume • interfaces: • batch, transaction processing, time-sharing. • Java support • UNIX og Linus API • Simpel GUI • SNA, TCP/IP • Eksempler: z/OS, z/VM

  29. De forskellige OS og kendetegn • Server OS • Kører på en server. Hvad er en server? • Fokuserer på deling af hardware- og softwareressourcer • Services kan f.eks. være: fil, print eller webservices • Eksempler: Linux, MAC OS X Server, Windows 2000/2003, OpenVMS

  30. De forskellige OS og kendetegn • Klient OS • God GUI • Ressource management og OS beskyttelse er mange gange lavere i og med single-user • Eksempler: MAC OS X, Linux, Windows XP, Windows VISTA

  31. De forskellige OS og kendetegn • Embedded OS’er • Bruges typisk på devices som mobiltelefoner etc. • Brugeren har typisk ikke adgang til operativsystemet • TV, mikrobølgeovne, mobiltelefoner, PDA’er, • Har typisk mindre memory, CPU, skærm osv. • Eksempler: PalmOS, Mobile Windows.

  32. Pause

  33. Hardware CPU Memory Video Controller Keyboard Controller Floppy disk Controller Hard Disk controller

  34. Hardware komponenter • Processors • Memory • I/O Devices • Buses

  35. Processor (CPU) • Er computerens hjerne • Får instruktioner fra hukommelsen og eksekverer dem • Hver instruktion skal igennem Fetch, Decode, Execute, og Write Back • Fetch henter instruktioner fra hukommelsen bestemt af en program tæller • Decode splitter instruktionen for brug i andre dele af processoren • Under Execute bliver de dele af processoren aktiveret og udfører deres del af instruktioner • Under Write Back skrives resultaterne fra ekskveringen tilbage til hukommelsen • Hver type CPU har et specifikt instruktionssæt. Således har Intel Core 2 Duo og SPARC for eksempel hver sit. Konsekvens: Program skrevet til Intel Core 2 Duo kan ikke køre på SPARC • En CPU indeholder også registrere, som er en speciel type hukommelse til at holde midlertidige resultater

  36. Processor (CPU) • De fleste CPU kan køre i to forskellige modes: • User mode • Kernel mode • (minder det om noget  ) • I kernel mode kan CPU afvikle alle instruktioner i et instruktionssæt. Og har adgang til den faktiske hardware • I user mode er der kun adgang til et subset af instruktionerne og mindre hardware

  37. Hukommelse (Memory) • Hukommelsen bruges til at gemme instruktioner og data, mens et program eksekverer. • Man designer typisk hukommelse ud fra tre kriterier: • Hastighed • Pris • Kapacitet • Intet hukommelse er optimalt på alle områder. Man taler derfor om et hukommelse hierarki inde i en computer

  38. Hukommelse

  39. I/O enheder • Som nævnt tidligere styrer OS også I/O enheder • VIGTIGT et typisk brugerprogram kan IKKE tilgå I/O enheder direkte • En I/O enhed består typisk af to dele: • En device controller som er en chip (eller flere). Typisk en lille microcontroller der er uafhængig af CPU’en og som kun er programmeret til at styre enheden. • Enheden selv • Eksempler: • Et grafikkort eller en monitor • En harddisk controller og selve harddisken • En printer controller med tilhørende printer • ….. • En device controller kaldes ofte også for et kort eller en adapter (SCSI)

  40. I/O enheder • OS tager fat i device controlleren. Device controlleren tager derefter direkte fat i hardwaren. • Den del af OS der taler med device controlleren hedder en device driver. • En device controller vil typisk have forskellige device drivers for hvert operativsystem: Linux OS Enhed Manufacturer A controller Linux driver Win XP OS Windows XP driver Manufacturer B controller Solaris OS Solaris driver Manufacturer C controller …… ……………… Hardware Software

  41. I/O enheder og drivere • En device driver arbejder tæt sammen med kernefunktioner i operativsystemet og skal derfor typisk køre i kernel mode. • Der er typisk tre måder at loade en driver i et operativsystem: • Relink OS kærnen med driveren og reboote systemet • De fleste Unix typer virker sådan. • Ved at lave et entry i konfigurationsfilen for operativsystemet og fortælle den at den skal loade driveren ved boot. • Typisk for Windows • Load og accepter driveren mens operativsystemet kører. Giver mulighed for hot-plugging (Plug and Pray?). Kaldes for ”dynamic loading”. Man behøver ikke her at reboote. De fleste OS’er arbejder i den retning. • USB behøver typisk dynamic loading.

  42. Buses • Al trafik mellem CPU, memory, I/O devices kører over en delt bus • Til at starte med havde man en bus. • De fleste computere i dag består af mange busser. • For eksempel: En PC kan have op til 8 busser: • Lokal bus • Cache bus • Memory bus • PCI bus • SCSI • USB • IDE • ISA bus

  43. Virtuelle maskine • En virtuel maskine OS kerne tilbyder virtuelle maskiner til laget ovenover • En virtuel maskine er • En kopi af hardware • Inkluderer kernel og user mode hardware emulering • Har I/O, Interrupts og alt hvad en rigtig maskine har • Typisk kan en virtuel maskine køre ethvert OS oven på sig.

  44. Eksempel på virtuel maskine

  45. Eksempel på virtuel infrastruktur

  46. Eksempel

  47. Data beskyttelse - RAID • RAID søger at beskytte mod datatab pga. diskfejl • Afhængigt af RAID level vil RAID kunne recover data fra en fejlet disk • Nogle gange indeholder RAID hotswap andre gange er det software baseret

  48. RAID Levels

  49. Storage Area Network (SAN) Hvad er en SAN løsning? • Typisk et high speed network, med LAN óg Bus karakteristika, som etablerer en forbindelse mellem filsystemer (servere) og storage elementer • Tænk på det som en kæmpe bus, som er sat sammen af tilsvarende teknologier, som man bruger på LAN og WAN, altså: repeaters, hubs, bridges, switches, converters og extenders • SAN interfaces er typisk Fibre Channel… og ikke Ethernet eller ATM.

  50. Hvorfor SAN • Reduktion af TCO • Bedre styring af ressourcer • Skalerbar storage • Nemt at bruge, ligner bare endnu en fysisk disk • Kan både bruges over fiber channel og IP

More Related