الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

نحو بناء نظام تشغيل عربي

رائج
بدأه szerf في 19 يونيو 2008 · 156 رد · 42,832 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#26
اقتباس
شكرا لك أخي سمير

ولكن هل يمكن أن توضح لي لماذا لم يعمل البرنامج حينما غيرت قيمة ds مع العلم أنني أستعمل nasm

وعندي طلب صغير : أرجو أن تدلوني على مرجع للسي يعينني على البرمجة ويكون باللغة الفرنسية

وشكرا

حينما غيرت DS فانها حينما يحدد المعالج عنواين البيانات فانه يستدل على العنوان مستخدما DS

ونظرا لانه تغير محتواه بدون تغير مكان البيانات - هنا اصبح المعالج يبحث عن البيانات فى وادى بينما

توجد البيانات فى وادى اخر - هذا كل شىء.

بخصوص كتب لغة C - لقد اتقنت اللغة من خلال تعلمها اولا من كتاب The complete refrence

المؤلف Herbert Schildt

هذا الكتاب من اشهر كتب اللغة التى حققت مبيعات فوق المليون نسخة (حسبما ذكر فى مقدمة الكتاب)

ولن يقدم الكتاب اكثر من فهم لاساسيات اللغة ولهذا ستحتاج الى التدريب المتواصل للوصول الى اتقان فنيات اللغة ويفضل ان

يكون هذا التدريب متوافق مع الاطلاع على ماقام به من سبق من المبرمجين من اعمال (من خلال المشاريع مفتوحة المصدر) ذلك

لان لكل مبرمج مهما كان فكر خاص وحين تطلع على افكار الاخرين فان ذلك يوسع الافق لديك ويجعل لافكارك الجديدة فرصة لكى تنمو

ذلك لانك تثق ان البرمجة وسيلة وحرية الفكر متروكة لان الافكار تختلف نتائجها فيما يتعلق بالموازنة بين الكفاءة والمتطلبات والانتاجية.

والله الموفق

تم تعديل هذه المشاركة بواسطة محمود سمير في 28 يونيو 2008 في 02:35

#27

شكرا جزيلا لك أخي eramax الكتاب أكثر من رائع

للأسف ليس عندي $ كي أشتري الكتابين pc-interrupt و The complete refrence

سؤالي هو: كيف أستطيع أن أغير مقطع البيانات ds والكتابة في المقطع الجديد؟

وشكرا

#28

استطيع ان اساعد ولكن ارجوا عدم تدخل النقاد ومحبي الاحباط في الموضوع

وسوف اقوم بتعلمي حتي المبتدئين بشرط إتقانهم للأساسيات

استطيع ان اساعد ولكن ارجوا عدم تدخل النقاد ومحبي الاحباط في الموضوع

وسوف اقوم بتعلمي حتي المبتدئين بشرط إتقانهم للأساسيات

وسوف ابداً من مرحله الإقلاع اي من تحت الصفر

تم تعديل هذه المشاركة بواسطة halwa في 29 يونيو 2008 في 01:42

my new site click here

#29

السلام عليكم

ومتى سيكون ذلك halwa ؟ نحن في الإنتظار

#30

في اي وقت تريدون وسوف تكون طريقتي كلأتي

شرح النظري

وضع مثال تطبيقي

وعلي كل من اشرك نفسه إرسال رساله خاصه يخبرني بالكود الذي كتبه بشرط ان يكون من إعداده

فالنبدأ بسم الله

*****************************************************************

اولأ عمليه الإقلاع(boot):

ماذا يفعل الحاسب منذ بدأ التشغيل إلي ان يسلمك التحكم هذا هو ما سأ قدمه اليوم

فلنعتبر ان لدينا جهاز كمبيوتر مغلق قم بالضغط علي زر التشغيل سوف يقوم المعالج اولاً بتصفير المسجلات ax,bx,cx,dx ,...

