厚实是什么意思| 脑动脉硬化是什么意思| 西夏国是现在什么地方| 农历七月是什么星座| 今年什么生肖年| 龟头敏感用什么药| 八月份是什么季节| 阴道炎吃什么| 93年属鸡是什么命| 肺部磨玻璃结节需要注意什么| 无花果和什么煲汤好| 润物细无声是什么意思| 转氨酶高吃什么药效果好| 什么是克氏综合征| 2028年属什么生肖| 什么鱼蛋白质含量高| 左侧上颌窦炎症是什么意思| 王晶老婆叫什么名字| 5月25日是什么星座| 出局是什么意思| 苦瓜有什么营养| 产妇吃什么水果好| 担是什么意思| 青春永驻什么意思| 肠镜什么情况下取活检| 精囊炎吃什么药最有效| 肠憩室是什么意思| 镜检白细胞是什么意思| 疟疾是什么| 合拍是什么意思| 中心句是什么意思| 一般炒什么菜放蚝油| 今天的日子适合做什么| 尿酸高什么东西不能吃| 朱元璋长什么样| 老年人助听器什么牌子好| 什么叫痛风| 粥配什么菜最好吃| 为什么生理期不能做| 胰岛素起什么作用| 辣椒炒肉用什么辣椒| 部委是什么意思| lanvin是什么牌子| 一什么而什么的成语| 布洛芬0.3和0.4g有什么区别| 不忘初心方得始终是什么意思| 手上起水泡是什么原因| 阳气不足吃什么药| 子宫肌瘤什么不能吃| 什么叫同工同酬| 插班生是什么意思| 宫颈活检cin1级是什么意思| 脚踩按摩垫有什么好处| 非转基因是什么意思| 乌龟最喜欢吃什么| lv中文名叫什么| 爱豆是什么意思| 解酒喝什么| 肛门出血什么原因| 女人吃藕有什么好处| 破伤风是什么意思| 吃什么补叶酸最快| 吃中药为什么要忌口| 尿酸查什么| 胸有成竹什么意思| 世界上最高的高原是什么| 破损是什么意思| 二百五是什么意思| 佯装是什么意思| 神经炎是什么症状| 觉悟高是什么意思| 光明磊落是什么生肖| 非特异性阴道炎是什么意思| 查肾挂什么科| 经常呛咳是什么病的征兆| 卡码是什么意思| 炖羊骨头放什么调料| 萘普生是什么药| 优柔寡断是什么意思| 正在值机是什么意思| 长期喝奶粉有什么好处| 树叶为什么是绿色的| 天丝棉是什么面料| 申时属什么生肖| 现在流行什么样的衣柜| 张信哲属什么生肖| 深井冰是什么意思| 双排是什么意思| 蛇缠身是什么病| 牙神经拔了对牙齿有什么影响| 藏红花和什么一起泡水喝效果好| 舌苔黄是什么原因| 新陈代谢是什么| 含义是什么意思| 经常放屁是什么原因造成的| 妇科菌群失调吃什么药| 乔迁对联什么时候贴| 心脏病有什么症状| 3月31号什么星座| 梦见买苹果是什么征兆| 高考450分能上什么学校| 晟字五行属什么| 透明隔间腔是什么意思| 姐姐的孩子叫我什么| 肺结节什么症状| 尿尿泡沫多是什么原因| 空虚什么意思| 荷花是什么季节开放的| 焖是什么意思| 神经性皮炎用什么药膏| 12月27号是什么星座| 婴儿便便是绿色的是什么原因| 发烧吃什么药| miu是什么意思| 肾结石吃什么药止疼| 彩虹有什么颜色| 奉子成婚是什么意思| 回头是岸是什么意思| 天蝎座的幸运色是什么| 煎中药用什么锅| 巨蟹座和什么座最配| 云南小黄姜有什么功效| 吃什么可以提高代谢| 维生素b2有什么功效| 什么牌子的洗发水好| 银耳钉变黑了说明什么| 婚检查什么| 装可以组什么词| 啤酒花是什么| 没吃多少东西但肚子很胀是什么| 一什么椅子| 王一博是什么星座| 云朵像什么| 叶公好龙是什么生肖| 伊丽莎白雅顿什么档次| 茉莉花是什么颜色| 三个水读什么| 狗牯脑茶属于什么茶| 拉出黑色的屎是什么原因| 萎靡是什么意思| 儿童红眼病用什么眼药水| 皮肤消炎用什么药最好| 阴毛有什么用| 5月是什么季节| 指甲上有竖纹是什么原因| 水鸭跟什么煲汤最佳| hpv是什么原因引起的| 前置是什么意思| 有什么事| 5.13是什么星座| 人为什么会打喷嚏| 大道无为是什么意思| 孩子一直咳嗽不好是什么原因| 心律不齐吃什么药最快| 八十岁是什么寿| 二月初九是什么星座| 汗毛重的女人意味着什么| 晚上9点是什么时辰| 衤字旁的字与什么有关| 湿疹有什么症状| 6月20日是什么日子| 相安无事是什么意思| 德国人是什么人种| 什么人不能喝绿豆汤| 孕妇咳嗽可以吃什么药| 测怀孕什么时候最准| 血管瘤有什么危害吗| 肺纤维化有什么症状| 炉中火是什么意思| 不要问为什么| 油性记号笔用什么能擦掉| 什么星球最大| 膝盖骨质增生用什么药效果好| 怀孕会有什么反应| 淘宝什么时候有活动| 阿僧只劫是什么意思| 芳心暗许什么意思| 梦见自己拉粑粑是什么意思| 魂牵梦萦的意思是什么| 乐器之王是什么乐器| 头上长虱子什么原因引起的| 吃多了拉肚子是什么原因| olay是什么品牌| 指甲凹陷是什么原因引起的| 为什么会长瘤| 老是想吐是什么原因| 胆红素高是怎么回事有什么危害| 为什么会孕吐| 心脾两虚吃什么食物补最快| 尿电导率低是什么意思| 名字是什么意思| 女性尿道炎吃什么药| 变化无常的意思是什么| 梦见眉毛掉了什么预兆| 鱼胶是鱼的什么部位| 稷是什么作物| 横纹肌溶解是什么意思| 脖子上长个包挂什么科| 榨菜炒什么好吃| 太平猴魁属于什么茶类| hp检查是什么意思| 肠易激综合症什么症状| 玄女是什么意思| 胎盘位于子宫后壁是什么意思| 葫芦挂在家里什么位置好| 夏天出汗多是什么原因| 好梦是什么意思| 什么叫关税| 8月26日是什么星座| 什么地唱歌| 十一月十五号是什么星座| 宝诰是什么意思| 罗红霉素胶囊治什么病| 面霜什么时候用| 阳历2月份是什么星座| 什么拉车连蹦带跳歇后语| 什么样的西瓜甜| a型血和b型血生的孩子是什么血型| 黄芪泡水喝有什么好处| 腹腔多发淋巴结是什么意思| bv是什么品牌| 壁报交流是什么意思| 清风明月是什么意思| 它是什么用英语怎么说| 剖腹产第三天可以吃什么| 心病是什么意思| 肾虚吃什么中成药| 谭咏麟属什么生肖| 身上长湿疹是什么原因导致| 存是什么生肖| 怀孕阴道有什么变化| 心律失常是什么意思| 象牙有什么作用与功效| 女性黄体期是什么意思| 小肠炖什么好吃又营养| 二拇指比大拇指长代表什么| ha是什么单位| 梦到下雪是什么意思| 女性绝经期在什么年龄是正常的| 峰会什么时候开| 吃了吐是什么原因| 防晒衣什么颜色最防晒| 整天犯困没精神想睡觉是什么原因| 犹太人是什么| 胃不好吃什么最养胃| 副乳是什么| 本科是什么| 反吟是什么意思| 坐月子吃什么补气血| 跖围是什么意思| 吃胎盘有什么好处| 长春有什么大学| 行房时间短吃什么药| 为什么坐月子不能吹风| 满五唯一的房子要交什么税| 左眼皮一直跳什么原因| 检查宫颈做什么检查| 84年属于什么生肖| 给小孩办身份证需要什么| 阳是什么意思| 表里不一是什么意思| 石榴什么时候成熟| 什么操场| 绽开什么| 百度Vai al contenuto

