Главная » Просмотр файлов » А.В. Столяров - Введение в операционные системы

А.В. Столяров - Введение в операционные системы (1152218), страница 36

Файл №1152218 А.В. Столяров - Введение в операционные системы (А.В. Столяров - Введение в операционные системы) 36 страницаА.В. Столяров - Введение в операционные системы (1152218) страница 362019-08-01СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 36)

 ýòîì ñëó÷àå âñå ôèëîñîôû óñïåþò âçÿòü âèëêè â ëåâûåðóêè, äà òàê è çàìðóò ñ ýòèìè âèëêàìè â îæèäàíèè, êîãäà æå ïîÿâèòñÿ âèëêàñïðàâà. Îäíàêî ñïðàâà âèëêà ìîæåò ïîÿâèòüñÿ òîëüêî òîãäà, êîãäà ïðàâûéñîñåä óòîëèò ãîëîä, à ýòîãî íå ïðîèñõîäèò, âåäü ó íåãî òîæå òîëüêî îäíà âèëêà.  ðåçóëüòàòå íàøè äîñòîéíåéøèå ìóäðûå ìóæè áåçâðåìåííî ïîêèíóò ñåéìèð, òàê è íå äîæäàâøèñü âòîðûõ âèëîê. Ýêàÿ íåïðèÿòíàÿ ñèòóàöèÿ!Èìåííî òàêèå ñèòóàöèè è íàçûâàþòñÿ òóïèêàìè 3 .28.2.2Äðóãîé ïðèìåð òóïèêîâîé ñèòóàöèèÄëÿ âîçíèêíîâåíèÿ òóïèêà, âîîáùå ãîâîðÿ, äîñòàòî÷íî äâóõ ïðîöåññîâ èäâóõ ðåñóðñîâ.

Ïóñòü èìåþòñÿ äâà ìüþòåêñà m1 è m2. Åñëè ïåðâûé ïðîöåññâûïîëíÿåò êîä, ñîäåðæàùèé âûçîâûlock(m1);lock(m2);à âòîðîé â ýòî æå âðåìÿ âûïîëíÿåò êîä, ñîäåðæàùèé òå æå âûçîâû â îáðàòíîìïîðÿäêå:2 Ïîñêîëüêóîòâåò íà âîïðîñ, êàê æå åäÿò äâóìÿ âèëêàìè, ñòóäåíòû çàäàþò ñ çàâèäíîé ðåãóëÿðíîñòüþ,ïîçæå áûë ïðåäëîæåí äðóãîé âàðèàíò óñëîâèé çàäà÷è: çà ñòîëîì ñèäÿò âîñòî÷íûå ôèëîñîôû, ïåðåäíèìè áëþäî ñ ðèñîì, à íà ñòîëå ëåæàò íå âèëêè, à äåðåâÿííûå ïàëî÷êè äëÿ åäû. Âñåì èçâåñòíî, ÷òî ýòèõïàëî÷åê íóæíî äâå (ïðàâäà, äåðæàò èõ âñå æå îäíîé ðóêîé).3  àíãëîÿçû÷íîé ëèòåðàòóðå èñïîëüçóåòñÿ ñëîâî deadlock.163lock(m2);lock(m1);òî ïðè íåóäà÷íîì ñòå÷åíèè îáñòîÿòåëüñòâ îáà ïðîöåññà óñïåþò ñäåëàòü ïîîäíîìó âûçîâó è âîéäóò âî âçàèìíóþ áëîêèðîâêó íà âòîðûõ, ïîïàâ, òàêèìîáðàçîì, â òóïèê.28.2.3Òóïèêîâûå ñèòóàöèè áåç âçàèìîèñêëþ÷åíèéÑèòóàöèè âçàèìîáëîêèðîâêè âîçìîæíû íå òîëüêî ñ ó÷àñòèåì ñåìàôîðîâè ìüþòåêñîâ.

