Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-04-2010, 17:11   #1
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
[C] Creare Shell

Ciao,
Facoltà d'Informatica, secondo semestre, materia Sistemi Operativi.
Il primo semestre abbiamo imparato Java e me la cavo benone. Ora però dal nulla, pretendono che scriviamo una semplice shell in C. Io ho letto in giro, a lezione si parla di semafors, pipes, system calls....ma ciò non mi aiuta a scrivere una shell. In pratica deve "solo" implementare comandi semplici, basilari, ma non ho la più pallida idea di come cominciare.
Qualcuno mi sa dare delle dritte?
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2010, 20:19   #2
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
devi fare un programma che a seconda delle richieste faccia determinate operazioni. non credo che richiedano anche la grafica e tutto...

devi reimplementare i classici comandi cp, ls, mv ...
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 20:15   #3
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da lupoxxx87 Guarda i messaggi
devi fare un programma che a seconda delle richieste faccia determinate operazioni. non credo che richiedano anche la grafica e tutto...

devi reimplementare i classici comandi cp, ls, mv ...
Si lo so, ma il punto è che non so dove cominciare con C. Con Java ad occhi quasi chiusi ti scrivo ti scrivo un programma...
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 15:05   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Si lo so, ma il punto è che non so dove cominciare con C. Con Java ad occhi quasi chiusi ti scrivo ti scrivo un programma...
Non avete mai fatto C e nemmeno C++ ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 15:38   #5
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Si lo so, ma il punto è che non so dove cominciare con C.
in C si comincia "ammainando", ovvero scrivendo la funzione "main"

la funzione main ha diversi possibili prototipi, questo é il piu semplice:
Codice:
int main();
questo é un programma C scheletrico:
Codice:
#include <stdlib.h>
#include <stdio.h>

int main() {
    return 0;
}
i due #include all'inizio servono ad importare due headers predefiniti, ossia due files contenenti le dichiarazioni di funzioni predefinite del linguaggio che si usano molto spesso nei programmi C e che é praticamente certo che userai nello scrivere una shell.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 18:27   #6
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Se vi ha chiesto una shell penso abbiate già fatto le varie exec

da uno sguardo qui dovrebbe aiutarti http://linux.die.net/man/3/execvp
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2010, 12:17   #7
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da clockover Guarda i messaggi
Se vi ha chiesto una shell penso abbiate già fatto le varie exec

da uno sguardo qui dovrebbe aiutarti http://linux.die.net/man/3/execvp
Abbiamo parlato si di exec, forc e roba simile....ma comunque non so come cominciare. Mi sa che appena finito gli esami mi comprerò un "C for dummies".
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2010, 14:06   #8
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Abbiamo parlato si di exec, forc e roba simile....ma comunque non so come cominciare. Mi sa che appena finito gli esami mi comprerò un "C for dummies".
Se hai cominciato con quella roba li hai tutto quello che ti basta per creare una semplice shell... basta solo la buona volontà.. e tanta pazienza
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 12:04   #9
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da cionci Guarda i messaggi
Non avete mai fatto C e nemmeno C++ ?
E visto che devono usare delle system call mi sembra decisamente strano.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 14:52   #10
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
E visto che devono usare delle system call mi sembra decisamente strano.
Quote:
Originariamente inviato da clockover Guarda i messaggi
Se hai cominciato con quella roba li hai tutto quello che ti basta per creare una semplice shell... basta solo la buona volontà.. e tanta pazienza

Il punto è che non mi sembra una cosa da fare. C'è gente come me che all'inizio dell'anno non aveva la più pallida idea della programmazione. Il primo semestre abbiamo fatto JAVA, e ora ci chiedono la shell in C senza darci un minimo di introduzione di C....
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 15:11   #11
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Il punto è che non mi sembra una cosa da fare. C'è gente come me che all'inizio dell'anno non aveva la più pallida idea della programmazione. Il primo semestre abbiamo fatto JAVA, e ora ci chiedono la shell in C senza darci un minimo di introduzione di C....
senza C non penso andrete lontano

per la shell, beh, è banale visto che si tratta di un programma che legge in input dei comandi e tramite fork e exec li esegue
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:33   #12
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Il punto è che non mi sembra una cosa da fare. C'è gente come me che all'inizio dell'anno non aveva la più pallida idea della programmazione. Il primo semestre abbiamo fatto JAVA, e ora ci chiedono la shell in C senza darci un minimo di introduzione di C....
Scusa ma sono scettico sul fatto che non siate stati nemmeno introdotti al C!
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:36   #13
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da clockover Guarda i messaggi
Scusa ma sono scettico sul fatto che non siate stati nemmeno introdotti al C!
http://www.unibz.it/en/inf/progs/bac...ookieSupport=1

Questo è il link dei corsi della facoltà. Se guardi nel primo semestre vedrai Introduction To Programming, dove vedrai che come linguaggio è stato trattato solo Java. Nel secondo semestre trovi Operating System dove viene richiesta la Shell.
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:46   #14
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da Emaborsa Guarda i messaggi
Abbiamo parlato si di exec, forc e roba simile....ma comunque non so come cominciare. Mi sa che appena finito gli esami mi comprerò un "C for dummies".
Non mi pare che qui tu abbia detto la stessa cosa.. Se avete parlato di exec, fork, ecc... qualcosa hai visto.... e il manuale C compralo prima degli esami..

comunque da uno sguardo qui http://www.lilik.it/~mirko/gapil/gapil.html
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:49   #15
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da clockover Guarda i messaggi
Non mi pare che qui tu abbia detto la stessa cosa.. Se avete parlato di exec, fork, ecc... qualcosa hai visto.... e il manuale C compralo prima degli esami..

comunque da uno sguardo qui http://www.lilik.it/~mirko/gapil/gapil.html
Si, ci ha spiegato del forc, exec, dei signals, dei pipes. Ma un conto è parlarne, un conto e programmare in C.
Comunque sia devo farlo, salterò l'esame a giungo e mi dedicherò al C d'estate.
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2010, 16:55   #16
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Guarda che per imparare a programmare non c'è mica bisogno del tipo che ti fa vedere come si scrive un "hello world"... come già ti ho detto serve solo buona volontà.... e mi pare che non ne hai molta.... ciao
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 21:33   #17
morgoth90
Junior Member
 
Iscritto dal: Jan 2010
Messaggi: 16
per fare una shell di base bastano proprio qualche fork e pipe, se ti interessa quì c'è qualche appunto che ho scritto a rigurado
__________________
morgoth90 è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 21:35   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
morgoth90: sei pregato di modificare l'immagine in firma e riportarla a termini di regolamento. Grazie
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 22:12   #19
Emaborsa
Senior Member
 
L'Avatar di Emaborsa
 
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
Quote:
Originariamente inviato da morgoth90 Guarda i messaggi
per fare una shell di base bastano proprio qualche fork e pipe, se ti interessa quì c'è qualche appunto che ho scritto a rigurado
Ci darò un occhiata. Quello che la shell deve fare:
  • 1. your program should be able to read commands from standard input and execute them in a loop until a built-in command exit is issued
  • 2. be able to redirect the standard input and output of commands. This has to be done by prefixing to the command you input (<your command> ) in and out. Specifically you have to type in <new input> <your command> and out <new out> <your command> for redirecting stdin and stdout respectively.
  • 3. be able to terminate the running process (in foreground) when user presses ^C and return back to the mini-shell;
  • 4. be able to interrupt process temporarily, when user presses ^Z, returning to the mini-shell; Up to here all minimal requirements requested to access the exam. The following ones allows higher ranking.
  • 5. be able to execute any number of processes in background (i.e., in parallel with the foreground process), including in particular, the ability to start another process while a process has been temporarily suspended;
  • 6. inform the user when the background process finishes or is waiting for an input from the terminal;
  • 7. be able to inform the user what commands are executing in the background by issuing the built-in command jobs, this should include information about the state of the process (i.e., suspended, background, waiting for input, etc.) and about what file(s) is the background process using for standard input and output);
  • 8. be able to terminate involuntarily a background processes by issuing the built-in command kill job-number.
  • 9. to be able to resume a process or to make a background process into the foreground process (i.e., the one that currently interacts with the terminal) by issuing the fg job-number command.
__________________
Vendo...nulla.
Cerco...la felicità
.
Emaborsa è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2010, 09:42   #20
ErodeGrigo
Senior Member
 
L'Avatar di ErodeGrigo
 
Iscritto dal: Dec 2005
Città: Molise @ vendite 75/acquisti 36 @ Erroneamente denominato: ErodeGigio, ErodeGiorgio, ErodeGrigio, ErodeGrido @ Mi hanno copiato l'avatar
Messaggi: 6147
Quote:
Originariamente inviato da clockover Guarda i messaggi
Guarda che per imparare a programmare non c'è mica bisogno del tipo che ti fa vedere come si scrive un "hello world"... come già ti ho detto serve solo buona volontà.... e mi pare che non ne hai molta.... ciao
Approfitto....

Perchè nel classico "Hello Word" se uso la printf senza includere la libreria stdio.h il programma funziona lo stesso?

Non dovrebbe darmi errore?

Bye.
ErodeGrigo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Sembra ormai certo: la prossima Xbox sar...
“Solutions Beyond Displays”: la strategi...
La società europea The Exploratio...
Dalle auto ai robot umanoidi: Faraday Fu...
Vodafone annuncia la dismissione di un s...
Stiga lancia i nuovi robot tagliaerba co...
Bullismo e cyberbullismo, Keenetic lanci...
Con AI Skills Checker Bitdefender mette ...
E-bike giapponese con 1.000 km di autono...
Un eVTOL con cui basta saper andare in b...
Dal mercato cinese al mondo: HONOR firma...
Sovranità digitale: l'UE sperimen...
Accesso alla memoria su Windows 11 solo ...
iPhone 18 Pro Max con batteria da oltre ...
Windows 11, cali di prestazioni sulle GP...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v