“新客专属”成理财市场新宠 收益率高但选择少

Da Wikipedia, l'enciclopedia libera.
La versione stampabile non è più supportata e potrebbe contenere errori di resa. Aggiorna i preferiti del tuo browser e usa semmai la funzione ordinaria di stampa del tuo browser.
Schema di uno scheduler
百度 建设“法治杭州”,是提高党的执政能力的必然要求。

Lo scheduler (in italiano pianificatore o gestore dei processi), in informatica, è un componente di un sistema operativo ovvero un programma che implementa un algoritmo di scheduling (in italiano algoritmo di pianificazione) il quale, dato un insieme di richieste di accesso ad una risorsa (tipicamente l'accesso al processore da parte di un processo da eseguire), stabilisce un ordinamento temporale per l'esecuzione di tali richieste, privilegiando quelle che rispettano determinati parametri secondo una certa politica di scheduling, in modo da ottimizzare l'accesso a tale risorsa e consentire così l'espletamento del servizio/istruzione o processo desiderato.

L'attenzione posta su alcuni parametri piuttosto che su altri differenzia la cosiddetta politica di scheduling all'interno della gestione dei processi dando vita a code di priorità: ad esempio lo scheduler può eseguire le richieste in base al loro ordine di arrivo (FIFO), oppure dare precedenza a quelle che impegnano per meno tempo la risorsa (SNPF); possono esistere politiche che si basano su principi statistici o sulla predizione per individuare un ordinamento delle richieste che si avvicini il più possibile a quello ottimale.

Descrizione

Generalmente l'obiettivo dello scheduling è quello di:

  • massimizzare il throughput, ovvero la produttività dell'intero sistema, minimizzando i tempi in cui la risorsa è inutilizzata;
  • cercare l'ordinamento di richieste che minimizza il rapporto tra tempo di servizio (ovvero il tempo che una richiesta impiega per essere soddisfatta) e tempo di "turnaround" (il lasso di tempo che intercorre tra l'istante in cui la richiesta è generata e quello in cui la richiesta è soddisfatta);
  • evitare fenomeni indesiderati come la starvation ovvero "l'attesa eterna" di alcune richieste, verificabile in determinate condizioni;
  • dare all'utente del sistema la percezione che le richieste vengano soddisfatte contemporaneamente.