Ðàññìîòðèì äëÿ ïðèìåðà îäíó òàêóþ ñèòóàöèþ.Ïóñòü íàì íåîáõîäèìî çàïóñòèòü êîìàíäó ls äëÿ ïîëó÷åíèÿ â òåêñòîâîìâèäå ñïèñêà ôàéëîâ â òåêóùåì êàòàëîãå. Íà÷èíàþùèå ïðîãðàììèñòû ÷àñòîäåëàþò õàðàêòåðíóþ îøèáêó, ïðèìåíÿÿ ïðèìåðíî òàêîé êîä:char buf[100];int rc;int fd[2];pipe(fd);if(fork()==0) {dup2(fd[1], 1);close(fd[1]);close(fd[0]);execlp("ls", "ls", NULL);perror("ls");exit(1);}close(fd[1]);wait(NULL);while((rc = read(fd[0], buf, sizeof(buf)))>0) {/* ...

*/}Ëþáîïûòíî, ÷òî òàêàÿ ïðîãðàììà, âîîáùå ãîâîðÿ, ìîæåò è çàðàáîòàòü, îäíàêîìîæåò è çàâèñíóòü. Ýêñïåðèìåíòèðóÿ ñ íåé, ìû, ñêîðåå âñåãî, îáíàðóæèì,÷òî ïðîãðàììà êîððåêòíî ðàáîòàåò â êàòàëîãàõ ñî ñðàâíèòåëüíî íåáîëüøèìêîëè÷åñòâîì ôàéëîâ, à íà áîëüøèõ êàòàëîãàõ çàâèñàåò.Ïðåæäå ÷åì ÷èòàòü äàëüøå, ðåêîìåíäóåì ÷èòàòåëþ ïîïûòàòüñÿ ñàìîñòîÿòåëüíî äîãàäàòüñÿ î ïðè÷èíàõ ýòîãî.Èòàê, ðàññìîòðèì ïðîãðàììó ïîäðîáíåå. Çàïóñêàåìàÿ íàìè â äî÷åðíåìïðîöåññå ïðîãðàììà ls â êà÷åñòâå äåñêðèïòîðà ñòàíäàðòíîãî âûâîäà ïîëó÷à164åò âõîäíîé äåñêðèïòîð êàíàëà, òàê ÷òî, ïðåæäå ÷åì çàâåðøèòüñÿ, îíà áóäåòçàïèñûâàòü â êàíàë èìåíà ôàéëîâ èç òåêóùåãî êàòàëîãà.Ìåæäó òåì ðîäèòåëüñêèé ïðîöåññ, äâèæèìûé áëàãîðîäíîé öåëüþ íåäîïóùåíèÿ çàñîðåíèÿ ñèñòåìíîé òàáëèöû çîìáè-ïðîöåññàìè, âûïîëíÿåò âûçîâwait(), â ðåçóëüòàòå ÷åãî áëîêèðóåòñÿ äî òåõ ïîð, ïîêà äî÷åðíèé ïðîöåññ íåçàâåðøèòñÿ.

