Comandi
|
[b]-[/b] Attiva/disattiva il neretto
[i]-[/i] Attiva/disattiva l'italico
[br] Inserisce un a capo
[p] Inserisce un interruzzione di paragrafo
[center]-[/center] Attiva/disattiva allineamento centrato
[justify]-[/justify] Attiva/disattiva allineamento giustificato
[box]-[/box] Apre/chiude una tabella
[boxcell] o [boxcell=n]-[/boxcell] Apre/chiude una cella
[boxrow]-[/boxrow] Apre/chiude una linea di celle
[quote]-[/quote] Crea un box per quotare commenti.
[quote=titolo]-[/quote] Come Quote ma con titolo.
[size=valore]-[/size] Imposta la grandezza del carattere
[color=valore]-[/color] Imposta il colore del testo.
[url=indirizzo]-[/url] Attiva una porzione di testo
[img]indirizzo[/img] Visualizza l'immagine indicata in 'indirizzo'.
[img;w=px;h=px;mini=%]indirizzo[/img] Come sopra, w ed h sono base e altezza in pixel o mini č la percentuale di riduzione dell'immagine. Con mini=std l'immagine avrŕ una grandezza predefinita
|
|
|
|
Rispondi ad un commento
|
Regolamento Commenti e Topic
Tutti gli utenti che usufruisco di questo servizio sono pregati di rispettare poche semplici regole:
- Non e' possibile inserire commenti/topic contenenti volgarita', torpiloquio e/o offese di vario genere.
- E' assolutamente vietato inserire immagini e/o link a sfondo pornografico.
- Sarebbe preferibile evitare commenti mirati alla polemica e alla provocazione.
- Si ricorda che per netiquette, scrivere maiuscolo equivale a "URLARE", non va quindi bene scrivere tutto un post in maiuscolo.
- E' necessario ricordare che non e' bene fare commenti sprezzanti riguardo argomenti quali: religione, politica e la multietnia
- Non sono molto tollerati commenti/topic con eccessive abbreviazioni stile SMS.
- Eventuali critiche all'operato dei moderatori saranno punite a discrezione degli stessi.
- E' consigliabile rileggere sempre i commenti/topic prima di postarli, onde evitare lo spopolare di commenti ricchi di errori che potrebbero anche
essere fraintesi o non compresi da utenti non italiani che sono alle prime armi con la lingua.
- E' buona cosa inserire i Topic nelle corrette sezioni, nell'indice delle stesse e' presente una breve descrizione sul contenuto, in caso di errore
i Topic possono essere spostati nella sezione corretta dagli admin (Mak73)
I commenti/topic che non rispettano tali regole verranno eliminati.
I gestori del sito non si assumono nessuna responsabilita' sul contenuto dei commenti riportati.
|
|
09 Aprile 2020 |
Postato da: AMG_Novice_Usr |
Programmazione su Amiga mediante processi concorrenti o threads |
|
Buongiorno a tutti,
vorrei avere da voi un parere su una questione di programmazione.
Mi sto dilettando, con velleità del tutto ludico-didattiche, a fare qualche programmino su Linux, per essere precisi su Raspberry PI 3,
quindi la distro è Raspbian (flavour di Debian), e la mia curiosità è la seguente: è possibile su Amiga fare le stesse cose, magari sempre
in C, oppure in Basic … non so. Al di là del linguaggio, mi interessa sapere se/come poter implementare lo stesso funzionamento.
Entriamo un po' più nel dettaglio:
date un'occhiata ai seguenti due links (nel primo ci metto il file C sorgente da compilare con GCC da riga di comando, il secondo
link è soltanto l'eseguibile.exe già compilato, lo metto solo se qualcuno volesse prima provarlo, su un Raspberry):
https://drive.google.com/file/d/12plXZBq4FHia MpMXoWE98020cTWx_P9t/view
https://drive.google.com/file/d/1d6ZRaa30-Z5F mZIsW-ui8SnKvrIs3COL/view
Come potere vedere, faccio delle cose molto semplici, ovvero chiamo una fork, dopo la quale avrò, a run-time, un processo padre
ed un processo figlio 1, e poi una seconda fork, da cui il processo padre ed un processo figlio 2, quindi abbiamo 3 processi, con 3
PID diversi, 3 processi concorrenti (stessa priorità? non so … eventualmente in Linux come si fa ad assegnare la priorità ad un
processo?).
Ciascuno di questi 3 processi incrementa un contatore "accessi", stampa a video il valore corrente del suo contatore, esegue la
stessa stampa su un file.txt.
I 3 processi devono essere sincronizzati tramite un semaforo, il quale viene creato grazie alla memoria condivisa (libreria shm.h):
un byte di shared memory viene creato e messo a disposizione di tutti e 3 i processi, quindi questi si sincronizzano fra di loro
leggendo da/scrivendo su questo semaforo fatto in casa.
La sincronizzazione è importante per consentire un accesso alternato/ordinato sia allo standard-output (il video della shell) sia
al file.txt.
Processo Padre: contatore = 1
Processo figlio1: contatore = 1
Processo figlio2: contatore = 1
Processo Padre: contatore = 2
Processo figlio1: contatore = 2
Processo figlio2: contatore = 2
Processo Padre: contatore = 3
Processo figlio1: contatore = 3
Processo figlio2: contatore = 3
ecc...
fino a 10
Non ci devono essere intrecciamenti, battimenti, casini diciamo … il sincronismo deve dare questo risultato, sia a video che sul file.txt.
In effetti tutto funziona perfettamente (provate … potete GCC-compilare il sorgente su qualunque piattaforma che abbia Linux).
La mia domanda quindi è:
vorrei fare la stessa cosa su Amiga. Come fare?
Amiga è un sistema multi-tasking, quindi mi aspetto di poter anche qui far fare una fork ad AmigaOS e gestire in modo sincronizzato
dei processi, esattamente come fatto con Linux.
Vorrei inoltre che mi suggeriate degli ambienti in cui sviluppare, possibilmente in C, queste cose.
Avevo sentito parlare di Lattice C, ovvero un compilatore (4 floppy disk) per C su Amiga.
è disponibile qualcosa del genere, magari che si possa installare su HDD di un Amiga 1200?
Ci sono alternative?
Grazie
|
|
|
|
|
|