Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-04-2010, 16: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, 19: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, 19: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, 14: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, 14: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, 17: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, 11: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, 13: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, 11: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, 13: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, 14: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, 15: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, 15: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, 15: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, 15: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, 15: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, 20: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, 20: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, 21: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, 08: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


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
NVIDIA mostra una comunità di rob...
Sony annuncia LYTIA L910, arriva il sens...
Ericsson, il 5G è l’infrastruttur...
Marvell punta tutto su TSMC A14: sar&agr...
Hyundai a un passo dal controllo totale ...
Questo SSD vecchio 16 anni ha resistito ...
Monopattino elettrico Xiaomi in offerta:...
Microsoft usa le capre di Age of Empires...
Microsoft conferma bug nel Cestino in tu...
Accenture crolla del 20% in borsa, il pe...
ASUS Pro WS W890E-SAGE SE: sette PCIe 5....
Attenzione al prezzo di questa TV Hisens...
Chrome sbeffeggiato da Ballmer nel 2009:...
Un gioco Mac compatibile con Apple Silic...
La batteria allo stato solido di Honda s...
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:00.


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