Historia komputerów osobistych część druga
Transkrypt
Historia komputerów osobistych część druga
mgr inż. Przemysław Adam Śmiejek ([email protected]) Historia komputerów osobistych część druga 24.09.2014 Historia komputerów osobistych Co to jest kod źródłowy? ✔ Programy tworzone są przez programistów. Piszą oni odpowiednie polecenia w języku mniej lub bardziej zbliżonym do naturalnego języka używanego przez człowieka. ✔ Następnie tak zapisany program jest tłumaczony (kompilowany) na ciąg zer i jedynek sterujących działaniem procesora. Tak przetłumaczony program nazywamy kodem maszynowym. ✔ Aby dokonać zmian w programie, należy mieć kod źródłowy. Bez tego możliwe jest jedynie bardzo szczątkowe ingerowanie w sposób działania programu 0000:0000 | 7F 45 4C 46 0000:0010 | 02 00 03 00 0000:0020 | A0 11 00 00 0000:0030 | 25 00 22 00 0000:0040 | 34 80 04 08 0000:0050 | 04 00 00 00 0000:0060 | 34 81 04 08 0000:0070 | 01 00 00 00 0000:0080 | 00 80 04 08 0000:0090 | 00 10 00 00 0000:00A0 | E8 98 04 08 0000:00B0 | 00 10 00 00 0000:00C0 | 00 99 04 08 0000:00D0 | 04 00 00 00 0000:00E0 | 48 81 04 08 0000:00F0 | 04 00 00 00 0000:0100 | F4 87 04 08 0000:0110 | 04 00 00 00 0000:0120 | 00 00 00 00 0000:0130 | 04 00 00 00 0000:0140 | 78 2E 73 6F 01 01 01 00 01 00 00 00 00 00 00 00 06 00 00 00 00 01 00 00 03 00 00 00 13 00 00 00 01 00 00 00 E8 08 00 00 01 00 00 00 40 01 00 00 02 00 00 00 E8 00 00 00 04 00 00 00 20 00 00 00 50 E5 74 64 2C 00 00 00 51 E5 74 64 00 00 00 00 2F 6C 69 62 2E 32 00 00 00 00 00 00 E0 85 04 08 34 00 20 00 34 00 00 00 00 01 00 00 34 01 00 00 13 00 00 00 00 00 00 00 E8 08 00 00 E8 08 00 00 EC 01 00 00 00 09 00 00 E8 00 00 00 48 01 00 00 20 00 00 00 F4 07 00 00 2C 00 00 00 00 00 00 00 00 00 00 00 2F 6C 64 2D 04 00 00 00 00 00 00 00 | .ELF............ 34 00 00 00 | ........à...4... 08 00 28 00 | .......4. ...(. 34 80 04 08 | %.".....4...4... 05 00 00 00 | 4............... 34 81 04 08 | ........4...4... 04 00 00 00 | 4............... 00 80 04 08 | ................ 05 00 00 00 | ....è...è....... E8 98 04 08 | ........è...è... 06 00 00 00 | è...@...ì....... 00 99 04 08 | ................ 06 00 00 00 | ....è...è....... 48 81 04 08 | ........H...H... 04 00 00 00 | H... ... ....... F4 87 04 08 | ....Påtdô...ô... 04 00 00 00 | ô...,...,....... 00 00 00 00 | ....Qåtd........ 06 00 00 00 | ................ 6C 69 6E 75 | ..../lib/ld-linu 10 00 00 00 | x.so.2.......... Historia komputerów osobistych Otwarte Oprogramowanie było pierwsze Colossus – seria komputerów, których konstruowanie zaczęło się w 1943 roku w Wielkiej Brytanii na potrzeby wojskowości. Colossus Mark II Historia komputerów osobistych Otwarte Oprogramowanie było pierwsze Skonstruowany w latach 1943-1945 na Uniwersytecie Pensylwanii w USA. E N I A C Historia komputerów osobistych Otwarte Oprogramowanie było pierwsze Centrum obliczeniowe NASA – 1957 Historia komputerów osobistych Otwarte Oprogramowanie było pierwsze 1969: Kenneth Thompson i Dennis Ritchie tworzą system operacyjny UNIX 1972: Dennis Ritchie tworzy język programowania C Lata 70: zaczyna rodzić się kultura hakerska (w pozytywnym słowa tego znaczeniu) Ken Thompson Dennis Ritchie Historia komputerów osobistych Kultura hakerska Haker (ang. hacker) – osoba o bardzo dużych, praktycznych umiejętnościach informatycznych (lub elektronicznych) [...] Hakerzy odznaczają się bardzo dobrą orientacją w Internecie, znajomością wielu języków programowania, a także świetną znajomością systemów operacyjnych, w tym zwłaszcza z rodziny Unix (GNU/Linux, BSD itp.). Stosuje się także odpowiednio skwantyfikowane określenia, np. Perl hacker oznaczające osobę bardzo dobrze znającą język Perl lub security hacker – na określenie wybitnego specjalisty od bezpieczeństwa komputerowego. Źródło: http://pl.wikipedia.org/wiki/Haker_%28slang_komputerowy%29 Historia komputerów osobistych Kultura hakerska Jedną z naczelnych wartości w środowisku hakerów [...] jest wolność – w trzech wymiarach: ● ● ● wolność tworzenia wolność w dostępie do wiedzy wolność form dzielenia się wiedzą Castells [socjolog] kulturę hakerów określa także jako kulturę daru. Źródło: http://pl.wikipedia.org/wiki/Haker_%28slang_komputerowy%29 Kultura darów [...] – termin antropologiczny oznaczający społeczność tworzoną w oparciu o bezinteresowną wymianę dóbr. Innymi słowy kultura darów to kultura, w której uczestniczący przekazują dobra posiadające wartość na poczet kształtowania dobrobytu swojej społeczności. Źródło: http://pl.wikipedia.org/wiki/Kultura_dar%C3%B3w Historia komputerów osobistych Kultura hakerska Drugą z istotnych wartości jest uznanie, prestiż jaki może zyskać haker w środowisku przez udostępnianie własnych nowatorskich programów, czy rozwiązań w istniejących już programach. Prestiż wynikający z twórczego wykorzystania wiedzy dla tworzenia nowych technologii i dzielenia się z nimi, jest podstawą do budowania autorytetu w środowisku hakerów. Źródło: http://pl.wikipedia.org/wiki/Haker_%28slang_komputerowy%29 Podsumowując: ● dokonuj rzeczy niedokonywalnych ● dziel się dokonaniami Historia komputerów osobistych Kultura hakerska Znaczenie słowa „haker” w masowych mediach jest inne niż stosowane przez społeczność hakerską. Media powszechnie używają go wobec osób łamiących zabezpieczenia systemów komputerowych. Takie działanie w słownictwie informatycznym określa się mianem „crackingu”, a osoby łamiące zabezpieczenia mianem „crackerów”. Określanie crackerów mianem hakerów jest bardzo źle widziane w środowisku, gdyż etyka hakerska sprzeciwia się cyberprzestępczości. Łamanie zabezpieczeń wymaga często bardzo wysokich umiejętności technicznych, można więc powiedzieć, że część crackerów stanowią hakerzy. Źródło: http://pl.wikipedia.org/wiki/Haker_%28slang_komputerowy%29 Historia komputerów osobistych Kultura hakerska Ciekawostka przyrodnicza Z lat 70 i środowisk zbliżonych do hakerskich pochodzi również słynna zasada KISS (ang. Keep It Simple, Stupid, czyli nie komplikuj, głupku), która istotą jest dążenie do utrzymania eleganckiej i przejrzystej struktury, bez dodawania niepotrzebnych elementów. Genialność hakera nierzadko polega nie na skomplikowanym, a na wręcz banalnym ale skutecznym postępowaniu. Nie jest to zwrot o typowo informatycznym charakterze, spotyka się go także w kręgach biznesowych. Zazwyczaj nietrzymanie się tej zasady prowadzi do niepotrzebnych utrudnień w dowolnej dziedzinie życia. Historia komputerów osobistych Częściowe załamanie kultury hakerskiej ✔ Nowa drukarka znowu się zacięła. Richard M. Stallman, programista w Laboratorium Sztucznej Inteligencji w Massachusetts Institute of Technology (zwanym w skócie AI Lab), dotkliwe odczuł odkrycie tego uszkodzenia. W godzinę po posłaniu do druku 50-stronicowego pliku 27-letni Stallman oderwał się na chwilę od zajmującej go pracy i poszedł po dokumenty. Po dotarciu do drukarki znalazł tylko cztery wydrukowane strony, co gorsza - nie były to strony z jego dokumentu, co oznaczało, że jego plik w całości nadal tkwił w przepastnej plątaninie sieci AI Lab. W obronie wolności; Sam Williams; http://stallman.helion.pl/ch01.html Historia komputerów osobistych Częściowe załamanie kultury hakerskiej W dalszej części czytamy: ✔ O tym jak Stallman niegdyś podobny problem rozwiązał ✔ O tym jak Stallman teraz kodów źródłowych nie dostał ✔ O tym jak Stallman zaczął analizować sytuację ✔ I wreszcie o tym, jak odkrył, że dawna skłonność hakerów do wymiany się osiągnięciami i wspólnej pracy nad jakimś zagadnieniem jest blokowana przez umowy lojalnościowe z korporacjami... ✔ ... które to odkrycie spowodowało powstanie w 1983 r. projektu GNU (GNU is Not Unix) i pchnęło Stallmana do zdefiniowania idei i filozofii Wolnego Oprogramowania Historia komputerów osobistych Powstanie ruchów typu Free Software Join us now and share the software; You'll be free, hackers, you'll be free. Hoarders may get piles of money, That is true, hackers, that is true. But they cannot help their neighbors; That's not good, hackers, that's not good. When we have enough free software At our call, hackers, at our call, We'll throw out those dirty licenses Ever more, hackers, ever more. Richard Stallman; autor zdjęcia: Chris McKenna ● ● Free Software Foundation Projekt GNU Historia komputerów osobistych Definicja Free Software (Wolnego Oprogramowania) Słowo „wolne” odnosi się do dwóch konkretnych wolności: ✔ ✔ po pierwsze, wolności kopiowania programu i dzielenia się nim ze swoimi przyjaciółmi i współpracownikami; ✔ po drugie, wolności modyfikowania programu wedle własnego uznania, dzięki pełnemu dostępowi do kodu źródłowego. ✔ Poza tym można studiować źródło i uczyć się jak program został napisany. Można go wówczas portować (dostosowywać do różnego sprzętu/systemów), ulepszać i dzielić się swoimi zmianami z innymi. Historia komputerów osobistych Definicja Free Software (Wolnego Oprogramowania) ✔ wolność uruchamiania programu, w dowolnym celu (wolność 0) ✔ wolność analizowania, jak program działa, i dostosowywania go do swoich potrzeb (wolność 1) ✔ wolność rozpowszechniania kopii (wolność 2) ✔ wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń (wolność 3) Historia komputerów osobistych Nie tylko Free Software Foundation ✔ Równolegle z działaniami fundacji Stallmana, na kalifornijskim uniwersytecie w Berkeley podjęto prace nad zbiorem oprogramowania zwanym jako Berkeley Software Distribution (czasem zwanym także Berkeley Unix) dostępnym również na licencji dającej pełną wolność. ✔ Powodem powstawania systemów z rodziny BSD było to, że „prawdziwy” UNIX należał od AT&T (amerykańska korporacja telefoniczna) i licencja nie była przyjazna środowiskom akademickim. ✔ Niektóre rozwiązania zastosowane w BSD, do dzisiaj są uważane za wzorcowe i stały się podstawą rozwiązań stosowanych w innych systemach operacyjnych. Historia komputerów osobistych Nie tylko Free Software Foundation Pamiętaj, że wciąż mówimy o maszynach tego typu, a nie komputerach osobistych. (na zdjęciu PDP-7) Historia komputerów osobistych Podsumowując lata 80 ✔ W latach 80 na komputerach osobistych produkowanych przez IBM (oraz ich klonach) króluje MS DOS, prowadzone są nieśmiałe i niezbyt udane próby wprowadzenia Windows. ✔ ... Historia komputerów osobistych Podsumowując lata 80 ✔ W latach 80 na komputerach osobistych produkowanych przez IBM (oraz ich klonach) króluje MS DOS, prowadzone są nieśmiałe i niezbyt udane próby wprowadzenia Windows. ✔ W tym samym czasie Apple promuje Graficzny Interfejs Użytkownika podbijający Amerykę w komputerach Macintosh ✔ ... Historia komputerów osobistych Podsumowując lata 80 ✔ W latach 80 na komputerach osobistych produkowanych przez IBM (oraz ich klonach) króluje MS DOS, prowadzone są nieśmiałe i niezbyt udane próby wprowadzenia Windows. ✔ W tym samym czasie Apple promuje Graficzny Interfejs Użytkownika podbijający Amerykę w komputerach Macintosh ✔ Na „dużych” komputerach zadomawia się UNIX lub jego pochodne (jak BSD) ✔ ... Historia komputerów osobistych Podsumowując lata 80 ✔ W latach 80 na komputerach osobistych produkowanych przez IBM (oraz ich klonach) króluje MS DOS, prowadzone są nieśmiałe i niezbyt udane próby wprowadzenia Windows. ✔ W tym samym czasie Apple promuje Graficzny Interfejs Użytkownika podbijający Amerykę w komputerach Macintosh ✔ Na „dużych” komputerach zadomawia się UNIX lub jego pochodne (jak BSD) ✔ Richard Stallman i Free Software Foundation tworzą system GNU (GNU is Not Unix) jako całkowicie wolną (od ograniczeń licencyjnych) implementację Uniksa. Historia komputerów osobistych Wspaniałe lata 90 ✔ Linus Torvalds, młody student uniwersytetu w Helsinkach tworzy jądro o nazwie Linux jako wypełnienie braków w systemie GNU. ✔ Jądro Linux ma mu pozwolić na uruchomienie systemu GNU na jego domowym pececie i uzyskanie środowiska uniksowego, takiego jakie ma na uczelni Historia komputerów osobistych Wspaniałe lata 90 ✔ Na bazie BSD powstają takie systemy jak FreeBSD, NetBSD, OpenBSD. Ich działanie nie ogranicza się do pecetów, ale niewątpliwie (zwłaszcza FreeBSD) na takich komputerach działają. ✔ Rozwój tych systemów na początku lat 90 zostaje przyhamowany procesem sądowym z Novellem i ostatecznie Linux wybija się na prowadzenie, a *BSD znajdują swoje zastosowanie głównie w usługach sieciowych i na domowe komputery osobiste raczej nie trafiają do dzisiaj. Historia komputerów osobistych Wspaniałe lata 90 Czym jest system operacyjny bez oprogramowania? Apache HTTP Server pierwszym produktem dającym wymierne ✔ korzyści ✔ Linux na serwerach WWW, poczty, ruterach itp. ✔ 1995: program do grafiki rastrowej GIMP ✔ 1996: Środowisko graficzne KDE ✔ 1997: Środowisko graficzne GNOME ✔ 1998: Startuje projekt Mozilla (na bazie kodu Netscape) ✔ 2000: OpenOffice.org (na bazie kupionego przez Suna Star Office) ✔ 2004: GIMP 2.0 oraz Firefox 1.0 Historia komputerów osobistych Kto to wszystko tworzy? ✔ Hobbyści, studenci, uczniowie, pracownicy naukowi ✔ ... Historia komputerów osobistych Kto to wszystko tworzy? ✔ Hobbyści, studenci, uczniowie, pracownicy naukowi ✔ Zawodowi programiści zatrudniani przez Fundacje Free Software Foundation, Mozilla Foundation, Apache Foundation, Python ✔ Foundation, Perl Foundation i wiele innych ✔ ... Historia komputerów osobistych Kto to wszystko tworzy? ✔ Hobbyści, studenci, uczniowie, pracownicy naukowi ✔ Zawodowi programiści zatrudniani przez Fundacje Free Software Foundation, Mozilla Foundation, Apache Foundation, Python ✔ Foundation, Perl Foundation i wiele innych Zawodowi programiści zatrudniani przez ✔ ✔ przedsiębiorstwa potrzebujące danego produktu ✔ przedsiębiorstwa opierające całą lub część swojej oferty na Wolnym Oprogramowaniu ✔ ... Historia komputerów osobistych Kto to wszystko tworzy? ✔ Hobbyści, studenci, uczniowie, pracownicy naukowi ✔ Zawodowi programiści zatrudniani przez Fundacje ✔ Free Software Foundation, Mozilla Foundation, Apache Foundation, Python Foundation, Perl Foundation i wiele innych Zawodowi programiści zatrudniani przez ✔ ✔ przedsiębiorstwa potrzebujące danego produktu ✔ przedsiębiorstwa opierające całą lub część swojej oferty na Wolnym Oprogramowaniu ✔ Administratorzy zajmujący się utrzymaniem systemów w sprawnym działaniu Historia komputerów osobistych Free Software, Open Source, FLOSS? ✔ Wolne Oprogramowanie Stallmana jako ruch nie tylko techniczny, ale i filozoficzny – Free Software kojarzące się w biznesie z brakiem możliwości zarabiania lub z ideami hipisowskimi / hakerskimi. ✔ ... Historia komputerów osobistych Free Software, Open Source, FLOSS? Wolne Oprogramowanie Stallmana jako ruch nie tylko techniczny, ✔ ale i filozoficzny – Free Software kojarzące się w biznesie z brakiem możliwości zarabiania lub z ideami hipisowskimi / hakerskimi. 1997: Esej Erica Raymonda The Cathedral and the Bazaar ✔ Pojawia się termin Open Source (Otwarte Źródła) jako coś ✔ przyjaznego dla biznesu ✔ ... Historia komputerów osobistych Free Software, Open Source, FLOSS? Wolne Oprogramowanie Stallmana jako ruch nie tylko techniczny, ✔ ale i filozoficzny – Free Software kojarzące się w biznesie z brakiem możliwości zarabiania lub z ideami hipisowskimi / hakerskimi. 1997: Esej Erica Raymonda The Cathedral and the Bazaar ✔ Pojawia się termin Open Source (Otwarte Źródła) jako coś ✔ przyjaznego dla biznesu ✔ 1998: Open Source Initiative Bruce'a Perensa i Erica Raymonda. ✔ ... Historia komputerów osobistych Free Software, Open Source, FLOSS? Wolne Oprogramowanie Stallmana jako ruch nie tylko techniczny, ✔ ale i filozoficzny – Free Software kojarzące się w biznesie z brakiem możliwości zarabiania lub z ideami hipisowskimi / hakerskimi. 1997: Esej Erica Raymonda The Cathedral and the Bazaar ✔ ✔ Pojawia się termin Open Source (Otwarte Źródła) jako coś przyjaznego dla biznesu ✔ 1998: Open Source Initiative Bruce'a Perensa i Erica Raymonda. ✔ 2000+: Próba pogodzenia podejść i termin FLOSS (Free Libre/Open Source Software) oraz polska wersja WiOO (Wolne i Otwarte Oprogramowanie) ✔ To nazewnictwo często bywa stosowane w dokumentacjach urzędowych, przetargach i w oficjalnych analizach. I to by było na tyle ... Zastrzeżenia prawne Licencja prezentacji Niniejsza prezentacja jest dostępna na licencji* Creative Commons Uznanie autorstwa – Na tych samych warunkach 3.0 Niniejsze dzieło ani jego twórca nie są reprezentowani przez żadną organizację zbiorowego zarządzania prawami autorskimi lub prawami pokrewnymi. * Zastrzeżenie licencyjne nie dotyczy niektórych elementów będących autorstwa osób trzecich. Spis tych elementów można znaleźć w dalszej części. Zastrzeżenia prawne Licencje elementów obcych W prezentacji wykorzystano: Zdjęcia ENIAC-a na licencji public domain ✔ ✔ źródło: http://pl.wikipedia.org/w/index.php?title=Plik:ENIAC-changing_a_tube.jpg ✔ źródło: http://pl.wikipedia.org/w/index.php?title=Plik:Eniac.jpg ✔ Zdjęcie Colossus Mark II na licencji public domain http://pl.wikipedia.org/w/index.php?title=Plik:Colossus.jpg ✔ Zdjęcia rekonstrukcji Collosusa na licencji CC BY-SA ✔ źródło: http://en.wikipedia.org/wiki/File:ColossusRebuild_11.jpg Autor: MaltaGC ✔ źródło: http://en.wikipedia.org/wiki/File:ColossusRebuild_12.jpg Autor: MaltaGC ✔ Komputery przemysłowe NASA na licencji public domain http://en.wikipedia.org/wiki/File:IBM_Electronic_Data_Processing_Machine_-_GPN-2000-001881.jpg ✔ Ken Thompson and Dennis Ritchie na licencji Public Domain: http://en.wikipedia.org/wiki/Image:Ken_n_dennis.jpg ✔ A portion of a DECsystem-1090 showing the KL10 CPU and MH10 memory cabinets. CC BY-SA Michael L. Umbricht http://en.wikipedia.org/wiki/Image:PDP-10_1090.jpg ✔ Zdjęcie Richarda Stallmana: http://commons.wikimedia.org/wiki/Image:Richard_Stallman_speaking_at_Wikimania_2005-08-07.jpg autor: Chris McKenna, licencja CC BY-SA ✔ Fragment kampusu Berkeley http://pl.wikipedia.org/w/index.php?title=Plik:Berkeley_glade_afternoon.jpg autor: Gku, licencja CC BY-SA ✔ Komputer PDP-7: http://pl.wikipedia.org/w/index.php?title=Plik:Pdp-7-oslo-2004.jpeg autor: Matias Fjeld (matiashf), licencja CC BY-SA ✔ Zdjęcie Linusa Torvaldsa: http://commons.wikimedia.org/wiki/File:Linus_Torvalds.jpeg autor: nieznany, licencja CC BY-SA ✔ Maskotka FreeBSD: http://en.wikipedia.org/wiki/File:Bsd_daemon.jpg na licencji komercyjnej, dopuszczającej użycie w celu idntyfikacji Zastrzeżenia prawne Zrzeczenie się odpowiedzialności Autor włożył ogromny wysiłek w przygotowanie prezentacji w sposób rzetelny, jednak istnieje możliwość popełnienia błędu na etapie tworzenia prezentacji lub zaistnienia tegoż w źródłach, z których Autor korzysta. Autor zrzeka się więc odpowiedzialności za wykorzystanie przekazywanych treści w praktyce i zachęca do samodzielnej weryfikacji prezentowanej wiedzy.