Ëèøü ïîñëå ýòîãî ðîäèòåëüñêèé ïðîöåññ âûïîëíÿåò ÷òåíèå èçêàíàëà. ðåçóëüòàòå ïîëó÷àåòñÿ, ÷òî âî âðåìÿ ðàáîòû äî÷åðíåãî ïðîöåññà (ïðîãðàììû ls) íèêòî èç êàíàëà íå ÷èòàåò. Êàê íàì èçâåñòíî èç Ÿ19.1, ðàçìåðáóôåðà êàíàëà îãðàíè÷åí (îáû÷íî îí ñîñòàâëÿåò 4096 áàéò), òàê ÷òî, êîãäàáóôåð çàïîëíèòñÿ, î÷åðåäíîé âûçîâ write(), âûïîëíåííûé ïðîãðàììîé ls,çàáëîêèðóåòñÿ â îæèäàíèè îñâîáîæäåíèÿ ìåñòà â áóôåðå. Îäíàêî áóôåð îñâîáîæäàòü íåêîìó, ïîñêîëüêó ðîäèòåëüñêèé ïðîöåññ, áëîêèðîâàííûé íà âûçîâåwait(), äî ïåðâîãî âûçîâà read() íå äîøåë è íå äîéäåò, ïîêà äî÷åðíèé ïðîöåññ íå çàâåðøèòñÿ.Òàêèì îáðàçîì, èìååì çàìêíóòûé êðóã: ðîäèòåëüñêèé ïðîöåññ îæèäàåò,÷òî äî÷åðíèé çàâåðøèòñÿ, è íå âûïîëíÿåò ÷òåíèå èç êàíàëà, à äî÷åðíåìó,÷òîáû çàâåðøèòüñÿ, íåîáõîäèìî, â ñâîþ î÷åðåäü, ÷òîáû ðîäèòåëüñêèé íà÷àë÷èòàòü.Òàêèå çàìêíóòûå êðóãè âçàèìîáëîêèðîâîê è íàçûâàþòñÿ òóïèêîâûìè ñèòóàöèÿìè.Êàê óæå, íåñîìíåííî, äîãàäàëñÿ ÷èòàòåëü, â äàííîì ñëó÷àå âçàèìîáëîêèðîâêà âîçíèêíåò òîëüêî òîãäà, êîãäà âûäà÷à ls äëÿ äàííîãî êàòàëîãà ñîñòàâëÿåò 4096 áàéò è áîëüøå.ßñíî, ÷òî ïðèâåäåííîå ðåøåíèå î÷åíü ïðîñòî ïðåâðàòèòü â ïðàâèëüíîå:äîñòàòî÷íî ïåðåíåñòè âûçîâ wait() íà íåñêîëüêî ñòðîê íèæå, ÷òîáû îí âûïîëíÿëñÿ óæå ïîñëå âûïîëíåíèÿ âûçîâîâ read().28.2.4Âîçìîæíûå ðåøåíèÿ çàäà÷è î ïÿòè ôèëîñîôàõÄëÿ íà÷àëà ðàññìîòðèì ðåàëèçàöèþ çàäà÷è î ïÿòè ôèëîñîôàõ, äîïóñêàþùóþ âûøåîïèñàííóþ òóïèêîâóþ ñèòóàöèþ.

Çàâåäåì ìàññèâ èç ïÿòè ìüþòåêñîâ, êàæäûé èç êîòîðûõ ñâÿçàí ñ ñîîòâåòñòâóþùåé âèëêîé (îáîçíà÷èì ýòîòìàññèâ èäåíòèôèêàòîðîì forks4 ). È ôèëîñîôîâ, è âèëêè çàíóìåðóåì ÷èñëàìè îò 0 äî 4. Îïèøåì äâå âñïîìîãàòåëüíûå ôóíêöèè, ïîçâîëÿþùèå âû÷èñëèòüíîìåð ñîñåäà ñïðàâà è ñëåâà:int left(int n) { return (n - 1 + 5) % 5; }int right(int n) { return (n + 1) % 5; }4 Àíãëèéñêîåñëîâîforkáóêâàëüíî ïåðåâîäèòñÿ êàêâèëêà.165Áóäåì ñ÷èòàòü, ÷òî íîìåð âèëêè, ëåæàùåé ñëåâà îò ôèëîñîôà, ñîâïàäàåò ñíîìåðîì ñàìîãî ôèëîñîôà.Æèçíåííûé öèêë ôèëîñîôà òîãäà ìîæíî áóäåò ïðåäñòàâèòü ñëåäóþùåéïðîöåäóðîé:void philosopher(int n) {for(;;) {think();lock(forks[n]);/* ! */lock(forks[right(n)]);eat();unlock(forks[n]);unlock(forks[right(n)]);}}ßñíî, ÷òî ïðè îäíîâðåìåííîì âûïîëíåíèè òàêèõ ïðîöåäóð äëÿ n îò 0 äî 4 âîçìîæíà ñèòóàöèÿ, êîãäà âñå îíè óñïåþò âûïîëíèòü áëîêèðîâêó, ïîìå÷åííóþâ ëèñòèíãå âîñêëèöàòåëüíûì çíàêîì.

