Low_Level משתמש מתחיל
הצטרף / הצטרפה: 19 March 2010 מדינה: Israel
משתמש: מנותק/ת הודעות: 7
|
נשלח בתאריך: 19 March 2010 בשעה 12:09 | | IP רשוּם
|
|
|
|
שלום רב,
רציתי לדעת אם יש מישהו שמתמצא בשפות תיכננות DOS, הן עיליות כמו C/C++ או Pascal, והן שפות סף כמו אסמבלי - ואם צריך, איך לעשות 'inline' כלומר לשלב הוראות אסמבלי בתוך פונקציה של C או Pascal כפי שאפשר לעשות בטורבו סי 3 וטורבו פסקל 7, בצורה כזאת שהשפה העילית יכולה לשלוח לפונקציה פרמטרים ולקבל ממנה ערכים חוזרים, ממש כמו פונקציה רגילה בשפה עצמה.
מה שאני מחפש זה דוגמאות קוד ו/או אפליקציה שלמה (או חלקית) אשר יודעת לעבוד כמו Norton Ghost במובן זה שהאפליקציה תדע לקחת ממחיצה נבחרת בדיסק הקשיח, אך ורק סקטורים אשר יש בהם מידע, וכמובן תתעלם מכל היתר - ותעתיק אותם למחיצה אחרת.
בהתחלה אני רוצה לעבוד רק עם פורמטים של FAT16 ו/או FAT32, אבל אשמח לתמוך גם ב-NTFS ואולי גם ב-EXT של לינוקס.
1. פלטפורמות הפעלה:
- כמובן שהתוכנה צריכה לעבוד ממצב DOS נקי, ולא מחלונות או כל-מיני שטויות מסוג זה
- ידוע לי ש-Ghost הבת-אלף יודעת לצרוב CD ישר מ-DOS; מאוד יפה מצידה, אבל אני לא צריך שום דבר כזה בינתיים (אלא אם מישהו מכיר דרך קלה לעשות זאת)
2. הבעיה העיקרית:
- צריך לדעת את הסקטורים המלאים ישר בהתחלה; מדוע? מכיוון שאם נקרא סקטור אחרי סקטור, במחיצה ש-80 אחוז ממנה ריק, זה ייקח שבוע, מה גם שעלולה להיות פרגמנטציה.
- דוגמה טובה לתוכנה שעושה קריאה מהירה, לפחות לפי הבנתי, היא Scandisk של DOS, אשר, ממש לפני שהיא מתחילה לבצע surface scan, היא מציגה על המסך חלון גדול ובו טורים טורים ב-3 (או 4) צבעים שונים, המייצגים את פריסת המידע הכללית במחיצה הנבחרת.
3. אופציה אפשרית:
- לדעת באילו קבצים ו/או ספריות (פולדרים) אנו נתקלים במהלך הקריאה; למה זה טוב? ובכן, למשל אם נרצה להציג ו/או לקטלג את כל הקבצים השמורים במחיצה הנבחרת. גם ל-Ghost כמדומני יש איזה command line switch שעושה כנ"ל.
- מצד שני, גם כאן צריך איכשהו לפתור את עניין הפרגמנטציה.
בקיצור ולעניין, כל רעיון רציני ו/או הפניות (לינקים) לדוגמאות קוד, על איך למצוא במהירות + לקרוא סקטרוים מלאים בלבד, אעריך מאוד.
רב תודות, רמי מתחיל
|