Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C]implementazione system call

    ciao a tutti...avete presente la systemcall write(int fd, const void *buf, size_t bytes)
    bene, devo implementare una funzione che faccia praticamente la stessa cosa senza ovviamente poter chiamare la write...stiamo quindi ad un livello bassissimo...come faccio a vedere come hanno implementato la write su un sistema vero??? dove la trovo?? ciao

  2. #2
    Su che piattaforma stai lavorando?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    linux ubuntu 7.10

  4. #4
    Ho riletto il quesito e non mi pare molto chiaro: il concetto stesso di file, la gestione dei driver per dialogare con i dischi fissi e per gestire i file system dipende dal sistema operativo, per cui non credo che sia possibile lavorare senza syscall... :master: Puoi postare quello che dice precisamente il tuo esercizio?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    devo riuscire a scrivere in un file il contenuto di un buffer senza usare ne la write ne la fwrite(che poi si appoggia sulla write) ne nessuna altra funzione analoga...solo che non riesco a trovare nemmeno l'implementazione della write di sistema....

  6. #6
    A me sembra impossibile... nei sistemi operativi moderni i programmi per fare determinate operazioni possono solo appoggiarsi alle syscall (o, sotto Windows, alle API) per ovvie ragioni di sicurezza... passo il testimone a qualcuno che ne sa più di me (la butto lì: oregon o PallinoPinco ) .
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    il fatto è che sto implementando un micro filesystem simile a fat32 che secondo il mio professore pazzo dovrebbe avere delle funzioni di interfaccia chiamate fs_open fs_close fs_write etc etc che si comportano come le open close write etc etc...

  8. #8
    Ah be', questo cambia tutto; tuttavia per poterti dare suggerimenti c'è bisogno della consegna completa dell'esercizio e di quello che hai scritto finora.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    come faccio a vedere come hanno implementato la write su un sistema vero
    Ti scarichi i sorgenti (dei "malloppi") delle librerie standard...

    Per esempio puoi studiare il codice della "piccole" dietLibC, uClibc o della GNU C Library.

    Se vuoi scendere di livello puoi studiarti i sorgenti dei "micro" sistemi operativi.

    In bocca al lupo!
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  10. #10
    beh l'unica cosa che ho è un pdf con una vaghissima spiegazione di come dovrebbe essere il filesystem....appena hai tempo e voglia lo trovi qua...
    file
    ciaoo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.