يبدا المعلج بإعطاء مسجل القسم (cs) القيمه f000

مسجل العنوان(ip ) القيمه fff0

والملحوظ هنا نمط المعالج لماذا بدأ في النمط الحقيقي (real mode) ولم يبدأ في النمط المحمي(protected mode)او النمط شبه الحقيقي(unreal mode)سوف يتم شرح بعض تلك النماط فيما بعد..

ذالك لانه من خلال النمط الحقيقي يستطيع الحاسب الوصول إلي اي نمط بعد ذالك يقوم المعالج بتشغيل ال bios

**************

كيف يعمل ال bios:-

1- بعد تسلم ال bios التحكم يقوم بفحص الاجهزه الرئسيه او الجهزه الثبته علي الجهاز كيف السبيل إلي ذالك عن طريق الامرين in و out يرسل للجهاز الذي يرد فحصه إشاره (قيمه) فإذا تلقي البيوس اي إشار منه فمعني ذالك انه يعمل

2-يقوم باعداد جدول المقاطعات(int 10-int 16 -etc) ويبدا بكتابه بيانتهم إبتدا من العنوان 0000:0000 وكل مقاطعه تأخذ 4 بت لماذ لان ال4 بت تحتفظ ب عنوان القسم الموجود فيه المقاطعه(التنفيذ الحقيقي لها) + العنوان الذي ستبدأ منه

3-جدول معلومات البيوس ويختفظ هذا الجدول بمعلومات عن الهارد وير ويبدأ هذا الجدول من العنوان 0040:0000 وتأخذ حالة كل جهاز 2بت

4-ثم يبدأ بالبحث عن نظام التشغيل الذي سوف يبدأ منه كيف (طبعأ البحث سوف يكون علي الترتيب الذ حددته له من البدايه من إعدادت اللوحه الام) كيف؟

يقوم بقرأه القطاع رقم 1 في الاقراص الموجوده ويتأكد من وجود القيمه 0x55 في البت رقم 511 والقيمه 0xAA في البت رقم 512

إذا وجد تلك القيم فإنه يقوم بتحميل القطاع رقم واحد إلي العنوان 0000:07c0 ثم يقوم بالقفز إلي ذالك البرنامج

********************************

اول قطاع إنطلاق نقوم بكتابته سوف نستخدم المترجم nasm (في المرفقات)

[bits 16]				   ; إستخدام نظام العنوانه الخاص ببرامج ال 16 بت							   ; الا وهو 0000:0000[org  0x07c0]   ; جعل القيم تبدأ من العنوان 0  x07c0
jmp $					   ; القز إلي نفس العنوان
times 510-($-$$) db 0; مصفوفه طولها 510 بت - حجم البرنامج
dw 0xAA55	   ; القيمتان اللذان تم ذكرهما في البدايه

طريقه الترجمه nasm -f bin infilename.asm -o outfilename.bin

حيث infilename.asm : هو إسم الملف الذي قمت بحفظ الكود إليه outfilename.asm : هوإسم الملف المنتج bin : نوع الملف المنتج

طريقه الكتابه إلي القرص المرن بإستخدام البرنامج المرفق write

write -f outfilename -d A

حيث outfilename: هوإسم المف المنتج

A:هو إسم الفوبي دريف

اعد تشغيل الجهاز ثم قم بإدخا الفلوبي ديسك وأعل إعداد الفتح

floppy disk

cd rom

hard disk

اوكما تريد بشرط وجود الفلوبي ديسك في البدابه مبروك اصبحت مبرمج انظمه مبتدأ صحيح لن تري شي سيحدث لكن الجهاز لن يفتح من الاسطوانه(إذا كانت موجوه) او من الهارد(ويندوز او لينكس) :D

السلام عليكم ورحمه الله وبركاته.........................................................................

....

من يواجهه مشكله فعليه بإرسال رساله خاصه

nasm.rar

write.rar

تم تعديل هذه المشاركة بواسطة halwa في 29 يونيو 2008 في 07:40

