Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
xxvi
Przedmowa
POSIX-a(POSIX.1);przykładamisystemówzgodnychztymstandardem
sąLinuximacOS.WramachstandarduPOSIXzdeniowanorównieżkilka
rozszerzeń,wtymrozszerzeniadotycząceczasurzeczywistego(POSIX.1b)
irozszerzeniedeniującebibliotekęwątków(POSIX.1c,bardziejznanejako
P-wątkiPthreads).Podaliśmykilkaprzykładówprogramowanianapisa-
nychwjęzykuC,ilustrującychpodstawowyinterfejsAPIstandarduPOSIX
orazP-wątkówirozszerzeńdotyczącychprogramowaniaczasurzeczywi-
stego.PrzykładoweprogramyzostałyprzetestowanewsystemachLinux
4.4imacOS10.11zużyciemkompilatoragcc.
Java.Javajestszerokostosowanymjęzykiemprogramowaniawyposażo-
nymwbogatyinterfejsprogramowaniaaplikacji(API)iwbudowaneza-
pleczejęzykoweprogramowaniawspółbieżnegoirównoległego.Progra-
mywJaviedziałająwdowolnymsystemieoperacyjnymzaopatrzonym
wmaszynęwirtualnąJavy1(czyliJVM).ZapomocąprogramówwJavie
przetestowanychzużyciemwersji1.8pakietuJavaDevelopmentKit(JDK)
unaoczniliśmyżnekoncepcjesystemówoperacyjnychipracysieciowej.
SystemyWindows.Podstawowymśrodowiskiemprogramowaniawsyste-
machWindowsjestWindowsAPIzawierającywszechstronnyzbiórfunkcji
dozarządzaniaprocesami,wątkami,pamięciąiurządzeniamizewnętrznymi.
PodaliśmyniewielkąliczbęprogramówwCilustrującychzastosowanietego
API.ProgramyzostałyprzetestowanepodkontroląsystemuWindows10.
Wybraliśmytetrzyśrodowiskaprogramowania,ponieważuważamy,że
najlepiejreprezentująonedwanajpopularniejszemodelesystemówoperacyj-
nych:Linux(lubUNIX)iWindows,orazbędącewpowszechnymużyciuśro-
dowiskoJava.WiększośćprzykładówprogramowanianapisanowjęzykuC
ispodziewamysię,żeCzytelnicyczująsięwnimdobrze.Czytelnikomzaznajo-
mionymzarównozjęzykiemC,jakizJavązrozumieniewiększościprogramów
wtejksiążceniepowinnosprawiaćtrudności.
Wniektórychprzypadkachjaknaprzykładprzytworzeniuwątków
danepojęcieobjaśniliśmy,używającwszystkichtrzechśrodowiskprogramowa-
nia,coumożliwiCzytelnikowiporównanietrzechżnychbibliotekwzastoso-
waniudotegosamegozadania.Kiedyindziejzdarzałonamsiędemonstrować
koncepcjetylkowjednymztychAPI.Naprzykładpamięćdzielonąprzed-
stawiliśmy,używającdotegotylkośrodowiskaPOSIXAPI.Programowanie
gniazdwTCP/IPnaświetliliśmyzapomocąAPIJavy.
MaszynawirtualnaLinuxa
AbypomócstudentomwlepszymzrozumieniusystemuLinux,dostarczyliśmy
wrazztympodręcznikiemmaszynęwirtualnąLinuxadziałającąwdystrybucji
1NiejestbłędemnazywanieJVMrównież„maszynąwirtualnąJava”przyp.tłum.