هناك بعض الأسئلة محتاجة لبداية تصميم نظم تشغيل
أولاََ : الخوارزميات ( ما هى الخوارزميات المطلوبة فى تصميم نظام التشغيل )
هل هى على سبيل المثال :
بالنسبة للحاسب فأنه يقوم بعملية الجمع أسرع بكثير من عملية الطرح و لكى نقوم بالطرح عن طريق عملية الجمع نقوم بأستعمال المكملات + أضافة 1 ثنائي ثم الجمع على الرقم المطلوب الطرح منه ثم أسقاط أخر رقم 1 فى الرقم الناتج ( طبعاََ كل ده هيكون بالثنائي )
هل الخورزميات المطلوبة من نفس النوع أم أكثر
ثانياََ : لغات البرمجة المطلوبة
سمعت أنه من الممكن أستخدام الـassembly أو الـC أو الـPascal و لكن أفضلهم هو الـC نتيجة لتعدد منصات العمل التى يمكنة التعامل معها أما بالنسبة للـassembly فأنه يخص المعالج الذى سوف يعمل علية أى أنه فى حالة أستخدام الـassebly سوف يكون مرتبط بالغة التى بالمعالج الذى تم التصميم علية أى أنه أذا قمت بالتصميم على المعالج X86 فلن يعمل الا على العائلة Intel X86
يمكنك الأستعانة بمجموعة "how to program" فى لغة الـc بالأضافة الى " THE C PRGOGRAMMING LANGUAGE " و بالنسبة للـassembly يمكنك الأستعانة بـ" The art of Assembly " و "IBM PC Assembly programming and langauge "
ثالثا : دراسة الـhardware حتى يمكننا التعامل مع مكونات الحاسب أو PC resources
و قد وجت كتاب ممتاز بالمكتبة أسمه
" The 80X86 IBM PC and compatible computers ' Design and interfacing of the IBM PC , PS and compatible ' "
و للعلم مؤلف الكتاب عربي أسمه " محمد على مازيدي " بالأضافة الى أن الكتاب يبدأ من نظم العد حتى أمكانبة التعامل مع أصغر قطعة فى الحاسب
و هذا هو فهرس الكتاب
- chapter 0 : numbering and coding system
- chapter 9 : 8088/86 microprocessor and supporting chips
- chapter 10 : 80286 microprocessor and supporting chips
- chapter 11 : memory and memory interfacing
- chapter 12 : i/o , 8255 and device interfacing
- chapter 13 : 8253/54 timer and music
- chapter 14 : interrupts and the 5259 chip
- chapter 15 : the 8237 DMA chip ( Direct Memory Access )
- chapter 16 : video and video adapters
- chapter 17 : serial data communiction and the 16450/8520/51 chips
- chapter 18 : keyboard and printer interfacing
- chapter 19 : floppy disks, hard disk and files
- chapter 20 : the 80x87 math coprocessor
- chapter 21 : REAL vs PROTECTED mode
- chapter 22 : high speed mempry interfacing and cache
- chapter 23 : pentium , pentium pro and MMX
- chapter 24 : MS-DOS structure ,TSR, and device drivers
- chapter 25 : MS-DOS memory mangement
- chapter 26 : IC rchnology and system design considerations
- chapter 27 : ISA, EISA, MCA, LOCAL and PCI bus
- chapter 28 : programming DOS, BIOS, hardware with C/C++
- appendex A : debug programming
- appendex B : 80x86 indtructoins and timing
- appendex C : assembler directives and naming rules
- appendex D : DOS intterupt 21H and 33H listing
- appendex E : BIOS intterupts
- appendex F : ASCII codes
- appendex G : I/O address maps
- appendex H : IBM PC/PS BIOS data area
- appendex I : data sheets ( intel 80486 / intel pentium / intel packaging / NS8250-NS16450 UART chip)
يلاحظ أنه قفز من chapter 0 الى chapter 9 و عندما لاحظت الغلاف وجدة Volume 2 فربما البقية فى volume 1 المهم لنكمل بقية الموضوع
بعد دراسة الخوارزميات و لغة البرمجة و الـhardware الأن ينقص شئ بسيط وهو دراسة ما يسمى بالـsystem programming و فى الواقع لم أحصل منه على أى مرجع أو كتاب
و الأن أود أن أجد من يساعدنى فيما أفكر فية و هو الدراسة التجهيزية لتصميم نظام تشغيل و أرجوا من الجميع أن يبدأوا بذلك حتى نستطيع أنتاج نظام تشغيل عربي 100% + لغة برمجة بالعربي ( على ما أظن أنه من الصعب تنفيذ هذه الفكرة و ربما تكون مستحيلة و لكن فى الكمبيوتر لا يوجد مستحيل )
و فى النهاية أنا عرف أن الموضوع مش مرتب و ياريت تستفيدوا منه
لدى أقتراح صغير وهو ترجمة الكتب الأنجليزية التى تتكلم عن هذا الموضوع و نشرها لان هناك الكثير الذى يريد المساعدة و لكنة لا يستطيع بسبب مشكلة اللغة و لأن كل كتب برمجة النظم باللغة الأنجليزية و أقترح بأن نقوم بتحديد مجموعة للعمل فى هذا الموضوع و توزيع المهام عليهم أتمنى أن يكون أقتراحى مفيد لبعض الأعضاء
أخوكم أحمد عصام ( مصر )