Esistono in realtà molti requisiti che possono essere presi in considerazione, dipendenti anche dal problema specifico che lo scheduler deve gestire: esistono scheduler che si occupano di suddividere il tempo di uso del processore da parte di un processo, scheduler che gestiscono richieste di lettura/scrittura da una periferica, anche gli algoritmi di sostituzione delle pagine della memoria sono da considerarsi scheduler.

Scheduler a breve termine del processore (dispatcher)

è un componente fondamentale dei sistemi operativi multiprocesso, e sicuramente l'esempio più diffuso e critico di scheduler. è in grado di far eseguire, al processore di un computer, attraverso l'omonima operazione di scheduling, più processi (task) concorrentemente attraverso varie politiche di scheduling. Esso rappresenta dunque il gestore del multitasking attraverso criteri di assegnazione delle risorse di memorizzazione/elaborazione ai vari processi, implementati a loro volta attraverso vari tipi di algoritmi di scheduling.

Generalmente infatti computer con un processore sono in grado di eseguire un processo per volta, quindi per poter far convivere più task è necessario usare uno scheduler. Nel dettaglio lo scheduler si occupa di far avanzare un processo interrompendone temporaneamente un altro, realizzando così una commutazione di contesto all'interno del ciclo del processore. Esistono vari algoritmi di scheduling che permettono di scegliere nella maniera più efficiente possibile quale task far proseguire: ad esempio il kernel linux nella versione 2.4 ha uno scheduler O(n), mentre dalla versione 2.6 ha un algoritmo di complessità O(1), ossia in grado di determinare in un tempo costante quale processo debba essere eseguito, indipendentemente dal numero di processi in attesa.