my new site click here

#31

من الافضل ألا تفكر كثيرا في هذا الموضوع في الوقت الحاضر ( عارف انه كلام صعب) :mad:

لأن الشغل اللي تفكر فيه يحتاج الى مئات من المتخصصين في البرمجة والجرافكس و اشياء كثير وعمال تنظيف ....الخ

وليس معناها ان فكرة بناء نظام تشغيل عربية فكرة سيئة بالعكس فهي فكرة حلوة يجب السعي ورائها

#32

يا اخوه الم اطلب عدم دخول النقاد او المحبطين ومن قال لك انني سوف اتطرف إلي تلك المواضيع سوف البي لهم طلبهم

وهو سطر الاوامر من سيقدر علي الاستمرار فليكمل ومن لم يقدر يتجه إلي شي اخر وإذا اردت منع احد فلا تمنعه من البدايه إلا إذا كان خطيراً بل إجعله يستمر وهو سيتوقف من تلقاءئ نفسه..................

تم تعديل هذه المشاركة بواسطة halwa في 29 يونيو 2008 في 12:21

my new site click here

#33

جزاك الله خيرا

أكملي ولا يهم ولكن أنا أجيد قليلا الأسمبلي وسأواصل معك

#34

ليس من الجيد أن نقول صعب صعب...

الأولى أن نتعلم خطوة بخطوة وأن ندرك الأساسيات .

سؤال: كيف تحول لينكس من سطر الأوامر إلى نظام تشغيل متكامل يكاد يصل لتحقيق حاجيات المستخدم العادي بشكل تام ؟

الجواب:لأن هناك آلاف المبرمجين تعاونوا لتطويره

أنا لا أطلب أن يكون النظام متطورا بسرعة اللينكس ولكن أطلب من المبرمجين العرب أن يتعاونوا على انشاء نظام تشغيل عربي خاص بهم يعمل من سطر الأوامر (على الأقل يكون في الوضع المحمي)

وأرجو من الأخ halwa إكمال الدروس مع سؤال صغير وهو : فيم تفيد المعلومات التي يضعها البيوس في العنوان 0040:0000

وشكرا

#35

تللك المعلوات تفيد في معرفه الاجهزة الموصله مع الحاسب مثل القرص المرن او الصلب او .......

وتللك المعلوات ليس لها استخدام من جهتنا لاننا سوف نستمر في النمط الحقيقي طول 3 دروس ثم سننتقل الي النمط الممي حيث لايوجود مكان إلا للمنافذ :D

my new site click here

#36

بارك الله فيك لقد جعلتني متلهفا جدا لبقية الدروس

#37

اما من نتائج ؟ سوف اكمل الدرس رقم 1

***********************************************************

وصلنا في المره السابقه إلي مرحله الإقلاع وقمنا بكتابه ملف إقلاع صحيح انه لايفع شئ لكنها تعتبر البدايه هذا المره سوف اكمل الدرس السابق وفي هذه المره سوف نقوم بكتابه ملف إقلاع يطبع الجمل علي الشاشه بإستخدام مقاطعه الشاشه وهي 0x10 والخاصيه 0x0e

حيث سنقوم بتحميل المسجل AL رقم الحرف المراد طبعاته في جدول ascii وطباعه جمله

الكود:

start:					; بدايه ملف الإقلاع
		  mov ax,0x07c0	; تحميل المسجل ax بعنوان القسم
		  mov es,ax	; تحميل المسجل es بعنوان القسم
		  mov ds,ax	; تحميل المسجل ds بعنوان القسم
		  mov ax,9000		 ; تحميل المسجل ax بالقيمه ffff
		  mov ss,ax	; نقل مكان المكدس إلي العنوان ffff
		  mov sp,0xffff	; تحديد بدايه المكدس
		  mov si,MSG	; تحميل المسجل si بعنوان الجمله المراد طباعتها
		  call print	; مناداه الاجراء print
		  jmp $		; إيقاف ملف الإقلاع عن طريق القفز إلي نفس العنوان
