{"id":376,"date":"2024-07-18T11:02:14","date_gmt":"2024-07-18T09:02:14","guid":{"rendered":"https:\/\/wi.pb.edu.pl\/p\/?page_id=376"},"modified":"2024-07-18T11:02:14","modified_gmt":"2024-07-18T09:02:14","slug":"systemy-operacyjne-projekt-drugi","status":"publish","type":"page","link":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/","title":{"rendered":"Systemy operacyjne &#8211; projekt drugi"},"content":{"rendered":"<table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n<tbody>\n<tr align=\"center\">\n<td>\n<h2>Systemy operacyjne &#8211; projekt drugi<\/h2>\n<p><big><big>wiosna 2007<br \/>\n<\/big><\/big><\/p>\n<h3>&nbsp;<\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/p>\n<ol>\n<li>\n<p lang=\"pl-PL\"><b>W\u0105ski most.<\/b>&nbsp;Z miasta A do miasta B prowadzi droga, na kt\u00f3rej znajduje si\u0119 w\u0105ski most umo\u017cliwiaj\u0105cy tylko ruch jednokierunkowy. Most jest r\u00f3wnie\u017c do\u015b\u0107 s\u0142aby, tak\u017ce mo\u017ce po nim przeje\u017cd\u017ca\u0107 tylko jeden samoch\u00f3d na raz. Napisa\u0107 program w kt\u00f3rym N samochod\u00f3w (w\u0105tk\u00f3w) b\u0119dzie nieustannie przeje\u017cd\u017ca\u0142o z miasta do miasta, pokonuj\u0105c po drodze most (N przekazywane jako argument linii polece\u0144). Zsynchronizuj dost\u0119p w\u0105tk\u00f3w do mostu:<br \/>\na) nie wykorzystuj\u0105c zmiennych warunkowych (tylko mutexy\/semafory) [17p]\nb) wykorzystuj\u0105c zmienne warunkowe (condition variables) [17p]\n<p>Aby m\u00f3c obserwowa\u0107 dzia\u0142anie programu, ka\u017cdemu samochodowi przydziel numer. Program powinien wypisywa\u0107 komunikaty wed\u0142ug poni\u017cszego przyk\u0142adu:<\/p>\n<p><span style=\"font-family: Courier, monospace\">A-5 10&gt;&gt;&gt; [&gt;&gt; 4 &gt;&gt;] &lt;&lt;&lt;4 6-B<br \/>\n<\/span><span style=\"font-family: Nimbus Roman No9 L, serif\">Oznacza to, \u017ce po stronie miasta A jest 15 samochod\u00f3w z czego 10 czeka w kolejce przed mostem, przez most przeje\u017cd\u017ca samoch\u00f3d z numerem 4 z miasta A do B, po stronie miasta B jest 10 samochod\u00f3w, z czego 4 oczekuj\u0105 w kolejce przed mostem. Komunikat nale\u017cy wypisywa\u0107 w momencie, kiedy w programie zmieni si\u0119 kt\u00f3rakolwiek z tych warto\u015bci.<\/span><\/p>\n<\/li>\n<\/ol>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<ol start=\"2\">\n<li>\n<p lang=\"pl-PL\"><span style=\"font-family: Nimbus Roman No9 L, serif\"><b>Czytelnicy i pisarze.<\/b>&nbsp;Z czytelni korzysta na okr\u0105g\u0142o pewna ilo\u015b\u0107 czytelnik\u00f3w i pisarzy, przy czym jednoczesnie mo\u017ce w niej znajdowa\u0107 si\u0119 albo dowolna ilo\u015b\u0107 czytelnik\u00f3w, albo jeden pisarz, albo nikt \u2013 nigdy inaczej. Problem ten ma trzy rozwi\u0105zania \u2013 z mo\u017cliwo\u015bci\u0105 zag\u0142odzenia pisarzy, z mo\u017cliwo\u015bci\u0105 zag\u0142odzenia czytelnik\u00f3w oraz wykluczaj\u0105ce zag\u0142odzenie. Napisa\u0107:<\/p>\n<p>a) dwa programy symuluj\u0105ce dwa r\u00f3\u017cne rozwi\u0105zania tego problemu, bez korzystania ze zmiennych warunkowych [17 p], lub<br \/>\nb) dwa programy symuluj\u0105ce dwa r\u00f3\u017cne rozwi\u0105zania tego problemu, przy czym jeden z nich musi korzysta\u0107 ze miennych warunkowych (condition variable). [27 p], lub<br \/>\nc) trzy programy symuluj\u0105ce trzy r\u00f3\u017cne rozwi\u0105zania tego problemu, przy czym przynajmniej jeden z nich musi korzysta\u0107 ze zmiennych warunkowych [34 p].<\/p>\n<p>Ilo\u015b\u0107 w\u0105tk\u00f3w pisarzy R i czytelnik\u00f3w W mo\u017cna przekaza\u0107 jako argumenty linii polece\u0144. Zar\u00f3wno czytelnicy jak i pisarze wkr\u00f3tce po opuszczeniu czytelni pr\u00f3buj\u0105 zn\u00f3w si\u0119 do niej dosta\u0107. Program powinien wypisywa\u0107 komunikaty wed\u0142ug poni\u017cszego przyk\u0142adu:<\/p>\n<p><span style=\"font-family: Courier, monospace\">ReaderQ: 11 WriterQ: 10 [in: R:0 W:1]\n<\/span>Oznacza to, \u017ce w kolejce przed czytelni\u0105 czeka 10 pisarzy i 11 czytelnik\u00f3w a sama czytelnia zaj\u0119ta jest przez jednego pisarza. Komunikat nale\u017cy wypisywa\u0107 w momencie zmiany kt\u00f3rejkolwiek z tych warto\u015bci.<\/span><\/p>\n<\/li>\n<\/ol>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p lang=\"pl-PL\">Uwagi dot. sprawozdania:<\/p>\n<p>Koniecznie zaznaczy\u0107 wybran\u0105 wersj\u0119 projektu (tym samym oczekiwan\u0105 ilo\u015b\u0107 punkt\u00f3w).<br \/>\nZamie\u015bci\u0107 w sprawozdaniu t\u0105 cz\u0119\u015b\u0107 kod programu, wyr\u00f3\u017cniaj\u0105c (np. pogrubion\u0105 czcionk\u0105) fragmenty korzystaj\u0105ce z mechanizm\u00f3w synchronizacji.<br \/>\nOpisa\u0107 konkretne przeznaczenie i spos\u00f3b wykorzystania ka\u017cdego mechanizmu synchronizacji (semafora, mutexu, zmiennej warunkowej). Mo\u017cna to zrobi\u0107 w formie komentarzy do kodu umieszczonych w miejscach, gdzie u\u017cywany jest kt\u00f3ry\u015b z tych mechanizm\u00f3w).<\/p>\n<p lang=\"pl-PL\">Za ka\u017cdy przypadek potencjalnego wy\u015bcigu -3p.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr>\n<td>Zadania opracowa\u0142:&nbsp;Krzysztof Bandurski<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Systemy operacyjne &#8211; projekt drugi wiosna 2007 &nbsp; &nbsp; W\u0105ski most.&nbsp;Z miasta A do miasta<a class=\"read-more\" href=\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/\" title=\"Poka\u017c artyku\u0142 Systemy operacyjne &#8211; projekt drugi\">wi\u0119cej<\/a><\/p>\n","protected":false},"author":14,"featured_media":0,"parent":364,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-376","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Systemy operacyjne - projekt drugi - Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Systemy operacyjne - projekt drugi - Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej\" \/>\n<meta property=\"og:description\" content=\"Systemy operacyjne &#8211; projekt drugi wiosna 2007 &nbsp; &nbsp; W\u0105ski most.&nbsp;Z miasta A do miastawi\u0119cej\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/\" \/>\n<meta property=\"og:site_name\" content=\"Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/\",\"url\":\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/\",\"name\":\"Systemy operacyjne - projekt drugi - Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej\",\"isPartOf\":{\"@id\":\"https:\/\/wi.pb.edu.pl\/p\/#website\"},\"datePublished\":\"2024-07-18T09:02:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/wi.pb.edu.pl\/p\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"dr hab. in\u017c. Wojciech Kwedlo\",\"item\":\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Dydaktyka\",\"item\":\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Systemy operacyjne &#8211; pracownia specjalistyczna\",\"item\":\"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Systemy operacyjne &#8211; projekt drugi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wi.pb.edu.pl\/p\/#website\",\"url\":\"https:\/\/wi.pb.edu.pl\/p\/\",\"name\":\"Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wi.pb.edu.pl\/p\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Systemy operacyjne - projekt drugi - Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/","og_locale":"pl_PL","og_type":"article","og_title":"Systemy operacyjne - projekt drugi - Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej","og_description":"Systemy operacyjne &#8211; projekt drugi wiosna 2007 &nbsp; &nbsp; W\u0105ski most.&nbsp;Z miasta A do miastawi\u0119cej","og_url":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/","og_site_name":"Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej","twitter_card":"summary_large_image","twitter_misc":{"Szacowany czas czytania":"3 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/","url":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/","name":"Systemy operacyjne - projekt drugi - Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej","isPartOf":{"@id":"https:\/\/wi.pb.edu.pl\/p\/#website"},"datePublished":"2024-07-18T09:02:14+00:00","breadcrumb":{"@id":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/systemy-operacyjne-projekt-drugi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/wi.pb.edu.pl\/p\/"},{"@type":"ListItem","position":2,"name":"dr hab. in\u017c. Wojciech Kwedlo","item":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/"},{"@type":"ListItem","position":3,"name":"Dydaktyka","item":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/"},{"@type":"ListItem","position":4,"name":"Systemy operacyjne &#8211; pracownia specjalistyczna","item":"https:\/\/wi.pb.edu.pl\/p\/wojciech-kwedlo\/dydaktyka\/systemy-operacyjne-pracownia-specjalistyczna\/"},{"@type":"ListItem","position":5,"name":"Systemy operacyjne &#8211; projekt drugi"}]},{"@type":"WebSite","@id":"https:\/\/wi.pb.edu.pl\/p\/#website","url":"https:\/\/wi.pb.edu.pl\/p\/","name":"Strony pracownik\u00f3w Wydzia\u0142u Informatyki Politechniki Bia\u0142ostockiej","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wi.pb.edu.pl\/p\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"}]}},"_links":{"self":[{"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/pages\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/comments?post=376"}],"version-history":[{"count":1,"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/pages\/376\/revisions"}],"predecessor-version":[{"id":377,"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/pages\/376\/revisions\/377"}],"up":[{"embeddable":true,"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/pages\/364"}],"wp:attachment":[{"href":"https:\/\/wi.pb.edu.pl\/p\/wp-json\/wp\/v2\/media?parent=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}