Ci sono vari modelli di schedulazione:

  • Modello a macchina singola.
  • Flow-shop (modello di Johnson).
  • Algoritmo euristico di Campbell, Dudek e Smith.
  • Job-shop.

Scheduling della CPU

Lo stesso argomento in dettaglio: Context switch e Prelazione.

Lo scheduling è un'operazione molto importante per il corretto ed efficiente funzionamento del calcolatore. Infatti non solo consente di eseguire più programmi concorrentemente, ma consente anche di migliorare l'utilizzo del processore. Ad esempio, quando è necessario eseguire un'operazione di I/O, il processore non può proseguire l'elaborazione del processo attualmente in esecuzione fino al completamento della stessa. Dato che le operazioni di I/O sono molto più lente del processore sarebbe un inutile spreco di risorse se il processore rimanesse bloccato fino al completamento delle stesse. Per evitare questo le operazioni di I/O vengono gestite unicamente dal Sistema operativo che, nel frattempo, assegna l'uso del processore ad un altro processo. In questo modo si massimizza l'uso delle risorse del sistema.

è importante la distinzione tra scheduling con diritto di prelazione (scheduling preemptive) e scheduling senza diritto di prelazione (scheduling non-preemptive o cooperative). Nel primo caso lo scheduler può sottrarre il possesso del processore al processo anche quando questo potrebbe proseguire nella propria esecuzione. Nel secondo caso, invece, lo scheduler deve attendere che il processo termini o che cambi il suo stato da quello di esecuzione a quello di attesa.

Esistono vari algoritmi di scheduling che tengono conto di varie esigenze e che possono essere più indicati in alcuni contesti piuttosto che in altri. La scelta dell'algoritmo da usare dipende da cinque principali criteri:

  • Utilizzo del processore: la CPU (ovvero il processore) deve essere attiva il più possibile, ovvero devono essere ridotti al minimo i possibili tempi morti.
  • Throughput: il numero di processi completati in una determinata quantità di tempo.
  • Tempo di completamento: il tempo che intercorre tra la sottomissione di un processo ed il completamento della sua esecuzione.
  • Tempo d'attesa: il tempo in cui un processo pronto per l'esecuzione rimane in attesa della CPU (waiting time).
  • Tempo di risposta: il tempo che trascorre tra la sottomissione del processo e l'ottenimento della prima risposta.

Per analizzare gli algoritmi che verranno successivamente presentati verrà utilizzato il criterio del tempo d'attesa medio dei processi presi in considerazione.

Obiettivi dello scheduling

Un algoritmo di scheduling si pone i seguenti obiettivi:

  • Fairness (equità): processi dello stesso tipo devono avere trattamenti simili
  • Balance (bilanciamento): tutte le parti del sistema devono essere sfruttate

Inoltre bisogna effettuare un distinguo tra i sistemi batch e i sistemi interattivi. Nei primi il throughput deve essere massimizzato e il Tempo di Turnaround deve essere minimizzato. Nei secondi, i sistemi interattivi, il tempo di risposta deve essere il minimo possibile per dare l'idea di continuità all'utente e la proporzionalità deve essere rispettata, ossia il tempo di risposta deve essere proporzionale alla complessità dell'azione.

Modello a macchina singola (modello di Karg e Thompson)

Passi dell'algoritmo:

  1. Selezionare casualmente due job.
  2. Selezionare un nuovo job e provare a disporlo nella sequenza corrente.
  3. Per ogni posizione provata calcolare il set-up complessivo.
  4. Allocare il job nella posizione che garantisce i più bassi tempi di set-up.
  5. Se vi sono ancora job da allocare vai al passo 2, altrimenti termina.