print:				 ; الإجراء print
		  lodsb		; تحميل المسجل al بالحرف الاول
		  cmp al,0	; اختبار إذا كان الحرف يدل علي نهايه الجمله 
		  je	 pdone	; إذا كان يدل علي نهايه الجمله اقفز إلي مكان الخروج من الإجراء
		  mov ah,0x0e		; إستخدام الخاصيه  e
		  int   0x10	; من المقاطعه 10 الخاصه بالشاشه
		  jmp print	; تكرار الاجراء للوصل إلي نهايه الجمله
pdone:				; مكان الخروج من الإجراء
		  ret		; امر الخروج
MSG db "welcome in my lesson",01,13,10,0 	  
times 510-($-$$)  db 0
dw	  0xAA55

الترجمه

nasm -f bin infile -o outfile

حيث infile:إسم الملف السابق

outfile:إسم الملف المترجم

الكتابه علي القرص

write -f outfile -d A

حيث outfile:إسم الملف المترجم

A:إسم القرص المرن

تم تعديل هذه المشاركة بواسطة halwa في 30 يونيو 2008 في 13:28

my new site click here

#38

سؤال بسيط:

لماذا يجب أن تكون قيمة المسجلات es و ds و cs متساوية ؟

سؤال آخر :D :

ماذا يوجد في العنوان الموافق ل cs أي 0000:07c0 هل هي التعليمة mov ax,cs أم الحرف الأول من الجملة؟

ملاحظة صغيرة: الكود ينقصه شيئ صغير وهو تعريف المسج

وشكرا

#39

اجابه السؤال الاول

قمنا بجعل قيم المسجلات es ,ds

تساوي قيمه المسجل cs

حتي نشير إلي القسم الموجود في البيانات فالتعليمه lodsb

تقوم بتحميل الحرف الموجود في العنوان ds:si

وفي هذا الحاله لابد ان نجعل المسجل ds

يشير إلي القسم الموجود فيه البيانات والمسجل si

إلي مكان البيانات

****************************

اجابه السؤال الثاني

طبعل الموجود سوف يكون التعليمه mov ax,cs

لأننا بدأنا البرنامج بها والجمله سوف تكون بعد الكود

وهذا بريدي الإلكتروني إذا كنت تعمل الان فمن الفضل ان تكلمن علي البريد

ahmed_ali_halawa@yahoo.com

تعريف الجمله

MSG db "welcome in my lesson",01,13,10,0

تم تعديل هذه المشاركة بواسطة halwa في 29 يونيو 2008 في 23:40

my new site click here

#40

أظن أن الأمور ستكون أسهل مع skype

البريد الإلكتروني ليس عمليا

واجهت بعض المشاكل معه

عنواني هو aymen.hakim

أرجو أن تتصل بي (إذا لم يكن لديك مانع)

وشكرا

#41

سأل احد الإخوه عن طريقه عمل img ليتم إستعمالها من قبل برنامج microsoft virtual pc والحل هو عمل قرص وهمي لان كثره استعمال الفوبي ديسك سوف تتلفه وسوف نستخدم برنامج virtual floppy disk في المرفقات وهنا شرح لطريقه إستخدامه

بعد فك الضغط قم بفتح البرنامج vfdwin الموجود في المرفق ثم قم بإتباع الصور

post-58631-1214883326_thumb.jpeg

وبهاذا قمت انت بإعداد البرنامج نأتي الأن للخطوه الثانيه وهي إنشاء قرص وهمي اضغط علي التبويب Drive0 ثم إتبع الصوره

post-58631-1214883920_thumb.jpeg

مبروك تم عمل قرص وهمي لإستخدامه عن طريق برنامج microsoft virtual pc

والأن طريقه ترجمه وكتابه الملف الملف إلي القرص الوهمي

