ABA


"הרחבת סט פקודות מכונה - חלק 1"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #13334 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13334
MadXP

   19:34   28.05.06   
אל הפורום  
  הרחבת סט פקודות מכונה - חלק 1  
 
   עוגן האשכול הוסר בתאריך 07.06.06 בשעה  19:12  על-ידי Nesher, (מנהל הפורום)
 
נתחיל עם כמה מושגים בסיסיים הכרחיים להמשך:

process (תהליך) - אסבטרקציה של תוכנה. לדוגמא : אם פתחתי מסמך word הרצתי תהליך.
בד"כ מערכת ההפעלה מתזמנת את התהליכים בשיטת round robin with priority.

kernel mode - כאשר תהליך רץ במערכת יש לו הרשאה. לדוגמא אם אני כתבתי תוכנית ב שפת אסמבלי והשתמשתי בפקודה הבאה : halt
הפקודה לא תתבצע משום שההרשאה של התהליך שלי אינה מספיקה.
בספרות המקצועית הרשאת kernel נקראת running in ring zero

user mode - תהליכים שמורצים ע"י משתמש רצים בהרשאה הכי נמוכה
והם נקראים user mode או ring three. תהליכים אלו כמובן אינם יכולים להריץ את כל סט ההפקודות. (לדוגמא פקודות כמו halt או lidt ועוד לא נוכל להריץ בהרשאת משתמש)

exception - מנגנון הפסיקות הוא מנגנון שמנוהל בד"כ ע"י חומרה ובא לתת מענה מהיר למצבים הגורמים לשנוי מצב הפעולה הרגיל של המערכת.
לדוגמא: אם כרגע ביקשתי לפנות לאיזשהוא קובץ ואותו מידע לא נמצא בזכרון התהליך שלי, אלא נמצא על הדיסק. במצב זה יגרם page fault (סוג של exception).
ישנם סוגים שונים של exceptions כמו חלוקה באפס או general failure ועוד.
והנה רשימה מסודרת יותר :

0 Divide by zero

1 Single step

2 Non-maskable (NMI)

3 Breakpoint

4 Overflow trap

5 BOUND range exceeded (186,286,386)

6 Invalid opcode (186,286,386)

7 Coprocessor not available (286,386)

8 Double fault exception (286,386)

9 Coprocessor segment overrun (286,386)

A Invalid task state segment (286,386)

B Segment not present (286,386)

C Stack exception (286,386)

D General protection exception (286,386)

E Page fault (286,386)

F Reserved

10 Coprocessor error (286,386)

ועכשיו אחרי שאנחנו יודעים מה זה exceptions נלמד קצת על טבלה מיוחדת במעה"פ:

IDT - Interrupt Descriptor Table

זוהי הטבלה המכילה את כל הכתובות לשגרות הפסיקות. כלומר אם מתבצע page fault במערכת, המעבד הולך לטבלה זו, מוציא את הכתובת המתאימה עבור page fault exception ומתחיל לרוץ ממנה.
טבלה זו מאותחלת בזמן ההעלאה של מעה"פ שבעצם מכינה לחומרה את הכתובות של כל שגרות הפסיקות.

חשבו כעת, מה היה קורה אם היינו יכולים לשנות כתובות בטבלה זו להצביע על קוד שלנו..נשמע נחמד לא?


kernel driver - לא להתבלבל עם device driver, זהו kernel driver
, סה"כ קטע קוד שרץ בהרשאות kernel.

מושגים חשובים נוספים שאם יש צורך תרשמו ואסביר עליהם:

1) פעולת המחסנית - חשוב מאוד, אם אתם לא סגורים אוכל להעביר כמה דברים חשובים.

2) רגיסטרים במעבד, חשוב שתכירו את כל הרגיסטרים : eip, esp, ebp

3) נוהל קריאה לשגרה - ביצוע הפעולות ברגע שנקראת שגרה.

