vagappc ha scritto:@clros
Hai detto
In che senso "non ha ancora un vero multitasking premptive" ??
Come sarebbe il multitasking (multithreading) di windows?
Premptive e mutlithreading sono due cose diverse.
Cioè
?? Il mutithreading non è preempitive? E come vengono prelazionati i Thread?
Non esiste una primitiva tipo Yield()?
Vuoi dire che esistono sistemi reali con multithreading cooperativo? Da quando?
Meno male che vuoi argomentazioni tecniche.
Spiega, spiega...
Inoltre windows non è in gradi di gestire le pipeline tra i thread ma li costringe a passare le informazioni attraverso la chace come avviene tra i core.
Lo capisci da come distribuisce i singoli thread dello stesso processo tra le CPU.
Certo, sono scelte di progetto, anche se ho sempre saputo che Windows alloca il thread sulla CPU che l'ha eseguito più di recente proprio per velocizzare l'esecuzione (i dati dovrebbero essere già presenti in cache e si sfrutta la località spaziale/temporale), invece mi dici che usa un'altra politica?
Ma quale versione di Windows esattamente? Perchè le varie versioni variano la politica di scheduling in base alla destinazione d'uso (server, mobile, ecc..).
Ma tu come fai ad accorgerti della distribuzione dei thread tra i vari core/CPU? Il codice sorgente non è disponibile (non per noi almeno), con quale software lo hai scoperto?
Ma tutto questo che c'entra con la prelazione fra processi/thread?
Visto che siamo in tema, come fa invece Linux a distribuire i thread tra i processori?
Gli OS moderni lo fanno da almeno 15 anni, linux è in grado di modificare lo schedulling dei processi affinché l'utilizzo del multitasking sia orientato all'uso server, calcolo, desktop, multimedia o quello che ti puoi inventare.
Bhe, la prima volta che ho sentito parlare di un os multithreading (per forza di cose con prelazione) è stato Windows 2000 quindi 21 anni fa.
Anche Windows modifica lo scheduler, (perchè mai non dovrebbe/potrebbe farlo?), proprio per adattarsi ai vari contesti operativi, cosa c'è di strano? Linux lo fa dinamicamente (a runtime)?
Il codice si studia eccome, mediamente viene osservato da circa 42milioni di persone.
Capita spesso di dare un occhiata ai progetti dei sorgenti, specie se è una cosa nuova.
Anche perché la prima documentazione rilasciata è proprio quella dell'autore.
Non a caso la risoluzione media dei bug del software open è 1 ogni 90 minuti.
Devo dirlo al mio avvocato di studiarsi il codice del suo software per vedere se contiene bug
Si lo studio dei sorgenti di altri è uno dei migliori modi per imparare a programmare.
sperando di non fare un banale copia/incolla!
Io comunque parlavo degli utenti che il computer lo hanno pagato e lo vogliono usare per lavorarci.
Capisci che è impensabile che si mettano a guardare il codice/programmare?
Per questo ti chiedevo di farci sapere come fai tu che decanti tanto le caratteristiche del codice aperto, ma non ci hai ancora detto coem fai a controllora i bug.
I programmi privi di sorgenti spesso fanno altro oltre quello che appare.
Nello specifico,
quali programmi?
E se non hanno il codice, come fai a renderti conto che fanno altro?
Magari perchè usi software che ne analizza il comportamento (come ti avevo già detto che solitamente si fa)?
Ora mi viene un altro dubbio.
Ma su Linux, ogni volta che scarichi un programma, lo controlli e lo compili prima di lanciarlo??
Perchè, se non lo fai e scarichi l'eseguibile già compilato, sai che hai gli stessi identici dubbi sui bug/sicurezza?
Perchè qualcuno potrebbe fornirti un binario buggato o con backdoor e dire che il sorgente è tutt'altro!
Potrei in un oretta scrivere un programma in python standalone portable su CD darlo a AMYGASYSTEM e gli brasa il registro e impedendogli di usare winuae tutto mentre gli mostra un messaggio di errore di lettura del CD (così se mi va bene lo clicca più di una volta).
1) Se gli brasa il registro, non ho capito a cosa servirebbe il fatto di doverlo/poterlo lanciare più di una volta.
2) Facci vedere come si fa, siamo curiosi. Ti offro pizza e birra (sul serio)
3) Perchè questo non potrebbe avvenire su Linux? non parlo ovviamente del registro, ma in generale di file di config di altri programmi
Se dedico un po più di tempo si può anche scrivere un programma che senza i privilegi di amministratore può accedere a file protetti che manco l'amministratore può gestire, cosa che dovrebbe essere bloccata dalla memoria protetta.
Non capisco in questo contesto la relazione tra file protetti e memoria protetta
Per farlo è sufficiente evitare il compilatore microsoft o scrivere direttamente in Assembler.
Sul serio??
Vorrei vedere come fai!!
Ma poi, perchè non modifichi direttamente il compilatore Microsoft (Roslin è opensource, non lo sapevi?) così che ti eviti lo sbattimento dell'assembly, chi te la fa fare??
Ma dove avete fatto esperienza sul sito di aranzulla?
Aranzulla? E' un tuo dipendente??