Schedulazione Dei Processi Nel sistema a singola CPU, potendo eseguire un solo processo alla volta, gli altri processi devono attendere che la CPU sia libera per poter essere assegnata ad uno di loro. Lo scheduling è una tecnica di allocazione delle risorse utilizzata dai sistemi operativi, per gestire le richieste derivanti da più processi che concorrono per il loro utilizzo. Esso mira a rendere il sistema: >efficiente >produttivo >veloce nelle risposte
Gli algoritmi (o politiche) di scheduling della CPU basano le proprie scelte sulle informazioni contenute nei descrittori di processo (PCB) in riferimento ai seguenti obiettivi: 1)massimizzare - il throughput (produttività) - l’utilizzo della CPU (efficienza) minimizzare - l’overhead (spreco di risorse) - il tempo di turnaround (completamento) - il tempo di risposta - il tempo di attesa 2)garantire - fairness (equità)
Ma cosa è un descrittore? In un sistema multiprogrammato è necessario mantenere memorizzate le informazioni relative ai diversi stati in cui i processi vengono a trovarsi durante il loro ciclo di vita. Pertanto, ad ogni processo il S. O. associa una struttura dati, detta descrittore di processo o Process Control Block (PCB), nella quale vengono registrate una serie di informazioni utili per la gestione dello stesso processo. Quindi in poche parole, un descrittore è una "tabella" che contiene delle informazioni riguardanti un processo: >il nome del processo (PID) >lo stato del processo >il contenuto del program counter >contesto del processo >informazioni di scheduling >informazioni sulla gestione della memoria >utilizzo delle risorse >informazioni di contabilizzazione
Ma sappiamo cosa è in poche parole un processo? Un processo è un programma (o una parte di programma) che è caricato (quindi risiede) nella memoria centrale (RAM). Qualsiasi altra cosa che non è caricata sulla ram, non è un processo! Un processo per poter lavorare deve essere PERFORZA sulla ram. (Oppure in alcuni casi su una parte di HD chiamata memoria virtuale che magari spiegherò più avanti). E' inoltre bene sapere che un processo ha degli "stati" in cui si può trovare: nuovo: il processo viene creato pronto: il processo è pronto per l’esecuzione in esecuzione: il processo è in esecuzione bloccato: il processo è in attesa di un evento terminato: il processo rilascia la risorsa processore
Tornando alla schedulazione, ci sono 3 tipi di schedulazione: -Breve termine - Riguarda i processi nella coda dei pronti. -Medio termine - Riguarda i processi sulla memoria virtuale. -Lungo termine - Riguarda tutti i possibili processi che potranno essere eseguiti.
La schedulazione, utilizza diversi tipi di algoritmi per scegliere quale processo mandare al processore. Vediamone alcuni semplici:
CFFS:First Come First Served: Ovvero il primo processo che arriva, è il primo a entrare (FIFO). SJF: Shortest Job First: Ovvero il processo che richiede minor tempo di utilizzo della CPU sarà il primo a entrare. Priorità: A ogni processo viene assegnata una priorità (O dal programmatore o dall'S.O). Quello con priorità più alta sarà il primo ad essere assegnato. Round Robin: Il primo processo che arriva viene dato alla CPU e gli si da un tempo random in cui lavorare, se in questo tempo non ha finito i suoi compiti, viene tolto dalla CPU e viene assegnato un nuovo processo.
Sulla schedulazione dei processi ci sono altre millemila cose da dire che non metto altrimenti verrebbe un papirone più di quanto non lo sia di già.
Spero che la guida sia stata utile ed esauriente.
Fonti: Me + Mie slide date a scuola + Google Immagini. Slide usate per alcune definizioni specifiche che non si possono dire a parole proprie.
Navigando in rete tra forum in cerca di testi sul modello TCP/IP, ho scovato questo autore Italiano. Si chiama Flavio Bernardotti, nel suo sito si presenta come consulente informatico, ma oltre a esercitare la sua professione, quest'uomo ha scritto una collezione di libri di centinaia (alcuni migliaia) di pagine, distribuiti in rete in modo totalmente gratuito.
I titoli dei tomi gratuiti sono: -Hacking & Cracking -CPPBuilder e Visual C++ -ICMP -NetBios -NeuralWord -Programmazione avanzata in Linguaggio C -Programmazione in C in ambiente Unix -Programmazione in C++ -Programmazione in Java -SQL -Storia Hacker Italiana -Tips&Trick in C -TSR -Hacker’s Programming Book (1600 Pagine!!) -Progettazione Biometrica
Vi lascio il link del sito, nel quale potrete trovare cose molto interessanti: www.bernardotti.it
Ciao questa è la mia prima guida, quindi sono inesperto ma cercherò di essere il più chiaro possibile.
ATTENZIONE: Ne io ne il forum ci assumiamo nessuna responsabilità di quello che potrebbe succedere al vostro dispositivo.
Prima di iniziare dovete sapere che eseguendo il root invaliderete la garanzia del vostro dispositivo e se sbagliate qualche passaggio il vostro dispositivo potrebbe andare in brick (mai successo a nessuno... però mai dire mai)
Iniziamo a spiegare cos'è il Root. Il Root ci permette di diventare un super user (Utente che può gestire lo smartphone totalmente) arrivando alla Radice (Root) del device e da lì potenziarlo e personalizzarlo.
Se avete installato installato Samsung Kies, riavviate il pc per permettere ai driver di essere installati. Fatto questo dovete aprire il file zip di odin e eseguire il file .exe che trovate nella cartella Odin v3.04.Una volta aperto Odin dobbiamo avviare il nostro dispositivo in Download Mode (da spento premere contemporaneamente i pulsanti Power, Volume giù e home) si aprirà una schermata che vi avvertirà che siete in Download Mode, premete il tasto Volume Su per continuare.Collegate il dispositivo al pc e aspettate che vengano installati tutti i driver. Se avete Samsung Kies aperto chiudetelo ed aprite Odin, dovrebbe comparirvi in una casellina gialla, il nome della porta a cui è collegato il dispositivo es. [COM:3] Estraete il file .tar dal file cwm6-root-n7100.rar linkato sopra e posizionatelo sul desktop, inserite in PDA il file che avete apena posizionato sullo schermo e Premete su start. Attendete che finisca e che il dispositivo si riavvii Ora avete un Samsung Galaxy Note 2 rootato
Come avrete ampiamente intuito dal titolo del post, stiamo per vedere insieme come creare una cartella protetta da password, senza programmi aggiuntivi. Che ci crediate o no, bastano il classico Blocco Note di Windows (o qualsiasi altro editor di testo) e 30 secondi del vostro tempo. Ecco prima il "passo-passo"; se non vi è chiaro un passaggio, fate riferimento al video inserito più in basso:
1) Aprire il Blocco Note; 2) Copiare ed incollare all’interno del nuovo file di testo il codice che trovate più in basso (nello spoiler); 3) Recarsi nel menu Modifica > Sostituisci…; 4) Inserire Personal, nel campo “Trova“, il nome della cartella protetta da password che s’intende creare (ad esempio CartellaSegreta), in quello “Sostituisci con“, e cliccare sul pulsante “Sostituisci tutto“; 5) Scrivere la parola chiave con la quale s’intende proteggere la cartella da creare, sostituendo quest’ultima alla parola “password” presente per due volte nel codice, immediatamente dopo “%pass%==“; 6) Salvare il testo come script con estensione .bat (ad es: cartella segreta.bat); 7) Aprire, tramite doppio click, lo script appena creato; 8) Utilizzare la cartella generata (ossia quella indicata precedentemente nello script, attraverso la sostituzione del valore “Personal” in Blocco Note) per conservare ciò che più si desidera; 9) Aprire nuovamente, tramite doppio click, lo script creato e rispondere in maniera affermativa alla domanda relativa alla protezione della cartella generata (scrivendo Y e premendo il tasto Invio); 10) Quasi come per magia, la cartella scomparirà (rimanendo invisibile anche abilitando l’opzione che consente la visualizzazione di file e cartelle nascosti nell’esplora risorse di Windows); 11) Aprire nuovamente lo script ed inserire la parola chiave scelta (ossia quella scritta nel Blocco Note, sostituendo il valore “password”) per accedere nuovamente alla cartella; 12) Ripetere la procedura dal punto 9 in poi per gestire la propria cartella segreta.
cls @ECHO OFF title Folder Personal if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK if NOT EXIST Personal goto MDLOCKER :CONFIRM echo Are you sure u want to lock the folder(Y/N) set/p "cho=>" if %cho%==Y goto LOCK if %cho%==y goto LOCK if %cho%==n goto END if %cho%==N goto END echo Invalid choice. goto CONFIRM :LOCK ren Personal "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" echo Folder locked goto End :UNLOCK echo Enter password to Unlock folder set /p "pass=>" if NOT %pass%==password goto FAIL attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Personal echo Folder unlocked successfully goto End :FAIL echo Invalid password goto UNLOCK2 :FAIL2 echo Invalid password goto end :MDLOCKER md Personal echo Folder created successfully goto End :UNLOCK2 echo Last chance to enter correct password to unlock folder set /p "pass=>" if not %pass%==password goto FAIL2 attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Personal echo Folder unlocked successfully :End
Come ampiamente intuibile, il numero di script da poter sfruttare e di cartelle segrete di cui potersi servire è potenzialmente infinito. Basta cambiare il valore “Personal“, quello “password” (se lo si desidera) e fare molta attenzione a dove si conservano i file bat utili ad accedere alle directory generate.
Ciao a tutti! Come sapete, è sempre stata di nostro interesse la pulizia e la tutela di questo forum. Da quello che noi dello staff vediamo ogni giorno, l'ordine sta calando: sezioni piene di discussioni inutili, titoli inappropriati e altro.
Tutti questi fattori abbassano il livello di attendibilità che questo forum si è guadagnato in tanto tempo.
Tutti noi vogliamo tenere il forum in buone condizioni, no?
Per questo, lo Staff ha deciso di introdurre un nuovo metodo di postare le discussioni: quando andrete a creare un nuovo thread, dovrete stare attenti che nel titolo ci sia il giusto identificativo per ciò che andrete a postare.
Esempio. [tutorial]Come assemblare un pc.
Così facendo chi leggerà quel titolo capirà già che in quella discussione c'è un tutorial e quindi se non gli serve, non entra.
Il fine di questo nuovo metodo è quello di rendere la navigazione nel forum più sicura e diretta.
p.s. Naturalmente potrete usarne anche altri o dei sinonimi... l'importante è che ci sia almeno un identificativo nel titolo della discussione p.p.s. Per chi non dovesse seguire queste direttive più volte anche dopo molti richiami verranno presi dei provvedimenti
/*questi identificativi sono stati scelti dopo aver valutato il contenuto della maggior parte delle discussioni in questo forum*/