ami a katedrális és a bazár mögött van
DESCRIPTION
Ami a katedrális és a bazár mögött van. Porkoláb Zoltán [email protected]. Bemutatkozás. 1987-1994 ELTE Számítóközpont 1994-2003ELTE TTK Általános Számítástudományi Tanszék 2003- ELTE IK Programozási Nyelvek és Fordítóprogramok Tanszék - PowerPoint PPT PresentationTRANSCRIPT
2
Bemutatkozás
• 1987-1994 ELTE Számítóközpont
• 1994-2003 ELTE TTK Általános Számítástudományi Tanszék
• 2003- ELTE IK Programozási Nyelvek és Fordítóprogramok Tanszék
• 2003 Ph.D: Szoftver bonyolultsági mértékek
3
Oktatás• Programozási nyelvek
– Programozási nyelvek alapjai – Objektum-orientált programozás– C++
• Haladó C++ – Generatív programozás
• Dokumentumkezelés– Latex– Docbook (XML)
4
Könyvek
• Bjarne Stroustrup: A C++ programozási nyelv (Kiskapu 2001)
• Nyéky et al.:Java útikalauz sorozat (1996- )J2EE
• Nyéky et al.:Programozási nyelvek (Kiskapu 2003)
5
Kutatás
• Szoftver bonyolultsági mértékek– Paradigma-független mértékek
• Generatív programozás– Generikus programozás, STL– C++ Template Metaprogramozás
6
OOPSLA 2004Vancouver
• > 1500 résztvevő
• 54 tutorial
• 28 workshop
• 27 előadás (173-ból kiválasztva)
• Demók, bemutatók, panel-beszélgetések
7
Keynote #1
The Future of ProgrammingRichard F. RashidMicrosoft Research alapítója és vezetőjehttp://research.microsoft.com/
C.A.R (Tony) Hoare Lovász László
8
A piramis
• Épült: -2476 (Khufu)
• 20 – 30 év
• Hérodotosz: 100.000 (inkább 5-20.000) munkás
• kb 160 méter magas
9
A katedrális
• Épült:
1248-1560-1880
• Méretei: 144x86x157 m
10
A felhőkarcoló
• Épült: 1930-31
• 1 év 42 nap
• 7 millió munkaóra
• 443 m magas
11
Cristopher Alexander
• (Bécs, 1936-)
• Cambridge:
Matematikus-építész
• Építész
• Tervezési minták
(Design Patterns)
• A Pattern Languages
12
Szoftveres Tervminták
• A „négyek bandája”
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
• Jim Coplien
• Martin Fowler
13
ACM Alan Turing előadás
Association for Computing Machinery1947-ben alapították Turing díj 1966 óta
Alan Key
KiddiKomp Smalltalk 1970-72--Xerox PARC
14
Piramis?• Alulfizetett munkások építették
• A piramisok a sivatag közepén álló pontszerű képződmények. Mint temetkezési helyek, az első példák az u.n. bloatware-re
• A használati utasítás hieroglifákkal lett megadva. (És fel kell tépni a borítékot, mielőtt elolvashatnánk).
• A nagyravágyás emlékművei
• A Fáraók, akik az építést vezényel-ték, Isten megtestesülésének képzelték magukat.
15
A bazár• Önszerveződő
rendszer
• Alapvető szabályok betartása
• Evolúciós mechanizmusok
16
A katedrális és a bazár
Eric Steven Raymond
1996
17
Operációs rendszerek• Operating system (OS)
• A hardver és az alaprendszer működésért felelős szoftver
• Futtatja és felügyeli az alkalmazói programokat
• Kommunikál a külvilággal (esetenként a felhasználóval)
18
Korai számítógépek
• Nincsen operációs rendszer
• Az operátor kézzel töltötte be és indította a programokat
Innen a név: operációs rendszer
• Neumann-elv: tárolt programok, a program is egyfajta adat
• Ezt kezdték el támogatni apróbb alkalmazásokkal
19
Kezdeti könyvtárak
• Gyakori azonos feladatok: – Input/Output– Matematikai számítások– Szövegkezelés– Operációs feladatok (minden programban)
• Korai könyvtárak
• Ingyenesek, szabadon terjesztették a forráskóddal együtt
20
Kötegelt rendszerek
• Az operátor munkáját szimulálta• Egy program elindítása és• Kapcsolat input adatokkal
pl. kártyaolvasó• Output kijelölése
pl. sornyomtató• Számlázás
21
Több program futtatása
• Input/output berendezések „lassúak”
• Processzor teljesítmény kihasználatlan
• Hatékonyság növelése: a processzor-idő jobb kitöltése
• A futó programokat el kell választani
22
Mainframe
• Nagy diverzitás– Hardver-specifikus operációs rendszerek– Minden gépen más-más vezérlés
• 1960 IBM – System/360 gépsorozat– OS/360 operációs rendszer– Az operációs rendszer a hardverrel „jár”
23
Minicomputer• Microcode
– Hardver programozása
• 1968 MULTIX– General Electrics – AT&T Bell Laboratory
• 1969 UNIX– Ken Thompson, Dennis Ritchie – C nyelv
24
Unix
Ken Thompson
Space traveller
DEC PDP-7 assembly
UNICSUniplex Information and
Computing System
Brian Kernighan
25
Portabilitás
• Portabilitás– Forrás szintű– Byte-kód szintű– Bináris szintű
• 1973: A UNIX átírása C nyelvre– 13000 sor C kód– 800 sor assembly kód
26
A UNIX szerkezete
• Kernel– Jogosultságok– Processzek– Ütemezés– Eszközök
• Shell– Felhasználói
kommunikáció
27
Terjesztés/terjedés
• Kezdetben ingyen adják egyetemeknek/kutatóintézeteknek– SUN OS– ULTRIX– BSD– Xenix (Microsoft majd SCO) 1980!
• 1982: termék (portabilitás miatt)
• 1993: Novell UnixWare
28
Kernel struktúra
• Microkernel vs. Monolit
• Andy Tannenbaum– Vrije Universiteit, Amsterdam– Minix 1988-1991
• Microkernel• Jelképes jogdíj
– Operációs rendszerek– Számítógépes hálózatok
29
GNU
• Richard Stallman (RMS)• GNU mozgalom
– GNU is NOT UNIX– Kernel+GCC+Utilities
• Free Software Foundation• GPL licenc• Free software vs Open Source
30
GUI• Grafikus felhasználói
felület
• Ivan Sutherland – Sketchpad
• Doug Engelbart – NLS (oN Line System)
– Egér
– hipertext
31
Xerox PARC
• XEROX Palo Alto Research Center– GUI Douglas Engelbart– Smalltalk Alan Key– Bravo Charles Simonyi– Lézernyomtató– Ethernet hálózat
– Aspektus-Orientált Programozás • Gregor Kitzales
32
Apple
• Steve Jobs, Steve Wozniak
• Apple II. TV output 1977
• 1979 december:– Látogatás a Xerox-nál– 1983: LISA
• 1984: Macintosh
• Superbowl hirdetés
33
Microsoft
• Bill Gates, Paul Allen, 1975– BASIC interpreter Altair
8800– Fortran, COBOL CP/M
• 1981 IBM PC – Operációs rendszer (CP/M)– Tim Paterson QDOS $50.000– Quick and Dirty OS
34
OS2 és Windows
• 1985: Windows 1.0
• 1992: Windows 3.1
35
GNU
• Richard Stallman (RMS)• GNU mozgalom
– GNU is NOT UNIX– Kernel+GCC+Utilities
• Free Software Foundation• GPL licenc• Free software vs Open Source
36
LINUX
• Linus Thorvalds (1969-)
• 1991 augusztusa – Usenet levél
• 1995 Linux név levédése
• Linux kernel
• Monolitikus
• 2% kód
37
Linux disztribúciók
• Felhasználóbarát összeállítások
• Előre lefordított programok
• Installációs eljárások
• Csomagkezelés– RPM, deb, tgz
• Support