FCFS

L'algoritmo FCFS (First come, first served) è un tipo di algoritmo FIFO: esegue i processi nello stesso ordine in cui essi vengono sottomessi al sistema. Il primo processo ad essere eseguito è esattamente quello che per primo richiede l'uso della CPU. Quelli successivi vengono serviti non appena questo ha terminato la propria esecuzione, e così avviene successivamente per tutti gli altri posti in coda. Questo tipo di algoritmo è molto semplice da implementare ma solitamente è anche poco efficiente, almeno considerando il tempo medio d'attesa.

Infatti, prendiamo ad esempio la sottomissione nell'ordine dei seguenti processi con la seguente durata espressa in millisecondi:

  • p1: 10
  • p2: 4
  • p3: 2

Verranno eseguiti nello stesso ordine: p1 → p2 → p3

Il processo p1 non attende nulla, perché entra immediatamente in esecuzione. Il processo p2 attende 10 millisecondi, e p3 14. Il tempo medio d'attesa quindi è (0+10+14)/3=8 millisecondi. Si ha allora un effetto convoglio, caratterizzato dal fatto che più processi brevi attendono la terminazione di un unico processo più corposo. Un risultato decisamente diverso da quello ottenibile, in forma teorica, dall'algoritmo ottimale SJF (Shortest Job First) pari a (0+2+6)/3=8/3 millisecondi solamente.

Tuttavia se i processi sono CPU-bound e lunghi, il FCFS rimane l'algoritmo migliore.

RR

Lo stesso argomento in dettaglio: Schedulazione round robin.

L'algoritmo di scheduling RR (round-robin) è un particolare algoritmo con prelazione (preemptive) che esegue i processi nell'ordine d'arrivo, come il FCFS, ma esegue la prelazione del processo in esecuzione, ponendolo alla fine della coda dei processi in attesa, qualora l'esecuzione duri più della "quantità di tempo" stabilita, e facendo proseguire l'esecuzione al successivo processo in attesa.

Ad esempio nell'ipotesi che vi siano i seguenti processi in coda con relativa durata in millisecondi, e la quantità di tempo stabilita di 20 ms:

  • p1: 30
  • p2: 15
  • p3: 60
  • p4: 45

Verranno eseguiti nel seguente ordine:

  • p1 (interrotto dopo 20 ms, ne rimangono altri 10)
  • p2 (termina la propria esecuzione perché dura meno di 20 ms)
  • p3 (interrotto dopo 20 ms, ne rimangono altri 40)
  • p4 (interrotto dopo 20 ms, ne rimangono altri 25)
  • p1 (termina la propria esecuzione perché necessitava di meno di 20 ms)
  • p3 (interrotto dopo 20 ms, ne rimangono altri 20)
  • p4 (interrotto dopo 20 ms, ne rimangono altri 5)
  • p3 (termina la propria esecuzione perché necessitava di esattamente 20 ms)
  • p4 (termina la propria esecuzione)

Le prestazioni di quest'algoritmo sono dunque influenzate dal tempo medio d'attesa, sebbene consenta a tutti i processi di ottenere il controllo della CPU ed evita quindi il problema dell'attesa indefinita (starvation).

è inoltre da tenere in considerazione l'impatto dovuto ai frequenti context switch effettuati. è necessario quindi calcolare correttamente la durata ottimale della quantità di tempo per far sì che l'incidenza dei cambi di contesto sia abbastanza limitata, come anche i tempi di attesa. Si può stabilire che, per un funzionamento ottimale, le sequenze di operazioni di CPU dovrebbero essere più brevi della quantità di tempo stabilita in circa l'80% dei casi.

Interessante in questo caso il discorso della media, in quanto risulta molto più stabile di come appare nelle altre strategie. In questo caso, la media va calcolata sommando le 4 differenze tra istante finale di esecuzione del processo e relativo burst. Andando quindi a rappresentare graficamente l'andamento dei processi da p1 a p4, notiamo che p1 termina all'istante 85, p2 all'istante 35, p3 all'istante 145, p4 all'istante 150. Sommando le differenze avremo [(85-30)+(35-15)+(145-60)+(150-45)]/4. La media risultante è 66,25 ms (Tempo di attesa).