Ïðè ýòîì âñå ïÿòü âèëîê (ìüþòåêñîâ) îêàæóòñÿ áëîêèðîâàíû, òàê ÷òî âñå ïðîöåññû òàêæå çàáëîêèðóþòñÿ íàñëåäóþùåé ñòðîêå ïðîöåäóðû ïðè ïîïûòêå ïîëó÷èòü âòîðóþ âèëêó.Îäíèì èç ïðîñòåéøèõ ìåõàíèçìîâ èçáåæàíèÿ âçàèìîáëîêèðîâêè â çàäà÷åî ïÿòè ôèëîñîôàõ ÿâëÿåòñÿ ïðèìåíåíèå ñåìàôîðà, íå ïîçâîëÿþùåãî ôèëîñîôàì ïðèñòóïàòü ê òðàïåçå âñåì îäíîâðåìåííî. Çàâåäåì ñåìàôîð è íàçîâåìåãî sem. Òîãäà æèçíåííûé öèêë ôèëîñîôà ïðèìåò ñëåäóþùèé âèä:void philosopher(int n) {for(;;) {think();down(sem);lock(forks[n]); lock(forks[right(n)]);eat();unlock(forks[n]); unlock(forks[right(n)]);up(sem);}}Îòäåëüíîãî ðàññìîòðåíèÿ çàñëóæèâàåò âîïðîñ î òîì, êàêîå çíà÷åíèå ïðèñâîèòü ñåìàôîðó ïåðåä íà÷àëîì ðàáîòû. Òàê, åñëè ïðèñâîèòü åìó çíà÷åíèå 1,îäíîâðåìåííî óïîòðåáëÿòü ñïàãåòòè ñìîæåò ëèøü îäèí ôèëîñîô.

Ñ òåîðåòè÷åñêîé òî÷êè çðåíèÿ âñå õîðîøî, îäíàêî ïðè ýòîì ìû èìååì íåðàöèîíàëüíûé166ïðîñòîé ðåñóðñîâ, âåäü óñëîâèÿ ïîçâîëÿþò åñòü äâóì ôèëîñîôàì îäíîâðåìåííî, íå ìåøàÿ äðóã äðóãó. Îäíàêî è íà÷àëüíîå çíà÷åíèå, ðàâíîå äâóì, íåñïàñåò ñèòóàöèþ, âåäü ïî çàêîíó ïîäëîñòè çà ñåìàôîð îáÿçàòåëüíî ïðîéäóòôèëîñîôû, ñèäÿùèå ðÿäîì.Î÷åâèäíî, ìàêñèìàëüíîå âîçìîæíîå çíà÷åíèå ñåìàôîðà − ÷åòûðå, â ïðîòèâíîì ñëó÷àå òåðÿåòñÿ åãî ñìûñë. Ïðè òàêîì çíà÷åíèè âîçìîæíà ñèòóàöèÿ,êîãäà òðè ôèëîñîôà óñïåëè âçÿòü ïî îäíîé âèëêå è ëèøü îäèí âçÿë äâå, òàê÷òî, ïîêà îí íå ïîåñò, îñòàëüíûå áóäóò æäàòü. êíèãå [7] Ý.

Òàííåíáàóì ïðèâîäèò ðåøåíèå5 , ïîçâîëÿþùåå èçáåæàòüòàêèõ íåäîñòàòêîâ.  ýòîì ðåøåíèè êàæäîìó ôèëîñîôó ñîîòâåòñòâóåò ïåðåìåííàÿ, õðàíÿùàÿ åãî ñîñòîÿíèå : hungry, thinking èëè eating; ìàññèâýòèõ ïåðåìåííûõ íàçîâåì state. Êðîìå òîãî, êàæäîìó ôèëîñîôó ñîîòâåòñòâóåò ìüþòåêñ, íà êîòîðîì îí áëîêèðóåòñÿ äî òîãî ìîìåíòà, êîãäà åìó áóäåòìîæíî ïðèñòóïèòü ê òðàïåçå, ÷òîáû ïðè ýòîì íèêîìó íå ìåøàòü. Òàêîâûìñ÷èòàåòñÿ ìîìåíò, êîãäà íè îäèí èç åãî ñîñåäåé (íè ñëåâà, íè ñïðàâà) íå ïðèñòóïèë ê åäå è íå ïðèíÿë ðåøåíèå ïðèñòóïàòü ê åäå.

