"सब कुछ एक फाइल है" सिर्फ एक ओवरस्टैमेंट है। यह 1970 के दशक में उपन्यास था और यह था यूनिक्स का एक प्राथमिक ख़ास विशेषता। लेकिन यह सिर्फ एक विपणन अवधारणा है, यूनिक्स की वास्तविक नींव नहीं है, क्योंकि यह स्पष्ट रूप से सच नहीं है। यह एक फ़ाइल के रूप में हर उपचार के लिए फायदेमंद या समझदार नहीं है।
सीपीयू एक फाइल है? क्या आपका प्रोग्राम एक नया निर्देश प्राप्त करने के लिए सीपीयू पढ़ता है ()? रैम एक फाइल है? क्या आपका प्रोग्राम अगले बाइट को पढ़ता है?
इसके बाद, वहाँ ओएस के प्रकार थे जो आपको फ्लॉपी डिस्क के लिए एक एपीआई और हार्ड डिस्क के लिए एक अलग एपीआई, चुंबकीय टेप के लिए एक अलग एपीआई और विभिन्न टर्मिनलों के लिए अलग-अलग एपीआई का एक गुच्छा और इतने पर। आईबीएम मेनफ्रेम सिस्टम में हार्ड डिस्क पर विभिन्न प्रकार की फाइलें थीं और आपको उनमें से हर एक को एक अलग एपीआई दिया गया था, यह विश्वास है या नहीं! तो UNIX "यह एक फ़ाइल है" दृष्टिकोण, साथ में "stdin / stdout / stderr" दृष्टिकोण, दोनों उपयोगकर्ताओं और प्रोग्रामर के लिए एक बहुत ही सुंदर अमूर्तता लाया।
नेटवर्क के साथ, यह विशेष अमूर्त सिर्फ काम नहीं किया। और कोई नुकसान नहीं है, बस ओएस की थोड़ी कम समग्रता और सुसंगतता। लेकिन यह काम करता है। क्या आपको /dev/myinternetz/www/google/com/tcp/80
आज आपके सिस्टम पर कहीं भी एक फ़ाइल कहा जाता है? क्या आप इसे खोल सकते हैं (), इसे लिख सकते हैं () एक क्वेरी, और पढ़ सकते हैं () अच्छा HTML में जवाब? नहीं? ऐसा इसलिए है क्योंकि यह "एक फ़ाइल है" नेटवर्क के आसपास बातचीत करने के लिए अमूर्तता बहुत आसान नहीं थी। यह व्यवहार में बहुत अच्छा काम नहीं करेगा। कार्रवाई में टपका हुआ अमूर्त का कानून ।