{"id":30717,"date":"2019-10-31T21:37:05","date_gmt":"2019-10-31T18:37:05","guid":{"rendered":"https:\/\/prohoster.info\/blog\/operating-systems-three-easy-pieces-part-1-intro-perevod\/"},"modified":"2019-10-31T21:37:05","modified_gmt":"2019-10-31T18:37:05","slug":"operating-systems-three-easy-pieces-part-1-intro-perevod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod","title":{"rendered":"Sistemi Operativi: Tre Facili Parti. Parte 1: Introduzione","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h1>Introduzione ai sistemi operativi<\/h1>\n<p>Ciao, Habr! Voglio presentarvi una serie di articoli-traduzioni di una letteratura che considero interessante: OSTEP. Questo materiale analizza approfonditamente il funzionamento dei sistemi operativi simili a Unix, in particolare il lavoro con i processi, diversi scheduler, la memoria e altre componenti simili che costituiscono un moderno sistema operativo. L'originale di tutti i materiali pu\u00f2 essere trovato qui <noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/\">qui<\/a><\/noindex>. Si prega di notare che la traduzione non \u00e8 stata eseguita da un professionista (\u00e8 abbastanza libera), ma spero di aver mantenuto il significato generale.<\/p>\n<p>Le esercitazioni su questo argomento possono essere trovate qui:<br \/>\n \u2014 originale: <noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/Homework\/homework.html\">pages.cs.wisc.edu\/~remzi\/OSTEP\/Homework\/homework.html<\/a><\/noindex><br \/>\n \u2014 originale: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/remzi-arpacidusseau\/ostep-code\">github.com\/remzi-arpacidusseau\/ostep-code<\/a><\/noindex><br \/>\n \u2014 mia personale adattazione: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bykvaadm\/OS\/tree\/master\/ostep\">github.com\/bykvaadm\/OS\/tree\/master\/ostep<\/a><\/noindex><\/p>\n<p>E potete anche dare un'occhiata al mio canale su <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/bykvaadm\">Telegram<\/a><\/noindex> =)<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Funzionamento del programma<\/h3>\n<p>\nCosa succede quando funziona un programma? Il programma esegue una semplice operazione: esegue istruzioni. Ogni secondo, milioni, e forse anche miliardi di istruzioni vengono estratte dalla memoria RAM dal processore, il quale le decodifica (ad esempio, riconosce a quale tipo appartengono) ed esegue. Queste possono essere l'addizione di due numeri, accesso alla memoria, verifica di una condizione, passaggio a una funzione, e cos\u00ec via. Dopo aver completato un'istruzione, il processore passa all'esecuzione della successiva. E cos\u00ec via, istruzione dopo istruzione, fino a quando il programma non termina.<br \/>\nQuesto esempio \u00e8 ovviamente semplificato: in realt\u00e0, per accelerare il lavoro del processore, l'hardware moderno consente di eseguire le istruzioni fuori ordine, prevedere risultati possibili, eseguire istruzioni simultaneamente e altre astuzie simili.<\/p>\n<h3>Modello di calcolo di von Neumann<\/h3>\n<p>\nLa forma semplificata di lavoro che abbiamo descritto \u00e8 simile al modello di calcolo di von Neumann. <i>Fon-Neiman \u00e8 uno dei pionieri dei sistemi informatici ed \u00e8 anche uno degli autori della teoria dei giochi.<\/i>Durante l'esecuzione del programma si verificano anche molti altri eventi, funzionano numerosi altri processi e logiche esterne, il cui obiettivo principale \u00e8 semplificare avvio, funzionamento e manutenzione del sistema.<br \/>\nEsiste un insieme di software responsabile della facilit\u00e0 di esecuzione dei programmi (o addirittura che permette l'esecuzione di pi\u00f9 programmi contemporaneamente), che consente ai programmi di condividere la stessa memoria e di interagire con vari dispositivi. Questo insieme di software \u00e8 fondamentalmente ci\u00f2 che chiamiamo sistema operativo, e uno dei suoi compiti \u00e8 monitorare il corretto e efficiente funzionamento del sistema, oltre a garantire la facilit\u00e0 di gestione di questo sistema. <\/p>\n<h2>Il sistema operativo<\/h2>\n<p>\n<b>Il sistema operativo, abbreviato in SO, \u00e8 un insieme di programmi interconnessi, progettati per gestire le risorse del computer e organizzare l'interazione dell'utente con il computer.<\/b>. <br \/>\nIl SO raggiunge la sua efficienza principalmente attraverso la tecnica pi\u00f9 importante: la tecnica <b>di virtualizzazione.<\/b>. Il sistema operativo interagisce con la risorsa fisica (processore, memoria, disco e simili) e la trasforma in una forma pi\u00f9 generale, con maggiori capacit\u00e0 e pi\u00f9 semplice da usare. Pertanto, per una comprensione generale, si pu\u00f2 molto grossolanamente confrontare il sistema operativo con una macchina virtuale.<br \/>\nPer consentire agli utenti di dare comandi al sistema operativo e quindi sfruttare le capacit\u00e0 della macchina virtuale (come: avviare un programma, allocare memoria, accedere a un file e cos\u00ec via), il sistema operativo fornisce un'interfaccia chiamata <b>API<\/b> (application programming interface) alla quale si possono fare chiamate (call). Un tipico sistema operativo permette di fare centinaia di chiamate di sistema.<br \/>\nInfine, poich\u00e9 la virtualizzazione consente a pi\u00f9 programmi di operare (condividendo cos\u00ec la CPU), accedendo contemporaneamente alle loro istruzioni e dati (condividendo cos\u00ec la memoria) e accedendo ai dischi (condividendo cos\u00ec i dispositivi di input\/output), il sistema operativo \u00e8 anche chiamato gestore delle risorse. Ogni processore, disco e memoria sono risorse di sistema e cos\u00ec uno dei compiti del sistema operativo diventa la gestione di queste risorse, facendo ci\u00f2 in modo efficiente, equo o, al contrario, a seconda del compito per il quale questo sistema operativo \u00e8 stato progettato.<\/p>\n<h3>Virtualizzazione della CPU<\/h3>\n<p>\nConsideriamo il seguente programma:<br \/>\n(https:\/\/www.youtube.com\/watch?v=zDwT5fUcki4&amp;feature=youtu.be)<\/p>\n<p> <img decoding=\"async\" alt=\"Sistemi Operativi: Tre Facili Parti. Parte 1: Introduzione\" src=\"\/wp-content\/uploads\/2019\/04\/1f353e582b857fc71231472ec4f55319.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNon esegue azioni particolari, in sostanza tutto ci\u00f2 che fa \u00e8 chiamare la funzione <b>spin<\/b>(), il cui compito \u00e8 controllare ciclicamente il tempo e restituire, dopo che \u00e8 trascorsa un secondo. Cos\u00ec, ripete all'infinito la stringa che l'utente ha passato come argomento.<br \/>\nAvvieremo questo programma e gli passeremo come argomento il simbolo \u201cA\u201d. Il risultato non \u00e8 particolarmente interessante: il sistema esegue semplicemente un programma che periodicamente stampa a schermo il simbolo \u201cA\u201d.<br \/>\nOra proviamo una variante in cui sono avviate molteplici istanze dello stesso programma, ma che stampano lettere diverse, per rendere il concetto pi\u00f9 chiaro. In questo caso, il risultato sar\u00e0 leggermente diverso. Nonostante abbiamo un solo processore, i programmi vengono eseguiti contemporaneamente. Com'\u00e8 possibile? La risposta \u00e8 che il sistema operativo, con l'aiuto delle capacit\u00e0 hardware, crea un'illusione. Un'illusione che nella macchina ci siano pi\u00f9 processori virtuali, trasformando un singolo processore fisico in un numero teoricamente infinito, permettendo cos\u00ec alle applicazioni di sembrare che vengano eseguite simultaneamente. Questa illusione \u00e8 chiamata <i>Virtualizzazione della CPU<\/i>.<br \/>\n Una situazione del genere genera molte domande, ad esempio, se pi\u00f9 programmi desiderano avviarsi contemporaneamente, quale verr\u00e0 eseguito? Questo interrogativo \u00e8 gestito dalle \u201cpolitiche\u201d del sistema operativo. Le politiche vengono utilizzate in molti aspetti del sistema operativo e rispondono a domande come questa, oltre a fungere da meccanismi di base che il sistema operativo implementa. Da qui deriva il ruolo del sistema operativo come gestore delle risorse.<\/p>\n<h3>Virtualizzazione della memoria<\/h3>\n<p>\n Ora esaminiamo la memoria. <b>Il modello fisico della memoria nei moderni sistemi \u00e8 rappresentato come un insieme di byte<\/b>. Per leggere dalla memoria \u00e8 necessario specificare <b>l'indirizzo della cella<\/b>, per accedervi. Per scrivere o aggiornare i dati, \u00e8 necessario specificare anche i dati e l'indirizzo della cella in cui registrarli.<br \/>\n L'accesso alla memoria avviene costantemente durante l'esecuzione del programma. Il programma memorizza nella memoria l'intera sua struttura dati e vi accede eseguendo diverse istruzioni. Le istruzioni, nel frattempo, sono anch'esse conservate in memoria, pertanto l'accesso ad essa avviene per ogni richiesta alla prossima istruzione.<\/p>\n<h4>Chiamata malloc()<\/h4>\n<p>Consideriamo il seguente programma che alloca un'area di memoria utilizzando la chiamata <b>malloc()<\/b> (https:\/\/youtu.be\/jnlKRnoT1m0):<\/p>\n<p><img decoding=\"async\" alt=\"Sistemi Operativi: Tre Facili Parti. Parte 1: Introduzione\" src=\"\/wp-content\/uploads\/2019\/04\/00b285e1999c2b010c84e712a3ac3087.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl programma esegue diverse operazioni. Innanzitutto, allocca una certa quantit\u00e0 di memoria (riga 7), quindi stampa l'indirizzo della cella allocata (riga 9) e scrive zero nel primo slot di memoria allocata. Successivamente, il programma entra in un ciclo nel quale incrementa il valore memorizzato all'indirizzo contenuto nella variabile \"p\". Inoltre, visualizza l'identificativo del proprio processo. <b>L'identificativo di processo \u00e8 unico per ogni processo in esecuzione.<\/b>. Se avviamo pi\u00f9 copie, ci imbatteremo in un risultato interessante: nel primo caso, se non facciamo nulla e semplicemente eseguiamo pi\u00f9 copie, gli indirizzi saranno diversi. Ma questo non rientra nella nostra teoria! Infatti, nei moderni distribuzioni \u00e8 attiva di default la funzione di randomizzazione della memoria. Se la disattiviamo, otterremo il risultato atteso: gli indirizzi di memoria di due programmi che operano contemporaneamente coincideranno. <\/p>\n<p><img decoding=\"async\" alt=\"Sistemi Operativi: Tre Facili Parti. Parte 1: Introduzione\" src=\"\/wp-content\/uploads\/2019\/04\/882fe00a72deadac12f146bc8d15b024.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>In definitiva, risulta che due programmi indipendenti lavorano con i propri spazi di indirizzamento privati, che a loro volta vengono mappati dal sistema operativo nella memoria fisica.<\/b>Pertanto, l'uso degli indirizzi di memoria all'interno di un singolo programma non influenzer\u00e0 in alcun modo gli altri, e ogni programma sembra avere a disposizione il proprio blocco di memoria fisica, completamente dedicato a esso. La realt\u00e0, tuttavia, \u00e8 che la memoria fisica \u00e8 una risorsa condivisa, la cui gestione \u00e8 svolta dal sistema operativo.<\/p>\n<h3>Coerenza<\/h3>\n<p>\nUn altro tema importante nell'ambito dei sistemi operativi \u00e8 <b>la coerenza<\/b>. Questo termine \u00e8 utilizzato quando si parla di problemi nel sistema che possono sorgere quando si lavora su molte cose contemporaneamente all'interno di un singolo programma. I problemi di coerenza si verificano anche all'interno dello stesso sistema operativo. Negli esempi precedenti riguardanti la virtualizzazione della memoria e del processore, abbiamo capito che il sistema operativo gestisce molte cose contemporaneamente: avvia un primo processo, poi un secondo e cos\u00ec via. Si \u00e8 scoperto che questo comportamento pu\u00f2 portare ad alcuni problemi. Ad esempio, i programmi multithreading moderni affrontano tali difficolt\u00e0.<\/p>\n<p>Consideriamo il seguente programma:<\/p>\n<p> <img decoding=\"async\" alt=\"Sistemi Operativi: Tre Facili Parti. Parte 1: Introduzione\" src=\"\/wp-content\/uploads\/2019\/04\/091af38bd53fb94e65afa6c57b08f012.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl programma nella funzione principale crea due thread, utilizzando la chiamata <b>Pthread_create()<\/b>. In questo esempio, possiamo pensare al thread come a una funzione eseguita in uno spazio di memoria accanto ad altre funzioni, con il numero di funzioni in esecuzione contemporaneamente chiaramente superiore a uno. In questo caso, ogni thread avvia e esegue la funzione <b>worker() che a sua volta semplicemente incrementa una variabile<\/b>,.<\/p>\n<p>Avviamo questo programma con l'argomento 1000. Come gi\u00e0 potreste immaginare, il risultato dovrebbe essere 2000, poich\u00e9 ogni thread ha incrementato la variabile 1000 volte. Tuttavia, non \u00e8 cos\u00ec semplice. Proviamo a eseguire il programma con un numero di ripetizioni molto maggiore.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemi Operativi: Tre Facili Parti. Parte 1: Introduzione\" src=\"\/wp-content\/uploads\/2019\/04\/a6a3e63f9ab94793ffde67342c5a19da.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFornendo un numero come input, ad esempio 100000, ci aspettiamo di vedere come output il numero 200000. Tuttavia, eseguendo ripetutamente il numero 100000, non solo non vediamo la risposta corretta, ma otteniamo anche risposte diverse e sbagliate. Il mistero risiede nel fatto che per incrementare un numero sono necessarie tre operazioni: estrarre il numero dalla memoria, incrementarlo e poi scrivere di nuovo il numero. Poich\u00e9 tutte queste istruzioni non vengono eseguite in modo atomico (tutte contemporaneamente), possono verificarsi situazioni strane. Questo problema \u00e8 conosciuto in programmazione <b>condizione di gara \u2014 stato di competizione<\/b>. Quando forze sconosciute in momenti imprecisati possono influenzare l'esecuzione delle vostre operazioni.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446340\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22702,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Operating Systems: Three Easy Pieces. Part 1: Intro (\u043f\u0435\u0440\u0435\u0432\u043e\u0434) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:37:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:37:05+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sistemi Operativi: Tre Pezzi Facili. Parte 1: Introduzione (traduzione) | ProHoster","description":"Introduzione ai sistemi operativi Ciao, Habr! Vorrei presentarvi una serie di articoli-traduzioni di una letteratura che trovo interessante: OSTEP. In questo materiale viene esaminato in profondit\u00e0 il funzionamento dei sistemi operativi simili a Unix, in particolare \u2014 la gestione dei processi, vari pianificatori, memoria e altri componenti simili che costituiscono un moderno sistema operativo. L'originale di tutti i materiali \u00e8 disponibile qui.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Operating Systems: Three Easy Pieces. Part 1: Intro (\u043f\u0435\u0440\u0435\u0432\u043e\u0434) | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:37:05+00:00","article:modified_time":"2019-10-31T18:37:05+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30717","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 02:38:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:30:51","updated":"2026-01-21 02:38:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=30717"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30717\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/22702"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=30717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=30717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=30717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}