Åñëè â òîò ìîìåíò, êîãäàôèëîñîô ïðîãîëîäàëñÿ, îáà ñîñåäà ðàçìûøëÿëè, ôèëîñîô ñàì ñåáå âçâîäèòñâîé ìüþòåêñ, ïîçâîëÿÿ ñàìîìó ñåáå íà÷àòü òðàïåçó, òî åñòü âûïîëíÿåò îïåðàöèþ unlock(); åñëè æå îäèí èç ñîñåäåé â ýòîò ìîìåíò åë, ôèëîñîô ìüþòåêñíå âçâîäèò. Íåñêîëüêèìè øàãàìè ïîçæå ôèëîñîô ïûòàåòñÿ çàõâàòèòü ñîáñòâåííûé ìüþòåêñ, ÷òî óäàåòñÿ åìó òîëüêî â ñëó÷àå, åñëè ïåðåä ýòèì îí åãîâçâåë.  ïðîòèâíîì ñëó÷àå ôèëîñîô áóäåò æäàòü (â ðåæèìå áëîêèðîâêè íàìüþòåêñå) äî òåõ ïîð, ïîêà ñîñåä, óòîëèâ ãîëîä, íå ïðåäëîæèò åìó ïîäêðåïèòüñÿ. Ïðè ýòîì ôèëîñîô ïðèñòóïèò ê òðàïåçå òîëüêî â òîì ñëó÷àå, åñëè âòîðîé åãî ñîñåä òàêæå â íàñòîÿùèé ìîìåíò íå åñò, èíà÷å îí ïðîäîëæèòæäàòü, óïîâàÿ íà òî, ÷òî óæå âòîðîé ñîñåä, íàñûòèâøèñü, íàïîìíèò íàøåìóìóäðåöó, ÷òî ïðèøëî âðåìÿ óòîëèòü ãîëîä.Îòìåòèì, ÷òî â ýòîì ðåøåíèè ìüþòåêñû, ñâÿçàííûå ñ âèëêàìè, îêàçûâàþòñÿ íå íóæíû: àëãîðèòì è òàê ãàðàíòèðóåò, ÷òî äâà ôèëîñîôà íèêîãäà íåïîïûòàþòñÿ ñõâàòèòü îäíó âèëêó îäíîâðåìåííî.Òàêæå ïîòðåáóåòñÿ îäèí îáùèé ìüþòåêñ äëÿ çàùèòû ìàññèâà state.Ñîîòâåòñòâóþùèé êîä ïðèâåäåí íèæå.

Öåíòðàëüíîå ìåñòî â íåì çàíèìàåòôóíêöèÿ test(). Ñ åå ïîìîùüþ êàæäûé ôèëîñîô, ïðîãîëîäàâøèñü, îïðåäåëÿåò, ñëåäóåò ëè åìó ïðÿìî ñåé÷àñ ïðèñòóïàòü ê òðàïåçå. Óòîëèâ æå ãîëîä,ôèëîñîô âûçûâàåò ôóíêöèþ test() äëÿ ñîñåäåé (ýòî è åñòü íàøå ëþáåçíîåïðåäëîæåíèå ïîäêðåïèòüñÿ), â ðåçóëüòàòå ÷åãî, åñëè ñîîòâåòñòâóþùèé ñîñåäãîëîäåí, à ñîñåäè ñîñåäà â íàñòîÿùåå âðåìÿ íå åäÿò, ïðîèñõîäèò âçâåäåíèåìüþòåêñà (è ôèëîñîô, íàõîäèâøèéñÿ â ñîñòîÿíèè áëîêèðîâêè, ïðèñòóïàåò êòðàïåçå).5 Íàøòåêñò, ïðèâåäåííûé íèæå, îò ðåøåíèÿ Ý.

