12.07.2015 Views

Spis treœci - Patrz

Spis treœci - Patrz

Spis treœci - Patrz

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2. Podstawowe pojęcia i problemy2.1 ProcesOmawiane w tym rozdziale pojęcia i problemy można znaleźć prawie w każdej książcepoświęconej programowaniu współbieżnemu i w większości książek poświęconych systemomoperacyjnym. Dlatego ograniczymy się tu do przytoczenia podstawowych definicji. Jednak, abynie była to li tylko sucha prezentacja faktów, będziemy starali się podać także pewne intuicjeodwołując się do przykładów wziętych z życia codziennego. Słowa proces używamy w wieludziedzinach naszego życia. Mówimy np. o procesie sądowym, procesie produkcyjnym,procesie dojrzewania, procesie rozpadu itd. W każdej sytuacji mamy na myśli pewnąsekwencję zmian dokonujących się zgodnie z określonym schematem. Sekwencja ta możebyć skończona, jak np. w procesie produkcyjnym, lub (potencjalnie) nieskończona, jak np. wprocesie rozwoju życia na Ziemi.W informatyce pojęcie to pojawiło się po raz pierwszy w związki! z systemamioperacyjnymi. Przez proces rozumie się program (sekwencyjny) w trakcie wykonywania1.Ponieważ program jest sformalizowanym zapisem algorytmu, więc proces jest sekwencjązmian stanu systemu komputerowego, które odbywają się zgodnie z tym algorytmem.Odpowiednich zmian dokonuje urządzenie zwane procesorem, natomiast kod programu jestprzechowywany w pamięci operacyjnej. Procesor i pamięć operacyjna to dwa urządzenianiezbędne do wykonywania każdego procesu.Co do definicji procesu nie ma wśród informatyków powszechnej zgody. Przyjętaprzez nas definicja jest bardzo ogólna i zawiera w sobie bardziej szczegółowe definicje innychautorów.Procesy mogą być skończone i nieskończone. Każdy początkujący programistazapewne przynajmniej raz uruchomił proces nieskończony wtedy, gdy spróbował wykonaćprogram zawierający nieskończoną pętlę. Pętla, taka powstaje zazwyczaj wskutek błędnegosformułowania warunku. Trzeba wówczas sięgać po środki ostateczne, jak wyłączeniakomputera lub (w przypadku większych systemów) zwrócenie się o pomoc do operatora. Aleprocesy nieskończone nie zawsze wiążą się z błędnym programowaniem. Pewne procesy zistoty rzeczy muszą być nieskończone. Przykładem jest system operacyjny. Czytelnik byłbyzapewne bardzo zdziwiony, gdyby system operacyjny jego ulubionego komputera osobistegopoinformował go, że właśnie się zakończył i nie przyjmie już żadnych nowych poleceń. Takiezachowanie uznałby za poważny błąd. Od systemu operacyjnego wymagamy, bowiem, abytrwał nieskończenie, gotowy na każde nasze żądanie. Podobnie procesy w systemachwbudowanych, zwanych inaczej systemami czasu rzeczywistego (np. procesy sterująceróżnego rodzaju automatami produkcyjnymi), muszą także być z natury rzeczy nieskończone.Tak naprawdę nie ma większych różnic między pojęciem procesu w systemie komputerowyma pojęciem procesu w innych dziedzinach. W zależności od tego, według jakiego algorytmujest wykonywany proces komputerowy, możemy mówić np. o procesie przetwarzania danych,procesie obliczeniowym czy procesie elektronicznego składania tekstu.2.2 Procesy współbieżneMówimy, że dwa procesy są współbieżne, jeśli jeden z nich rozpoczyna się przedzakończeniem drugiego.13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!