الترجمه nasm -f bin infile -o outfile

حيث infile:إسم الملف المكتوب به الكود

outfile:إسم الملف المنتج

الكتابه علي القرص الوهمي

write -f outfile -d dname

حيث outfile:إسم الملف المنتج من قبل nasm

dname:إسم القرص الوهمي الذي قمت بإجتياره تبعاً للشر في الأعلي

vfd.rar

my new site click here

#42

الدرس الثاني بعنوان تحميل النواه وإستخدام المقاطعه رقم 13

******************************

نبذه بسيطه عن القرص المرن :

القرص المرن هو دعامة تخزين مغنطيسية من أوائل دعائم التخزين، أخترع عام 1970 من طرف شركة IBM . هو موجود بأحجام و سعات تخزين مختلفة، أشهرها و أكثرها استعمالا القرص المرن 3.5 بوصة ذي السعة 1.44 ميقا بايت. يتكون القرص المرن من غلاف خارجي يحفظ بداخله قرص بلاستيكي مكسو بمادة ممغنطة سلبا أو إيجابا على الوجين أو على وجه واحد فقط. هذه المادة الممغنطة تسمح بتخزين و حفظ البيانات الرقمية 0 و 1 على شكل أقطاب سالبة و موجبة.

لقراءة أو كتابة هذه المعلومات نستعمل جهاز قارئ القرص المرن الذي يمتلك رأس قراءة و كتابة أو رأسين قراءة و كتابة خاص بكل وجه.

في حالة القراءة: تقوم الرأس باسترجاع المعلومات عن طريق التحريض المغنطيسي. أي أنها تتأثر بالمجال المغنطيسي المولد من سطح القرص المرن.

في حالة الكتابة: تقوم الرأس بكتابة المعلومات عن طريق المغنطة. أي أنها تقوم بتغيير الأقطاب السالبة و الموجبة.

بنيه القرص المرن:

القرص المرن 3.5 بوص يتكون من مجموعه من وجهين كل وجه يتكون من مجموعه من المؤشرات(0:80 مؤشر) وكل مؤشر يحتوي علي عدد من القطاعات(1:18 قطاع) انظر الصوره للتعرف اكثر

post-58631-1214885169_thumb.jpeg

ومن هذا انه لقراه ملف يجب تحديد عده اشياء (رقم المؤشر-رقم القطاع-رقم الوجه-رقم القرص)

طريقه إستخدام الخاصيه 02 من المقاطعه 13

1-نقوم بتحميل المسجلات الاتيه بالقيم الاتيه

es:القسم الذي سوف يتم التحميل إليه

bx:العنوان داخل القسم

ah:برقم خاصيه القرأه 02

al:عدد القطاعات المراد قرأتها

ch:رقم المؤشر (تبدأ المؤشرات من 0 وتنتهي ب 80)

cl:رقم القطاع التي تبدأ من عنده القرأه (تبدأ القطاعات من 1 وتنتهي ب 18)

dh:رقم الوجه(تبدأ الأوجه في القرص 3.5 بوص ب 0 وتنتهي ب1)

dl:رقم القرص(القرص المرن الأول يكون 0x0 والقرص الصلب 0x80 محلوظه المسجل dl يتم وضع فيه رقم القرص الذي تم منه الإنطلاق)

**********************************************

برنامج الإقلاع boot:

[bits 16]
start:					  ; بدايه ملف الإقلاع
		  mov ax,0x07c0; تحميل المسجل ax بعنوان القسم
		  mov es,ax; تحميل المسجل es بعنوان القسم
		  mov ds,ax; تحميل المسجل ds بعنوان القسم
		  mov ax,9000		; تحميل المسجل ax بالقيمه ffff
		  mov ss,ax; نقل مكان المكدس إلي العنوان ffff
		  mov sp,0xffff	  ; تحديد بدايه المكدس
		  mov si,MSG; تحميل المسجل si بعنوان الجمله المراد طباعتها
		  call print; مناداه الاجراء print
load:				; إجراء تحميل النواه
		  xor ax,ax	 ; إستخدام الخاصيه رقو صفر من الماقطعه رقم 13
		  int 0x13	; لتجيز القرص المرن للقرأه
		  mov ax,0x100; تحميل النواه إلي العنوان 0x100:0x0000
		  mov es,ax
		  mov bx,0000	   
		  mov ah,0x02  ;إستخدام خاصيه القرأه
		  mov al,1	 ; قرأه قطاع واحد
		  mov ch,0	 ; القراه من المؤشر رقم 0
		  mov cl,2	 ; بدء القرأه من القطاع رقم 2
		  mov dx,0	 ; القرأه من القرص رقم صفر والوجه رقم صفر
		  int 0x13	 ; إستخدام مقاطعه القرأه
		  jc  load	 ; في حاله حدوث خطأ يعاود القرأه
		  jmp dword 0x100:0; القفز إلي النواه
print:				; الإجراء print
		  lodsb	; تحميل المسجل al بالحرف الاول
		  cmp al,0; اختبار إذا كان الحرف يدل علي نهايه الجمله
		  je	 pdone; إذا كان يدل علي نهايه الجمله اقفز إلي مكان الخروج من الإجراء
		  mov ah,0x0e	; إستخدام الخاصيه  e
		  int   0x10; من المقاطعه 10 الخاصه بالشاشه
		  jmp print; تكرار الاجراء للوصل إلي نهايه الجمله
pdone:			; مكان الخروج من الإجراء
		 ret	; امر الخروج

MSG db "welcome in my lesson",01,13,10,0
times 510-($-$$)  db 0
dw	  0xAA55

برنامج النواه

[bits 16]
start:			  ;تم الشرح من قبل
	mov ax,0x100
	mov es,ax
	mov ds,ax
	mov ax,0x9000
	mov ss,ax
	mov sp, 0xffff
	mov si,MSG
	call print

print
	lodsb
	cmp al,0
	je pdone
	mov ah,0x0e
	int 0x10
	jmp print
	pdone:ret
MSG db "Welcome in lesson 2",02,13,10,0

ترجمه ملف الإقلاع

nasm -f bin infile -o outfile

infile:إسم الملف ملف الإقلاع المكتوب بالأعلي

outfile:إسم الملف المنتج

ترجمه النواه

nasm -f bin infile1 -o outfile1

1infile:إسم الملف الخاص بالنواه المكتوب بالأعلي

outfile1:إسم الملف المنتج

استخدم الأمر

copy /b outfile + outfile1 ,myos.bin

لجمع النواه و ملف الإقلا في ملف واحد

outfile:إسم ملف الإقلاع المنتج

outfile1:إسم ملف الإقلاع رقم2

myos:الملف المجموع

طريقه الكتابه علي القرص المرن

write -f myos.bin -d dname

dname: إسم القرص المرن الوهمي عندك

ملحوظه بعد كتابتك للملف myos.bin علي القرص المرن فأعلم ان القرص المرن لن يفتح من خلال ويندوز او اي نظام تشغيل لأننا لم نزود القرص المرن بمعلومات عن نظام الملفات fat12

اتمني ان اكون قد وفيت بمل فيه الكفايه من يجهه مشكله فليرسلها لي علي الخاص ولايتردد

تم تعديل هذه المشاركة بواسطة halwa في 1 يوليو 2008 في 07:35

my new site click here

#43

بارك الله فيك أخي أحمد

لقد أنشأت قرص وهمي H: ولكن المشكل هو إتباعي الطريقة التي قمت بها ولكن لم تنفع حيث قمت

d:\nasm\nasm -f bin f.asm -o f.bin

ثم

write -f f.bin -d h:

ولكن لم أجد الملف في القرص الوهمي؟

حيث f.asm هو إسم كود الإقلاع الذي حفظته في d: في مجلد nasm

#44

أخي حاتم يوجد طريقة أفضل وهي استعمال صورة الفلوبي

عوض d:\nasm\nasm -f bin f.asm -o f.bin

اكتب d:\nasm\nasm -f bin f.asm -o f.img

الآن افتح virtuel pc ثم ابدأ الآلة التخيلية (virtuel machine) ومن القائمة floppy اختر capture floppy image واختر الملف f.img

وقم بعمل ريستارت للآلة التخيلية من خلال القائمة action>reset

والله الموفق

#45
szerf كتب:
أخي حاتم يوجد طريقة أفضل وهي استعمال صورة الفلوبي

عوض d:\nasm\nasm -f bin f.asm -o f.bin

اكتب d:\nasm\nasm -f bin f.asm -o f.img

الآن افتح virtuel pc ثم ابدأ الآلة التخيلية (virtuel machine) ومن القائمة floppy اختر capture floppy image واختر الملف f.img

وقم بعمل ريستارت للآلة التخيلية من خلال القائمة action>reset

والله الموفق

بارك الله فيك أخي حكيم إتبعت طريقتك وهذه النتيجة

post-548-1214913874_thumb.jpg

تم تعديل هذه المشاركة بواسطة hatem في 1 يوليو 2008 في 15:06

#46

بسم الله الرحمن الرحيم

بالنسبه للترجمه في كما هي والكتابه القرص كما هي وعليك ان تتبع اخر طريق قمت بوضعها للكتابه علي القرص الوهمي

وقد قلت انه بعد كتابتك للملف علي القرص الوهمي فإن القرص الوهمي عند فتحك له سوف يظهر لك رساله تخبرك بإنه يجب عليك عمل format للقرص الوهمي قم بفتح virtual pc ومن قائمه floppy اختر control phiscl drive H

ثم قم بعمل reset من قائمه action

my new site click here

#47

بسم الله الرحمن الرحيم

قرات موضوع نظام تشغيل عربي وشد انتباهي كثيرا واردت المشاركة براي في هذا المجال وستكون على شكل نقاط وعلى شكل أسئلة يجب علينا طرحها قبل أن نخوض في هذا البحر العميق

1-لماذا أعيد تعبيد الطريق ؟

لماذا أعود من بداية الطريق من الصفر و أصمم نظام تشغيل من الصفر ولدي ويندوز ولينيكس ستقول الوندوز محتكر من شركة مايكروسوفت وسيء و..مغلوق المصدر ولا يمكن التطوير عليه

أقول لك اتجه الى لينيكس فهو مفتوح المصدر التطوير عبيه مستمر وهو غير محتكر مفتوح المصدر يمكن ان تتطوره تحت رخصة gpl وتنشئ توزيعة خاصة تطلق عليها اسمك

ستجيب أريد ان اثبت مهارتي !

أقول لك اثبت مهارتك في تطوير نظام linux ونواته وبرامجه بل ساهم في تطوير الوندوز, لكنك قلت لي انه مغلوق المصدر

هذا صحيح لانه مغلوق المصدر يكمن ان تطور اضافات للغات البرمجة add in ويكمن ان تطور النظام نفسه عن طريق سد ثغراته واكتشاف خبايه

2- مالجدبد في هذا النظام ؟

مالذي سيدفع ملايين الناس الذين الين يسخدمون windows و linux في العالم والوطن العربي (دعنا من العالم حاليا) الى استخدام نظام تشغيل جديد كليا ستقول أنه عربي والعربي سيستخدمه لان النظام عربي !!!!!!!

مالميز في هذا النظام مالذي سيقدمه من جديد مالذي يجعله أفضل من وندوز ؟؟؟؟؟؟؟§ !!!!

تطبيقاته

هل توجد برامج تضاهي برامج windows في هذا النظام من حيث الكم والنوع ؟؟؟؟

ستقول سأطور برامج لتعمل عليه وتكون أفضل من windows