Òàííåíáàóìà íåñêîëüêî îòëè÷àåòñÿ167enum possible_states { hungry, eating, thinking };int state[5] = { thinking, thinking, thinking, thinking, thinking };mutex mut[5]; // â íà÷àëå îíè çàïåðòûmutex state_mut; // â íà÷àëå îòêðûòvoid philosopher(int n) {for(;;) {think();take_forks(n);eat();put_forks(n);}}void take_forks(int i) {lock(state_mut);state[i] = hungry;test(i);unlock(state_mut);lock(mut[i]);/* åñëè ôèëîñîô íå ðàçðåøèë ñàì ñåáå íà÷àòü òðàïåçó, çäåñü îíáóäåò æäàòü, ïîêà åìó î òðàïåçå íå íàïîìíÿò ñîñåäè */}void put_forks(int i) {lock(state_mut);state[i] = thinking;/* òåïåðü ëþáåçíî ïîèíòåðåñóåìñÿ, íå õîòÿò ëè íàøè ñîñåäè êóøàòü */test(left(i));test(right(i));unlock(state_mut);}void test(int i) {if(state[i] == hungry &&state[left(i)] != eating && state[right(i)] != eating){ /* íàñòàë ÷åðåä i-ãî ôèëîñîôà ïîåñòü */state[i] = eating;unlock(mut[i]);}}28.2.5Ïîíÿòèå ãðàôà îæèäàíèÿÑóùåñòâóþò ðàçëè÷íûå ïîäõîäû ê àâòîìàòè÷åñêîìó îòñëåæèâàíèþ íàñòóïëåíèÿ òóïèêîâûõ ñèòóàöèé; îäíèì èç íèõ ÿâëÿåòñÿ àíàëèç ãðàôà îæèäàíèÿ.Ãðàô îæèäàíèÿ ïðåäñòàâëÿåò ñîáîé äâóäîëüíûé îðèåíòèðîâàííûé ãðàô,âåðøèíàìè êîòîðîãî ÿâëÿþòñÿ ïðîöåññû (ïåðâàÿ äîëÿ) è ðåñóðñû (âòîðàÿäîëÿ).

Ñèòóàöèÿ ïðîöåññ ìîíîïîëüíî âëàäååò ðåñóðñîì èçîáðàæàåòñÿ îðèåíòèðîâàííîé äóãîé îò ñîîòâåòñòâóþùåãî ðåñóðñà ê ñîîòâåòñòâóþùåìó ïðî168процессыресурсыÐèñ. 29: Ïðèìåðû ãðàôà îæèäàíèÿöåññó. Íàïðîòèâ, ñèòóàöèÿ ïðîöåññ çàáëîêèðîâàí â îæèäàíèè îñâîáîæäåíèÿðåñóðñà èçîáðàæàåòñÿ äóãîé îò ïðîöåññà ê ðåñóðñó.Ïîÿâëåíèå â ãðàôå îæèäàíèÿ îðèåíòèðîâàííûõ öèêëîâ îçíà÷àåòíàëè÷èå â ñèñòåìå ñèòóàöèè òóïèêà.Íà ðèñ. 29 äàíû ïðèìåðû ãðàôà îæèäàíèÿ. Ñëåâà ïîêàçàí ãðàô îæèäàíèÿ ñ ÷åòûðüìÿ ïðîöåññàìè è øåñòüþ ðåñóðñàìè; â ýòîé ñèñòåìå òóïèêîâîéñèòóàöèè ïîêà íåò.

 ñåðåäèíå ïðèâåäåí ïðèìåð ïðîñòåéøåé òóïèêîâîé ñèòóàöèè (ýòîò ïðèìåð íàìè óæå ðàññìàòðèâàëñÿ íà ñòð. 163). Ñïðàâà ïîêàçàíãðàô îæèäàíèÿ äëÿ çàäà÷è î ïÿòè ôèëîñîôàõ â òîò ìîìåíò, êîãäà âñå ïÿòåðîîäíîâðåìåííî âçÿëè ïî îäíîé (ëåâîé) âèëêå.28.3Ïðîáëåìà ÷èòàòåëåé è ïèñàòåëåéÅùå îäèí èíòåðåñíûé ïðèìåð ñâÿçàí ñ áàçîé äàííûõ, ê êîòîðîé îäíè ïðîöåññû (÷èòàòåëè) îñóùåñòâëÿþò äîñòóï òîëüêî íà ÷òåíèå, à äðóãèå (ïèñàòåëè) ìîãóò ïðîèçâîäèòü è çàïèñü.Êàê ìû íåîäíîêðàòíî óáåæäàëèñü, äîñòóï íåñêîëüêèõ ïðîöåññîâ íà çàïèñü îäíèõ è òåõ æå äàííûõ ïðèâîäèò ê ïðîáëåìàì (ñèòóàöèÿì ãîíîê).

Характеристики

Тип файла
PDF-файл
Размер
1,27 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6376
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее