मिनिक्स 3

यूनिक्स-जैसा संचालन प्रणाली

मिनिक्स 3 एक मुक्त स्रोत युनिक्स पर आधारित संचालन प्रणाली है। जिसके प्रकाशन के अधिकार को बीएसडी के तहत उपलब्ध कराया गया है। इसके पिछले संस्करण मिनिक्स 1 और मिनिक्स 2 भी सफल रहे। इसके कारण ही इसके नए संस्करण की परियोजना की शुरुआत की गई।

मिनिक्स 3
Screenshot of MINIX 3
मिनिक्स 3, जो एक्स11 में विण्डोस संचालक के रूप में चल रहा है।
विकासक एंडरिव एस तानेंबौम
प्रचालन तंत्र परिवार यूनिक्स-जैसा
कार्यकारी स्थिति वर्तमान
स्रोत प्रतिरूप मुक्त स्रोत
प्लेटफॉर्म i386 (IA-32) architecture
कर्नेल का प्रकार माइक्रोकर्नेल
प्राथमिक यूज़र इंटरफ़ेस अल्म्क़ुईस्ट शैल
लाइसेंस बीएसडी लाइसेंस
आधिकारिक जालस्थल www.minix3.org

इसका मुख्य लक्ष्य त्रुटि को स्वयं ही खोजना और बिना किसी उपयोगकर्ता के निर्देश के उसे ठीक करना है।[1] इसका मुख्य उपयोग शिक्षा के क्षेत्र में किया जाता है।[2]

 
मोनोलिथिक कर्नेल का ढाँचा

इस परियोजना का लक्ष्य मोनोलिथिक कर्नेल के प्रकृति को प्रभावित करना था। जिससे कारण कुछ 6-7 त्रुटि आने पर पूरी प्रणाली ही बन्द हो जाती थी। मिनिक्स 3 को बनाने का लक्ष्य था, एक ऐसे संचालन प्रणाली को बनाने का जो विश्वसनीय, स्वयं उपचार करने वाला और अनेक सर्वर को उपयोग करने वाला हो। यह सभी कार्य मिनिक्स 3 कर सकता है।[3]

इस लक्ष्य को हासिल करने के लिए वे कोड को कर्नेल के लिए बहुत ही कम कर दिये। फ़ाइल का भेजना और उसके लिए जो क्रिया होती है। यह सभी अलग अलग प्रोसैस होने लगी। इससे वह सभी के कार्य पर निगाह रख सके।

इस परियोजना का सार्वजनिक रूप से खुलासा 24 अक्टूबर 2005 में हुआ था। एंडरिव तानेंबौन ने इसे एक एसीएम के दौरान भाषण देते समय बताया। लेकिन इसका उपयोग केवल टेक्स्टबूक (पाठ्य पुस्तक) के उदाहरण के रूप में ही किया गया है। इसे पूरी तरह केवल एक स्थायी और गंभीर रूप से किसी प्रणाली को कम सामग्री के साथ चलाने के लिए बनाया गया है। इसके द्वारा उच्च गुणवत्ता के अनुप्रयोग भी चलाये जा सकते हैं।

मिनिक्स 3 के संस्करण[4]
संस्करण प्रदर्शन तिथि विवरण
3.1.0 2005-10-24
  • मिनिक्स 3 का पहला रिलीज (किताब रिलिज).
3.1.2a 2006-05-29
  • New Packman package manager.
  • Fixed an installation issue with auto-partitioning disks.
3.1.3 2007-04-13
3.1.3a 2007-06-08
  • त्रुटियाँ सुधारी गयीं।
3.1.4 2009-06-09
3.1.5 2009-11-05
  • Improvements performance
  • Shared memory
  • setitimer function
  • ISO 9660 file system
  • Open Sound System
  • Trap NULL accesses now, for user convenience
  • Improved signal handling
  • Better support for debuggers (ptrace improvements, etc.)
  • Network card autodetection (for supported PCI cards), improved network configuration
3.1.6 2010-02-08
3.1.7 2010-06-16
  • Userspace scheduling and a scheduling server[5]
  • Proper support for multiple ethernet cards of the same type
  • Boot monitor allows loading images > 16 MB
  • Buildsystem support for building MINIX with GCC
  • Support for the cp1251 and koi8-u charsets
3.1.8 2010-10-04
3.2.0 2012-02-29
  • Porting GNU Debugger to MINIX 3 and implementing core dumping support
  • FUSE Support with experimental NTFS-3G file system
  • Gradual replacement of MINIX userland with NetBSD userland
  • Replacing the default compiler ACK with Clang (GCC is also supported)
  • Switch to ELF and NetBSD libc libraries
  • Pkgsrc Upstreaming and Application Porting
  • Asynchronous virtual filesystem (VFS) server.
  • Replacing the MINIX bootloader with NetBSD bootloader
  • NCQ support in the AHCI driver
3.2.1 2013-02-21
3.3.0 2014-09-16
  • ARM architecture support (cross-compilable)
  • Support for the mmap() I/O mechanism. Allows for shared dynamic libraries and lower memory footprint.
  • New input infrastructure: input server and keyboard driver separated from TTY
  • VND: vnode disk (loopback) block driver
  • LLVM Bitcode build of the system
  • Import of LLVM / clang in the sources
  • Unified block cache shared by FSes and VM
  • Improved NetBSD compatibility (utilities, calls, types (lots of 64-bit), toolchain, codebase and packages)
  • C type for messages. Cleaner. Bigger.[तथ्य वांछित]
  • Improved driver modularity: UDS separate from PFS, PTY from TTY, one controller per at_wini instance, LOG removed from boot image.
  • Packages are now dynamically linked
  • ██ Book Release
  • ██ Old release
  • ██ Current stable release
  • ██ Current development release

विश्वसनीयता

संपादित करें

विश्वसनीयता मिनिक्स के मुख्य लक्ष्यों में से एक है। जो कुछ इस प्रकार हैं :-

कर्नेल का आकार घटाना

संपादित करें

त्रुटि पता लगाना

संपादित करें

ड्राईवर द्वारा स्मृति उपयोग नियत करना

संपादित करें

यह ड्राईवर द्वारा ली गई स्मृति को एक नियत आकार तक ही रखता है।

अनंत छोर को रोकना

संपादित करें

कई अनुप्रयोग या प्रोग्राम बिना रुके चलते रहते हैं। जैसे सी++ में (a,a++,a>5) इसमें a का मान जब तक 5 नहीं हो जाता तब तक यह चलते रहेगा। यदि 5 के स्थान पर कोई मान ही न हो तो यह अनंत चलते रहेगा।

कर्नेल के कार्यों को प्रतिबंधित करना

संपादित करें

I/O पोर्ट की पहुँच को प्रतिबंधित करना

संपादित करें

बीच में आते संदेशों को एकीकृत

संपादित करें

मिनिक्स 3 और पूर्व संस्करणों के बीच अंतर

संपादित करें
  • मिनिक्स 1, 2 केवल एक उपकरण के रूप में बनाए गए थे।

इन्हें भी देखें

संपादित करें
  1. "संग्रहीत प्रति". मूल से 14 जुलाई 2015 को पुरालेखित. अभिगमन तिथि 14 जुलाई 2015.
  2. "संग्रहीत प्रति". मूल से 14 जुलाई 2015 को पुरालेखित. अभिगमन तिथि 14 जुलाई 2015.
  3. "संग्रहीत प्रति". मूल से 5 अगस्त 2015 को पुरालेखित. अभिगमन तिथि 14 जुलाई 2015.
  4. "MinixReleases - Minix Wiki". Wiki.minix3.org. मूल से 18 जून 2012 को पुरालेखित. अभिगमन तिथि 2014-05-01.
  5. Björn Patrick Swift. "Individual Programming Assignment User Mode Scheduling in MINIX 3" (PDF). Minix3.org. मूल (PDF) से 8 मई 2016 को पुरालेखित. अभिगमन तिथि 13 जुलाई 2015.

बाहरी कड़ियाँ

संपादित करें