أقول لك برامج windows طورت عبر عدة سنين ان لم تكن عشرات السنين هل ستتوقف عجلة الزمن ويتوقف المطورون والمبرمجون والمصممون عشرات السنين لكي تصبح برامج هذا النظام تضاهي برامج windows

مستحيل §§§§§

هل لدينا التمويل والكوادر البشرية التي ستموله وتستمر في تطويره لعدة سنوات ؟؟؟

الكوادر البشرية نعم وبكل فخر لدينا كوادر أما التمويل فلا أظن ذلك

هل ستدعم شركات برمجة الالعاب وصناعة الهاردوير النظام ؟؟؟؟؟

اترك الاجابة لكم

والله يعلم أني لا أريد تحطيم معنوياتكم ولكن علينا أن نضع أنفسنا في الواقع والا نترك الحماس يجرنا

إن أصبت فمن الله وان أخطأت فمن الشيطان

#48

أخي 852147 سأوضح لك بعض النقاط المهمة:

أنت تتحدث عن نظام تجاري يهدف للربح.

هدفي ليس تجاريا أبدا

هدفي هو أن يكون للمبرمجين العرب القدرة على تصميم نظام تشغيل من الصفر

قد تقول لماذا تكبد العناء؟

اجيبك بسؤال :

إلى متى نبقى جاهلين بكيفية برمجة العتاد ؟ (هل تستطيع أن تصنع برنامجا يقوم بعمل defragmentation للهارد مثلا؟)

لماذا استطاع لينوس تورفالدز أن يصمم نواة اللينكس بينما لا يستطيع المبرمجون العرب أن يصمموا نواة خاصة بهم تدعم العربية من البداية؟

بكل بساطة النظام المنتظر هدفه تعليمي وليس تجاري

من قال للينوس أن تلك النواة ستتطور لتصبح منافسة للويندوز أظن أنه لم يحلم بذلك!

ولكن ذلك حدث فعلا!

اقتباس
1-لماذا أعيد تعبيد الطريق ؟

في هذا الأمر معك حق ولكن ليس بالصورة التي تتصورها أنت

يجب دراسة كيفية عمل نواة اللينكس ولكن ليس استعمال النواة وليس تقليدا أعمى لها.

أيضا دراسة المكونات الأخرى الأساسية ولكن ليس استعمالها

اقتباس
- مالجديد في هذا النظام ؟

الجديد في هذا النظام لا يتم تعيينه الآن ولكن يتم تعيينه بعد دراسة كيفية عمل نظام التشغيل طبعا يجب أن يكون في هذا النظام شيئ جديد على الأقل اللغة العربية

قد تقول: لكن الطريق طويل

وما المشكلة لن نخسر شيئا.

اذا لم نصل إلى نهاية الطريق قد يكمله غيرنا لكننا نكون قد اكتسبنا خبرة.

بعض الناس يظن أن هذا الأمر يتطلب عشرات السنين كي يتم لكننا لن نعيد اختراع العجلة بل سنسأل كيف تعمل ثم نصنع عربة ان شاء الله :D

والله الموفق

#49

السلام عليكم

أخي أحمد لقد تمت العملة بنجاح ولي سؤال كيفة يمكن عرض الرسالة في الشاشة بالعربية بدلا من الإنجليزية؟

أخي 852147 كما قال لك الأخ حكيم الهدف من المشروع هو هدف تعليمي وليس تجاري ونريد معرفة كيف يتم بناء نظام التشغيل وإن كنت قادرا على مد يد العون في تقديم ما ينتفع به غيرك في هذا المجال فنحن ننتظر منك المشاركة.

#50

السلام عليكم و رحمة الله و بركاته

أظن أن هذه نسخة html للكتاب pc interrupt .

وهذا رابط آخر يشرح فيه المقاطعات : http://www.htl-steyr.ac.at/~morg/pcinfo/ha...ts/inte1at0.htm

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

مواضيع مشابهة