למנהל - הייתי שמח אם היית יכול לעגון את זה בבקשה.

זה מספיק לכרגע, אשמח לשמוע שאלות לבינתיים.



                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  בהחלט הייתי רוצה לשמוע עוד על שלושת המושגים החשובים. bizho 28.05.06 20:23 1
  מעניין תודה עידן_הכלי 28.05.06 20:32 2
  כן זה מעניין למרות שאני כבר קראתי על זה... MULI 28.05.06 21:12 3
     אני מתכוון להרחיב, זו רק ההתחלה. MadXP 28.05.06 22:29 5
  נעגן בכיף... יועבר לארכיון בהמשך... תודה! Nesher  28.05.06 21:13 4
  תודה אחי boynet 29.05.06 20:47 6
  יפה מאוד,כל הכבוד על ההשקעה no_angel 29.05.06 21:59 7
  מעניין, תודה לך, והייתי רוצה לשמוע עוד על המושגים שרשמת :) -ReDevil- 30.05.06 12:09 8
  תודה קראתי הכל ... חזרה על אסמבלי היא הכרחית עבורי כי אני לא זוכר כלום Net_Boy  30.05.06 20:17 9
  כמה שאלות DOWI 31.05.06 18:36 10
     תחפש assembly 8086 בגוגל תמצא מידע על מה שאתה מחפש... MULI 31.05.06 19:01 11

       
bizho

   20:23   28.05.06   
אל הפורום  
  1. בהחלט הייתי רוצה לשמוע עוד על שלושת המושגים החשובים.  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
עידן_הכלי

   20:32   28.05.06   
אל הפורום  
  2. מעניין תודה  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MULI

   21:12   28.05.06   
אל הפורום  
  3. כן זה מעניין למרות שאני כבר קראתי על זה...  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 28.05.06 בשעה 21:14 בברכה, MULI
 
קראתי על זה אפילו ברמה טיפה יותר גבוהה...
מעניין אותי במיוחד הנושא של הHOOKING על הEXCEPTION..
הייתי שמח אם היית מרחיב על זה עוד, או מה שנקרא בספרות מקצועית: חופר


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MadXP

   22:29   28.05.06   
אל הפורום  
  5. אני מתכוון להרחיב, זו רק ההתחלה.  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   21:13   28.05.06   
אל הפורום  
  4. נעגן בכיף... יועבר לארכיון בהמשך... תודה!  
בתגובה להודעה מספר 0
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
boynet

   20:47   29.05.06   
אל הפורום  
  6. תודה אחי  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
no_angel
חבר מתאריך 20.3.02
4989 הודעות
   21:59   29.05.06   
אל הפורום  
  7. יפה מאוד,כל הכבוד על ההשקעה  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-ReDevil-

   12:09   30.05.06   
אל הפורום  
  8. מעניין, תודה לך, והייתי רוצה לשמוע עוד על המושגים שרשמת :)  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   20:17   30.05.06   
אל הפורום  
  9. תודה קראתי הכל ... חזרה על אסמבלי היא הכרחית עבורי כי אני לא זוכר כלום  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DOWI

   18:36   31.05.06   
אל הפורום  
  10. כמה שאלות  
בתגובה להודעה מספר 0
 
   האמת, לא הבנתי כלום

אני לומד עכשיו על שפת המכונה של ה PDP-11 (זה מה שמלמדים בטנכיון..)
השפה של ההפנטיום 5 שלי היא אותו דבר?
מן הסתם יש יותר מ 8 רגיסטרים במחשב שלי...איך אני יכול לדעת ?
ומה התקפקיד שלהם?
בקיצור איך אני יכול לדעת איך לכתוב למחשב הספציפי שלי ?
תודה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MULI

   19:01   31.05.06   
אל הפורום  
  11. תחפש assembly 8086 בגוגל תמצא מידע על מה שאתה מחפש...  
בתגובה להודעה מספר 10
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net