पर एसएसडी स्टोरेज डिवाइस का पता लगाना मैं एक ओएस पोर्टेबल प्रोग्राम पर काम कर रहा हूं जो यह पता लगाने से लाभान्वित होगा कि कोई भौतिक स्टोरेज डिवाइस एसएसडी या सादा पुरानी स्पिन-डिस्क है या नहीं।POSIX OS'es
लिनक्स पर है:
/sys/block/sdX/queue/rotational
जो 0 या 1 लौट ही SSD, लेकिन मुझे यकीन है कि अगर यह सबसे अच्छा तरीका है नहीं कर रहा हूँ।
Windows और यूनिक्स पर मैं यह पता लगाने का कोई तरीका नहीं मिला है, शायद मैं ioctl DEVICE_SEEK_PENALTY_DESCRIPTOR
का उपयोग करना चाहिए और जाँच penelty (जो एक एसएसडी संग्रहण उपकरण पर बहुत कम होना चाहिए) की तलाश, या शायद DeviceIoControl
का उपयोग नाममात्र मीडिया जांच करने के लिए घूर्णन दर (जो एक एसएसडी स्टोरेज डिवाइस पर बहुत कम होना चाहिए)।
पीओएसईक्स संगत ओएसएस पर एसएसडी डिस्क का पता लगाने के साथ आगे बढ़ने के लिए मेरे लिए कोई सिफारिशें?
कोई मानक इंटरफ़ेस नहीं है, इसलिए आपको बोर्ड में कुछ ओएस विशिष्ट करना होगा। यह अच्छा होगा अगर इसे निर्धारित करने का एक सरल क्रॉस-प्लेटफार्म तरीका था। लिनक्स के लिए, आईआईआरसी 'घूर्णन' यूएसबी कलम ड्राइव के लिए '0' भी होगा। – Petesh
@ पेटेश एसएसडी स्टोरेज डिवाइस का पता लगाने का कोई विश्वसनीय तरीका नहीं है, तो इसे POSIX मानक में प्राप्त करना मुश्किल होगा। –
आपके आवेदन को एक विनम्र उपयोगकर्ता-सेट विकल्प, शायद सभी डिस्क की एक अच्छी तालिका से लाभ होगा और क्या उन्हें "एसएसडी मोड", "स्पिनर मोड", या संभवतः "रैम डिस्क मोड", "अज्ञात NAS में उपयोग किया जाना चाहिए डिवाइस मोड "," हास्यास्पद विशेष फाइल सिस्टम मोड ", और इसी तरह। मैं एक पहचान सुविधा विकसित करने पर समय बर्बाद नहीं करूंगा जो शायद किसी भी मामले में मैन्युअल समीक्षा और ओवरराइड की आवश्यकता होगी। –