Tiedosto on kokoelma tietoa, joka talletetaanmassamuistille, joka on tyypillisesti haihtumatonta, eli tiedot säilyvät virran katkaisussa tai järjestelmän uudelleenkäynnistyksessä. Käyttäjän näkökulmasta tiedosto on pienin varausyksikkö loogisessa tallennuslaitteessa, eli tietoa ei voi tallettaa ilman sen sijoittamista tiedostoon. Tiedostot voivat olla tietokoneohjelmia tai käyttäjändataa.[3]
Useimmissa nykyisissä käyttöjärjestelmissä tiedosto on vain peräkkäin tallennettu joukko tavuja, ja siihen viitataantiedostonimen avulla. Tiedostontiedostomuodon tunnistaminen ja tiedon tulkitseminen ja sen käsittely jää kokonaan sovellusohjelmien vastuulle.Tätenkäyttöjärjestelmä ei ota kantaa siihen sisältääkö tiedosto tekstiä, kuvaa vai ääntä ja käsittelee kaikkia tiedostoja samalla tavoin.
Tiedostojen tallennus massamuistiin tapahtuutiedostojärjestelmän tasolla. Tiedostot järjestetään hierarkkisesti sisäkkäisiinhakemistoihin eli kansioihin, joista lueteltaessa muodostuuhakemistopolku. Nimen lisäksi tiedostoon liittyvää välttämätöntämetatietoa on sen kokotavuina, sillä tiedosto sisältää sille ennalta määrätyn määrän tavuja. Tiedostoille voidaan määrittää myös omistaja ja eritasoisia käyttöoikeuksia.
Unix-järjestelmissä tiedostot ovat yksiulotteinen joukko tavuja ilman tiettyä rakennetta.[4][5]
On eräitä käyttöjärjestelmiä, joissa tiedosto voi olla yksinkertaista tavujen joukkoa rakenteellisempi. Tällainen on ainakinOpenVMS:nFiles-11-tiedostojärjestelmä, jossa tiedosto voi koostuatietokannan tavoin määrätyistätietueista, joissa voi olla useampia määrättyjä kenttiä.[6] Toinen nykyisestä käytännöstä poikkeava käyttöjärjestelmä onCP/M, jonka tiedostoilla ei ole kokoa, vaan tietty määrä varattuja lohkoja. Tällöin sovellusohjelman pitää itse huolehtia siitä, ettei se lue tiedostoon kuulumatonta tietoa.
Unixin merkittäviin ominaisuuksiin sen kehittäjien mukaan kuuluu hierarkkinen tiedostojärjestelmä ja yhteensopivat rajapinnat. Jälkimmäisestä seuraa käsite "kaikki ovat tiedostoja" (Everything is a file), jossa laitteita voitiin käsitellä tiedostojen kaltaisen rajapinnan kautta. Myöhemmin tätä on täsmennetty muotoon "kaikki ovat tiedostokahvoja", jossa tiedostokahva on yhdistävä tekijä.[7]