SJF

Lo stesso argomento in dettaglio: Shortest job first.

Gli algoritmi SJF (shortest job first), possono essere sia non-preemptive (SNPF) sia preemptive (SRTF).

Non potendo conoscere il tempo per il quale il job occuperà il processore (per il problema della fermata), il sistema operativo utilizzerà i dati di precedenti elaborazioni. Per far ciò viene usata la formula:

Dove (0<=α<=1).

In particolare:

  • (la storia recente non viene considerata)
  • (conta solo l'ultimo valore reale del CPU burst)

SNPF

L'algoritmo SNPF (Shortest Next Process First) prevede che venga eseguito sempre il processo con il tempo di esecuzione più breve tra quelli in attesa. Prendiamo ad esempio che siano stati sottomessi contemporaneamente i seguenti processi, con la rispettiva durata di esecuzione in millisecondi:

  • p1: 10
  • p2: 2
  • p3: 6
  • p4: 4

I processi vengono eseguiti nel seguente ordine: p2 → p4 → p3 → p1

Non tenendo in considerazione il tempo necessario per il context switch, il processo p2 non attende nulla, perché entra subito in esecuzione, p4 attende 2 millisecondi, perché entra in esecuzione subito dopo p2, quindi p3 attende 6 millisecondi e p1 ne attende 12. Il tempo medio d'attesa è pari a (0+2+6+12)/4= 5 millisecondi.

Si può dimostrare che questo algoritmo è ottimale, in quanto consente di ottenere sempre il valore più basso di tempo d'attesa medio. Sfortunatamente non è possibile applicarlo, in quanto non è possibile conoscere anticipatamente quanto durerà l'esecuzione del processo. Tuttavia si può provare a predirlo, in quanto è probabile che sia simile ai precedenti.

Una tecnica comunemente usata è quella di utilizzare la media mobile esponenziale: dove è la stima dell'n-esima esecuzione del processo, la stima attuale e è il peso che deve essere assegnato al passato del processo e in genere per si ha una discreta approssimazione del comportamento del processo e un risultato accettabile.

SRTF

L'algoritmo SRTF (Shortest Remaining Time First) si differenzia per il fatto che, quando viene sottomesso un nuovo processo la cui durata è minore del tempo necessario al processo in esecuzione per portare a terminare la propria sessione, lo scheduler provvede ad effettuare un context switch e assegna l'uso della CPU al nuovo processo (prelazione - algoritmo preemptive). Il vantaggio è una gestione ottimale del tempo di attesa medio, in quanto processi dalla durata di esecuzione ridotta vengono eseguiti molto velocemente. Tra gli svantaggi potenziali, come avviene per l'SRT, vi è il fenomeno della starvation dei processi in quanto processi con tempi di esecuzione rimanenti lunghi potrebbero rimanere in attesa indefinitamente nel caso venissero continuamente aggiunti processi di durata rimanente inferiore.

HRRN

L'algoritmo HRRN (Higher Responsive Ratio Next) viene utilizzato per prevenire l'aging, ossia l'attesa eccessiva dei processi molto lunghi scavalcati da quelli più corti tramite SNPF e SRTF e si basa sul tempo di attesa di un processo utilizzando la formula dove è il tempo di attesa e il prossimo CPU-burst (consumo della CPU) stimato.

Retroazione multilivello

Non potendo stimare con precisione il tempo di esecuzione di un processo nel momento in cui entrerà nel sistema, vi è la possibilità di stimare il tempo trascorso. Viene introdotto il concetto di retroazione secondo il quale si penalizzano i processi che hanno speso più tempo nel sistema. Lo scheduling a retroazione multilivello (o retroazione con code multiple, in inglese multilevel feedback queue) è uno scheduling basato su quanti di tempo ed utilizza un meccanismo di priorità dinamica. Quando un processo entra nel sistema gli viene assegnata una priorità secondo criteri prefissati e viene inserito in una coda con un quanto di tempo fissato. Se il processo che si trova in stato running finisce il suo quanto di tempo, viene spostato in una coda con un quanto di tempo più grande ma con una priorità minore.

Ogni coda è gestita attraverso l'algoritmo di round-robin, tutte tranne l'ultima che è servita tramite FCFS. In questo modo:

  • si favoriscono i processi più corti;
  • con alcuni accorgimenti è possibile evitare condizioni di starvation.

FSS

L'algoritmo FSS (Fair share scheduling) raccoglie i processi in gruppi, così è possibile avere un controllo sulla distribuzione delle risorse computazionali più ampio.

Scheduling nelle reti

Nell'ambito delle reti di telecomunicazioni in maniera molto simile al contesto informatico il termine "scheduling" indica il processo, messo in atto dallo scheduler in uscita ad un nodo di commutazione a pacchetto, per selezionare e assegnare secondo varie possibili classi di priorità il diritto di trasmissione alle varie possibili code (buffer) di pacchetti in situazione di congestione garantendo il rispetto dei parametri di qualità di servizio (QoS) da offrire all'utente per le varie tipologie di traffico in ingresso.

Bibliografia

  • Sistemi operativi, concetti ed esempi (A. Silbershatz, P. Baer Galvin, G. Gagne, 2003, editore Pearson Educational, ISBN 8871921402). Sistemi operativi, Gestione dei processi, gestione della memoria, I/O.
  • Architettura dei Sistemi di Elaborazione, volume 1 (F. Baiardi, A. Tomasi e Marco Vanneschi, 1988, Franco Angeli Edizioni, ISBN 882042746X). Fondamenti, firmware, architetture parallele.
  • Architettura dei Sistemi di Elaborazione, volume 2 (F. Baiardi, A. Tomasi, Marco Vanneschi, 1987, Franco Angeli Edizioni, ISBN 882042746X) Sistemi operativi, multiprocessore e distribuiti.

Voci correlate

Altri progetti

Collegamenti esterni

金牛座和什么星座不合 12min是什么意思 刘备和刘邦什么关系 豆是什么结构 吃什么补羊水
肾亏是什么原因造成的 回南天什么意思 什么坚果适合减肥吃 梦见皮带断了什么预兆 肛瘘不治疗有什么后果
贫血三项是指什么检查 低碳生活是什么意思 不是什么意思 上梁不正下梁歪什么意思 血脂稠是什么原因造成的
6月18是什么星座 没有淀粉可以用什么代替 什么人容易得脑梗 什么是单反相机 鼻子干燥是什么原因
尿潴留吃什么药hcv8jop5ns7r.cn 女性憋不住尿是什么原因hcv9jop3ns8r.cn 什么什么自如hcv9jop7ns1r.cn 做手术后吃什么对伤口恢复快hcv8jop7ns7r.cn butter是什么意思beikeqingting.com
为什么总是想睡觉hcv9jop7ns3r.cn 威胁是什么意思hcv9jop4ns1r.cn 晚上睡觉老做梦是什么原因hcv7jop9ns3r.cn 支气管炎吃什么消炎药hcv8jop6ns6r.cn 月经为什么来了一点又不来了hcv8jop4ns7r.cn
3.22是什么星座hcv9jop4ns0r.cn 口水分泌过多是什么原因zhongyiyatai.com 福报是什么hcv7jop5ns3r.cn 良人什么意思hcv9jop7ns5r.cn or发什么音hcv8jop5ns9r.cn
调节肠道菌群吃什么药hcv8jop7ns0r.cn 尿黄是因为什么hcv8jop9ns5r.cn 什么食物吃了会胀气hcv8jop5ns7r.cn 高姓和什么姓是世仇hcv9jop0ns0r.cn 瑞字属于五行属什么hcv8jop7ns0r.cn
百度