OSHI هي مكتبة مجانية لنظام التشغيل ومعلومات الأجهزة تعتمد على JNA لـ Java. لا يتطلب تثبيت أي مكتبات أصلية إضافية ويهدف إلى توفير تطبيق عبر الأنظمة الأساسية لاسترداد معلومات النظام، مثل إصدار نظام التشغيل والعمليات واستخدام الذاكرة ووحدة المعالجة المركزية والأقراص والأقسام والأجهزة وأجهزة الاستشعار وما إلى ذلك.
- المنصات المدعومة
- التنزيلات وإدارة التبعية
- التوثيق
- الاستخدام
- الميزات المدعومة
- يدعم
- OSHI للمؤسسات
- معلومات الاتصال الأمنية
- حالة اختبار التكامل المستمر
- كيف يمكنني المساعدة؟
- المساهمة في OSHI
- شكر وتقدير
- رخصة
المنصات المدعومة
- ويندوز
- ماك
- لينكس (أندرويد)
- يونكس (إيكس، فري بي إس دي، أوبن بي إس دي، سولاريس)
التوثيق
- واجهة برمجة التطبيقات (جافادوكس)
- التعليمات
- تغيير السجل
- اعتبارات الأداء
- النسخة الرئيسية كسر التغييرات
- إخراج العينة
- التطبيقات والمشاريع باستخدام OSHI
التنزيلات وإدارة التبعية
نسخة الإصدار مستقرة
- JDK8: أوشي-كور-6.6.5
- JPMS: أوشي-كور-java11-6.6.5
- JDK6: أوشي-كور-3.14.0
تنزيلات التطوير الحالي (SNAPSHOT).
- JDK8: أوشي-كور-6.6.6-SNAPSHOT
- JPMS: أوشي-كور-java11-6.6.6-SNAPSHOT
الاستخدام
- قم بتضمين OSHI وتبعياته في مسار الفصل الخاص بك.
- نوصي بشدة بإضافة
oshi-core
باعتباره تبعية لمدير تبعية مشروعك مثل Maven أو Gradle. - بالنسبة لنظام التشغيل Android، ستحتاج إلى إضافة قطعة أثرية AAR لـ JNA واستبعاد تبعية OSHI المتعدية (JAR).
- راجع الأسئلة الشائعة إذا واجهت مشكلات
NoClassDefFoundError
أو NoSuchMethodError
.
- قم بإنشاء مثيل جديد لـ
SystemInfo
- استخدم الحروف من
SystemInfo
للوصول إلى مكونات الأجهزة أو نظام التشغيل، مثل:
SystemInfo si = new SystemInfo ();
HardwareAbstractionLayer hal = si . getHardware ();
CentralProcessor cpu = hal . getProcessor ();
راجع SystemInfoTest.java للحصول على أمثلة. لرؤية عينة الإخراج لجهازك:
git clone https://github.com/oshi/oshi.git && cd oshi
./mvnw test-compile -pl oshi-core exec:java
-Dexec.mainClass= " oshi.SystemInfoTest "
-Dexec.classpathScope= " test "
بعض الإعدادات قابلة للتكوين في ملف oshi.properties
، والتي يمكن معالجتها أيضًا باستخدام فئة GlobalConfig
. يجب أن يتم ذلك عند بدء التشغيل، حيث أن التكوين ليس آمنًا لمؤشر الترابط ولا يضمن OSHI إعادة قراءة التكوين أثناء التشغيل.
تشتمل أداة oshi-demo
على العديد من أمثلة إثبات المفهوم لاستخدام OSHI للحصول على المعلومات، بما في ذلك واجهة المستخدم الرسومية Swing الأساسية.
الميزات المدعومة
- نظام الكمبيوتر والبرامج الثابتة، اللوح
- نظام التشغيل والإصدار/البناء
- وحدات المعالجة المركزية (CPU) المادية (الأساسية) والمنطقية (المتعددة الخيوط) ومجموعات المعالجات وعقد NUMA
- تحميل النظام ولكل معالج، وعدادات علامات الاستخدام، والمقاطعات، ووقت التشغيل
- وقت تشغيل العملية، وحدة المعالجة المركزية، استخدام الذاكرة، المستخدم/المجموعة، وسائط سطر الأوامر، تفاصيل الموضوع
- الذاكرة الفعلية والافتراضية المستخدمة/المتوفرة
- أنظمة الملفات المثبتة (النوع، المساحة القابلة للاستخدام والمساحة الإجمالية، الخيارات، القراءة والكتابة)
- محركات الأقراص (الطراز والتسلسل والحجم والقراءة والكتابة) والأقسام
- واجهات الشبكة (عناوين IP، النطاق الترددي الداخلي/الخارجي)، معلمات الشبكة، إحصائيات TCP/UDP
- حالة البطارية (% السعة، الوقت المتبقي، إحصائيات استخدام الطاقة)
- أجهزة يو اس بي
- شاشات العرض المتصلة (مع معلومات EDID)، وبطاقات الرسومات والصوت
- أجهزة الاستشعار (درجة الحرارة، وسرعات المروحة، والجهد) على بعض الأجهزة
يدعم
- بالنسبة لتقارير الأخطاء أو طلبات الميزات أو الأسئلة العامة حول خطط OSHI طويلة المدى، يرجى إنشاء مشكلة.
- للمساعدة في دمج OSHI في مشروعك الخاص أو مراجعة كود المشرف لممثلي العلاقات العامة لديك، ضع علامة
@dbwiddis
في المشكلات أو اسحب الطلبات إلى موقع مشروعك. - بالنسبة للأسئلة المتعلقة بكيفية استخدام واجهة برمجة التطبيقات (API)، راجع الأمثلة في مشروع
oshi-demo
، أو قم بإنشاء مشكلة، أو ابحث في Stack Overflow باستخدام علامة oshi
، واطرح سؤالاً جديدًا إذا لم تتم الإجابة عليه من قبل. - للتعبير عن الشكر لمشرف OSHI الأساسي، يمكنك رعايته أو شراء القهوة له.
OSHI للمؤسسات
متاح كجزء من اشتراك Tidelift
يعمل القائمون على صيانة OSHI وآلاف الحزم الأخرى مع Tidelift لتقديم الدعم التجاري والصيانة للتبعيات مفتوحة المصدر التي تستخدمها لبناء تطبيقاتك. يمكنك توفير الوقت وتقليل المخاطر وتحسين سلامة التعليمات البرمجية، مع الدفع لمشرفي التبعيات الدقيقة التي تستخدمها. يتعلم أكثر.
معلومات الاتصال الأمنية
للإبلاغ عن ثغرة أمنية، يرجى استخدام جهة الاتصال الأمنية Tidelift. سوف يقوم Tidelift بتنسيق الإصلاح والكشف.
حالة اختبار التكامل المستمر
كيف يمكنني المساعدة؟
نشأت OSHI كمكتبة مستقلة عن النظام الأساسي ولا تتطلب برامج إضافية ولديها ترخيص متوافق مع كل من المنتجات مفتوحة المصدر والمنتجات التجارية. لقد قمنا بتطوير مجموعة قوية من الميزات في أنظمة التشغيل الرئيسية، ولكننا نود مساعدتك من خلال:
- اختبار! يقتصر اختبار CI الخاص بنا على عدد قليل من المنصات. قم بتنزيل البرنامج واختباره على أنظمة التشغيل/الإصدارات والأجهزة المختلفة وساعد في تحديد الثغرات التي ربما أغفلها تطويرنا واختبارنا المحدود. تشمل احتياجات الاختبار المحددة ذات الأولوية العالية ما يلي:
- أنظمة Windows التي تحتوي على أكثر من 64 معالجًا منطقيًا
- راسبيري بي
- توزيعات Linux الأقل شيوعًا
- رمز المساهمة. هل ترى شيئًا لا يعمل بشكل صحيح أو يمكن أن يعمل بشكل أفضل؟ ساعدنا في إصلاحه! المساهمين الجدد هي موضع ترحيب.
- توثيق التنفيذ. موقع Wiki الخاص بنا متناثر وأداة
oshi-demo
عبارة عن مكان لاستضافة أفكار إثبات المفهوم. هل تريد مساعدة المستخدمين الجدد على اتباع خطواتك؟ - اقتراح ميزات جديدة. هل تحتاج إلى OSHI للقيام بشيء لا يفعله حاليًا؟ اسمحوا لنا أن نعرف.
المساهمة في OSHI
- كيفية المساهمة
- كيفية الافراج
شكر وتقدير
شكرًا جزيلاً للشركات التالية لتقديم الدعم المجاني للمشاريع مفتوحة المصدر بما في ذلك OSHI:
- SonarCloud لمجموعة من أدوات جودة التعليمات البرمجية
- GitHub Actions وAppVeyor وCirrus CI لاختبار التكامل المستمر
- يستخدم jProfile Java Profiler للتخلص من اختناقات وحدة المعالجة المركزية
رخصة
هذا المشروع مرخص بموجب ترخيص MIT.