• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

MAE

اعضاء
  • عدد المشاركات

    138
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

-1 مقبول

عن MAE

  • الرتبة
    عضو
  • تاريخ الميلاد 12/04/1991

طرق الإتصال

  • ICQ 0

معلومات الملف الشخصي

  • الجنس ذكر
  1. اعتقد ان الفكرة غير سليمة "على حسب علمي فقط" يا جماعة انتو فاهمين الموضوع سهل هوا مش صعب و لا سهل بس لازم نكون متفهمين عددة تفاط تتلخص في -معرفة قدراتنا و امكانياتنا -معرفة ما يواجهنا نظام التشعيل ببساطة يتلخص في عدة سطور هو برنامج "ضخم" يتعامل مع قدرات و امكانيات "المعالج" المجردة يعني لا وجود للدوال او لمكتبات الوندز بالاضافة الى الرام و باقي العتاد بواسطة الاسمبلي و يقوم بعمل الدوال و المكتبات لتستخدمها البرامج و طبعا كل ما زادت الدوال و المكتبات زادت البرامج لسهولة البرمجة و في ما يلي خطوات نظام التشغيل إلى ان يشغل برنامج معين: ضغطنا على زر التشغيل بعد انا وصلنا الكهربا يفتح الكمبيوتر و يقرأ البيوس و من ثمة يحمل القطاع الاول إلى الذاكرة ثم يسلمه دفة القيادة يبدأ المعالج بتنفيذ تعليمات البووت و الذي يقوم بمهمة بسيطة جدا و هي رفع النواة الى الذاكرة اما اذا كان يقوم ببعض الاختبارات فهي اضافات لا اكثر تدخل النواة حيز التنفيذ و طبعا كل هذا الكلام في النمط الحقيقي يعني المقاطعات شغالة و شاشة سودة 25*80 للعرض تبدأ النواة و تقوم اولا بتحميل باقي النظام اذا كان لم يحمل في الذاكرة و تقوم في البداية بعمل GDT بالاضافة إلى جدول المقاطعات الخاصة بالنظام بعد ذلك تقوم النواة بتشغيل الوضع المحمي و طبعا هذا معناه لا مقاطعات لا شاشة عرض 25*80 و بداية العمل بIn & OUT و التحكم المباشر في العتاد طبعا يجب أن يكون نظام ادارة الذاكرة مجهز وهذا اول نظام للادارة بعد ذلك يكون معرف الاجهزة و طبعا و ادارتها و دا تاني نظام للادارة و نظام ادارة الاجهزة يجب ان ينتبه لنقطة الديدلوك بعد ذلك تجهز عمليات تعدد المهام و كالعادة كل مهمة لها وقت و اسم و اولوية و و و الاشياء اللازمة و طبعا اسمعها ادارة المهام و هذه ثالث ادارة ادارة المهام تأخذ اكبر حيز لأنها تستخدم تقريبا كل انظمة الادارة السابقة يأتي بعدها ادارة التطبيقات و الذي يقوم بتحديد خصائص البرامج التي تحت التنفيذ طبعا هذا كله إلى جانب ادارة الملفات الذي يعمل مع القرص الصلب هذه فقط النواه .... تخيلو!! طبعا و اللغة الرسمية هي تعليمات الاسمبلي او ما حول إليها إلى جانب الواجهة و باقي الكمايات بالاضافة إلى التقنيات الجدية التي ظهرت في المعالجات كالوضع الافتراضي و تعدد النواة و و و هذا هو نظام التشغيل ببساطة هذا نظام متواضع بالتأكيد يعني بجد الف ميل و بالتوفيق :D
  2. اذا كان المشروع مازال في مرحلة الاسمبلي أي مرحلة البوت فأنا كتبت بوت هو مشابه للعديد من النماذج لكن في النهاية فإن له وظيفة معينة :P ;we do some things in this boot: ;we make sure that process is +386 ;we refresh protect mode and put kernel in true address ;we'll refresh the A20 for key-board ;that all we do in this simple boot [bits 16] ORG 7c00h jmp start ;data---------------------------------------- bdv db 0 find_286 db 'this process is too old and the OS can't work on it',13,10,0 reboot db 'press any key to reboot...',13,10,0 succ db 'all test be successful we go to next grade',13,10,0 ;-------------------------------------------- start: mov [bdv],dl mov ax,7c00h mov ds,ax mov ax,1000h ;after stack mov es,ax ;setup stack cli mov ax,9000h mov ss,ax mov sp,ffffh sti detect: ;process+enable A20 for"K-board"+load-kernel ;-------------------------------------------------- process: ;nobody use 8086 now so we test for +286 ;test for +386 for now and after we'll know vision pushf mov ah,0f0h push ax popf pushf pop ax and ah,0f0h jz f286 popf ;if not jump that's mean find +386 and use its instruction ;if take jump it'll print it and reboot ;--------------------------------------------- A20_line: ;we enable and turn on it only ;---------------------------------------------- hardD: mov ah,0 mov dl,10h;for HD int 13h jae l_kernel jc hardD ;---------------------------------------------- l_kernel: ;we assume that we are in HD mov ax,0201h mov cx,0002h mov dx,0010h int 13 jc l_kernel ;on error mov si,succ set_succ: lodsb cmp al,0 je end_succ mov ah,0eh mov bx,0007h int 10h jmp set_succ end_succ: jae dword[es:bx] ;that's mean 100:0h ;---------------------------------------------- f286: mov si,find_286 set_find: lodsb cmp al,0 je end_find mov ah,0eh mov bx,0007h int 10h jmp set_find end_find: mov si,reboot set_reboot: lodsb cmp al,0 je end_boot mov ah,0eh mov bx,0007h int 10h jmp set_reboot end_reboot: mov ah,0 int 16h db eah dw 0000h dw ffffh times 510-($-$$) db 0 dw 0AA55h هذا للاستفادة و سأكون هنا أولا بأول :lol:
  3. النمط المحمي ببساطة هي خاصية تشغل من المعالج و التي تجعل كل عملية تعمل في الذاكرة كما لو انها لوحدها أي أن يعمل كل برنامج على حده بدون أن يتدخل في ذاكرة البرنامج الآخر و هذه الخاصية هامة جدا لتعدد المهام للمزيد من المعلومات المفصلة الرجاء قراءة صفحة المعلومات لمعالجات الـ 32
  4. موضوع شيق و انا كانت لي محاولة أحب ان أضعها بين يدكم الكود التالي للـGDT و اذا اردتم بامكاني وضع الباقي /*---dt.h--- we're make DataStruct for descriptor table in all kind -----------*/ #ifndef _descriptor_H #define _descriptor_H #define MAXIDT_entry 256 #define MAXGDT_entry 1024 /*--بينة جدول الواصفات--*/ /*--Datastruct of GDT--*/ typedef struct _GDT { unsigned short segsize1; unsigned short base_addr1; unsigned char base_addr2; unsigned char s_type:5; unsigned char dpl_p:3; unsigned char segsize2:4; unsigned char avl:1; unsigned char resv:1; unsigned char db_g:2; unsigned char base_addr3; }GDT; /*--بينة جدول المقاطعات او المطبات على حسب--*/ /*--Datastruct of IDT--*/ typedef struct _IDT { unsigned short offset1; unsigned short segment; unsigned char resv:5; unsigned char int_trap:3; unsigned char type:5; unsigned char dpl:2; unsigned char p:1; unsigned short offset2; }IDT; /*--مسجل جدول الواصفات--*/ /*--Register of GDT--*/ typedef struct _selector { unsigned short limt; unsigned long address; }SELECTOR_DT; /*الدوال*/ /*--some function--*/ /*--GDT--*/ void gdt_setup(void); void init_kernel(void); void request_GDT(short ,long ,long ,char ,char ,char ); void release_GDT(short ); /*--IDT--*/ void IDT_setup(); void setExHandler(char ,int ,char); void ExHandler_setup(void); /*//-------exception function-----*/ void EX0(void); void EX1(void); void EX2(void); void EX3(void); void EX4(void); void EX5(void); void EX6(void); void EX7(void); void EX8(void); void EX9(void); void EX10(void); void EX11(void); void EX12(void); void EX13(void); void EX14(void); void EX15(void); void EX16(void); void EX17(void); void EX18(void); /*---------------------------*/ extern void setSCHandler(char ,int ,char );/*--For Int--*/ #endif /*---gdt.c--- -----------*/ #include "sys\dt.h" #define m_value(num) num=(num>>8) #define h_value(num) num=(num>>16) GDT gdt[MAXGDT_entry]; /*----------------*/ void GDT_setup(void) { SELECTOR_DT GDTR; GDTR.limt=sizeof(GDT) * MAXGDT_entry-1; GDTR.address=(long)&gdt; asm volatile ("lgdt %0" :: "m"(GDTR)); } /*----------------*/ void init_GDT(void) { request_GDT(0,0,0,0,0,0); request_GDT(1,0xfffff,0,0x1a,1,0x11); request_GDT(2,0xfffff,0,0x12,1,0x11); request_GDT(3,0xfffff,0,0x12,1,0x11); request_GDT(4,0xfffff,0,0x1a,0x31,0x11); request_GDT(5,0xfffff,0,0x12,0x31,0x11); request_GDT(6,0xfffff,0,0x12,0x31,0x11); request_GDT(7,0xfffff,0,0x10,0x21,0x11); GDT_setup(); } /*----------------*/ void request_GDT(short selector;long size,long base,char s_type,char dpl_p,char db_g,) { if(selector < 8 || selector > 1023 || size > 0xfffff || base > 0xffffffff || db_g > 0x11 || dpl_p > 0x31 || s_style > 0x1f) return; else if (gdt[selector].dpl_p < 1) return; else { gdt[selector].segsize1 = (size & 0xffff); gdt[selector].segsize2 = (size>>16) & 0xf; gdt[selector].base_addr1 = base & 0xffff; gdt[selector].base_addr2 = (base>>16) & 0xff; gdt[selector].base_addr3 = (base>>24) & 0xff; gdt[selector].s_type = s_type & 0xff; gdt[selector].dpl_p = dpl_p & 0xff; gdt[selector].db_g = db_g & 0xff; gdt[selector].avl = 0; gdt[selector].resv = 0; } } /*---------------*/ void release_GDT(short selector) { if (selector < 8 || selector > 1023) return; else gdt[selector].dpl_p=0; }
  5. الطريقة بسيطة نأخذ مناط اسناد لكل ضلع و من ثم اذا كانت النقطة المطلوبة موجبة ام سالبة اذا كانت كل النقط موجبة عند كل حالة اذا فالنقطة داخل المثلث و اذا لم يكن فالنقطة بالخارج
  6. حذرت إحدى الشركات العاملة فى مجال الحماية الأمنية مستخدمي شبكة الإنترنت من الوقوع ضحية لنوعية جديدة من الرسائل الإلكترونية تدعي احتواءها على صور إباحية لعدد من المشاهير لنشر فيروس عبر الحاسبات الإلكترونية. وأوضحت ''باندا سكيوريتي'' إحدى أكبر الشركات المتخصصة في حلول الحماية الأمنية الإلكترونية أن عناوين تلك الرسائل البريدية عادة ما تتحدث عن وجود صور إباحية لكبار النجوم العالميين، مثل المغنية الكولومبية شاكيرا، أو بعض الرسائل التي قد تغري مستخدمي الإنترنت بفتح موقع إلكتروني. وأضافت الشركة أنه بمجرد فتح مستخدمي الإنترنت هذا الموقع، فإنه سيحمل بذلك نسخة من الفيروس، وهو أحد أنواع ''حصان طروادة'' التي تنسخ نفسها على الحاسبات الإلكترونية. ونصح الشركة مسئولو مستخدمي الحاسبات بتجنب فتح رسائل البريد الإلكتروني القادمة من أشخاص غير معروفين لهم، والضغط على الروابط الإلكترونية التي قد تحتويها تلك الرسائل
  7. انا اتعارض معك أخي نور بصراحة النود رااائع و كشف كل الفيروسات تقريبا لكنه فاااااشل في التصرف بعد كشفها لا يستطيع تصليح الملف ولا مسحه حتى لذلك اعتقد ان الكاسبر سكاي هو اعظم برنامج لمن يجيد التعامل معه
  8. مناقشة برنامج التشفير!

    لماذا لا تكون نتيجة فك التشفير معتمدة على حل التشفير بعنى آخر : يعني مثلا دالة تأخذ مفتاح التشفير من المستخدم لتفك تشفير دالة أخرى مشفرة على أساسه و هذه الدالة تكون عمل البرنامج او تشفير آخر أو اساسي يعني أي اختلاف سيكون شيء آخر جدا و طبعا فك التشفير معتمد على الحل يعني لا يمكن برمجته عكسيا
  9. نعم يوجد مفتاح اساسي (primary key) في كل جدول و للعلم القاعدة تعطيني Recordeset read only لا اعرف لماذا و حاولت و لكن بلا فائدة لكن الغريب في الامر اني لو غيرت او اضفت على الجداول اي شيء لا يتغير الا الجدول الاول في القاعدة
  10. ههههههه نعم الحل لا يحتاج الى تفكير هو يحتاج الى رسم فقط حبيت اشاركم به لقصر السؤال و بساطته و طول اجابته :) اما عن المدة فلقد قرأت قوانين وضع الالغاز و انه يجب تحديد مدة و الحلول و حجات من دي
  11. سأكون شاكرا جدا ان كان هناك توضيح اكثر منك او حتى كود لكن شكرا على الاهتمام
  12. السلام عليكم اود مشاركتكم بهذا اللغز الهندسي وجدته قبل 3 سنوات وتطلب مني وقت 15 دقيقة اللغز لمحبي الهندسة و البرهنة و التفكير المدة اسبوع من الآن اللغز هو: ثلاث دوائر متطابقات متماسات نصف قطر كل منهم 10 متر اوجد مساحة القطعة المحصورة بينهم مع برهان الحل <_< :evil: لمزيد من التوضيح الصورة في المرفقات
  13. انا باستخدم قواعد بيانات اكسس و كل حاجة تمام لكن عندما اقوم باضافة اكثر من جدول تظهر لي رسالة يقول فيها Recordset for read only و يضيف على الجدول الاول فقط و ان و انا جربت الطريقتين snapshot & dynaset انا بستخدم هذا الكود m_pSet->AddNew() m_pSet->Update() m_pSet->Requery() مش عارف هل يجب ان اعمل شيء في الاعدادت ام ماذا
  14. Too Few Parameter

    اولا شكرا على الاهتمام لا اتوقع انه يريد المسار و اسم المستخدم و الباسوورد لأن المسار يتم تحديده في بداية عمل البرنامج و لم اضع اسم مستخدم و كلمة مرور للقاعدة و ايضا عندما اخذت جدولين فقط من 9 رأيت هذه الرسالة too few parameters , expected 55 معلومات مفصلة..: قاعدة مكونة من 9 جداول برنامج مربوط بقواعد البينات وباستخدام MFC تحديد مسار القاعدة عند التشغيل البرنامج فقط