ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורח · ·
 

הודעה פורסם: 04/01/2006 - 22:23
נושא ההודעה: מה ההבדל בין executable לבין binary ?

ל"ת
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
nolimלא בפורום כעת ת.הצטרפות: 04/07/2004 · הודעות: 762 ·
 

הודעה פורסם: 04/01/2006 - 23:08
נושא ההודעה:

אני חושב שexcutable הוא קובץ בר ביצוע (יכול להיות סקריפט) כלומר לא בהכרח בינארי
ובינארי הוא בינארי- שקומפל למחשב עם 0 ו1....
או שאולי אין הבדל בניהם...

_________________
Image
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
sijpלא בפורום כעת ת.הצטרפות: 01/05/2004 · הודעות: 5544 · מיקום: ~
 

הודעה פורסם: 04/01/2006 - 23:37
נושא ההודעה:

עד כמה שאני יודע, קובץ בינארי הוא קובץ שאינו טקסטואלי (אבל יכול להיות שאני טועה פה).
קובץ בר-ריצה, הינו קובץ בעל הרשאות ריצה שאפשר להריץ אותו. למשל ספרייה ב־C (שזה אוסף פונקציות/מחלקות), אי אפשר להריץ, אבל הם בינאריים.

לדוגמא, cairo - מנוע רינדור, משמש את גנום 2.12 לציור הגרפיקה על המסך.
זוהי סיפריה, קרי אוסף פונקציות בשפת C, שאפשר להשתמש בהם ליצור קבצי ריצה, אבל אותם בתאכלס אי אפשר להריץ.

עוד דוגמא, אולי יותר מובנת, זה קובץ DOC של word. אחד הדברים הבעייתיים בו זה שהוא בינארי ולא טקסטואלי (אם תפתחו אותו עם עורך טקסט רגיל, תראו ג'יבריש ולא בהכרח משהו קריא).

עוד דוגמא, תמונת png, בינארית אך לא ברת ריצה (אתה יכול לפתוח אותה עם תוכנה מסויימת - אותה תוכנה היא ברת-ריצה).

מקווה שזה עוזר.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
nadavvinלא בפורום כעת ת.הצטרפות: 08/12/2003 · הודעות: 7066 ·
 

הודעה פורסם: 04/01/2006 - 23:59
נושא ההודעה:

קובץ executable הוא קובץ בר הרצה כלומר כל קובץ שיש בו הוראות להפעיל תוכנית מסוימת.
בהגדרה זאת כלולים גם סקריפטים.

קובץ בינארי הוא קובץ שמכיל פקודות מכונה=אסמבלי שעובד עם פקודות המעבד ומבוקר ע"י מערכת ההפעלה.

בהגדרה זאת לא כלולים תוכניות שנעשו בגא'ווה אלא אם הם קומפלו בעזרת javac.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם Yahoo Messenger מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
sijpלא בפורום כעת ת.הצטרפות: 01/05/2004 · הודעות: 5544 · מיקום: ~
 

הודעה פורסם: 05/01/2006 - 00:29
נושא ההודעה:

sijp :
עד כמה שאני יודע, קובץ בינארי הוא קובץ שאינו טקסטואלי (אבל יכול להיות שאני טועה פה).

http://en.wikipedia.org/wiki/Binary_file

עפ"י ויקיפדיה, אני צודק...

נדב, קובץ בינארי אינו בהכרח חייב להכיל פקודות מכונה. תמונת png כמו שאמרתי קודם, אינה מכילה שום פקודה.

קוד שהודר בג'אווה, הוא גם בינארי. זהו bytecode - קוד (לא טקסטואלי הפעם, אפשר להפוך אותו לטקסטואלי באמצעות javap) אבסטרקטי שעדיין לא תורגם לקוד מכונה.

עריכה:
ציטוט מובחר:
קוד:
compiled applications (object files) are sometimes referred to as binaries. But binary files can also be image files, sound files, compressed versions of other files (of either type), etc. — in short, any file content whatsoever. Many binary file formats contain parts that are plain text.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10516 · מיקום: כדור הארץ
 

הודעה פורסם: 05/01/2006 - 01:32
נושא ההודעה:

ונסכם:

לא כל executable הוא binary
לא כל binary הוא executable

Mr. Green
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/01/2006 - 01:57
נושא ההודעה:

אבל כשמדובר בקבצים בינארים בC (סתם עלה לי עכשיו בראש) הם כן קריאים, ולאו דווקא בשפת מכונה,
לפי מה שהבנתי, exe הוא קובץ שניתן להריץ אותו, כלומר יש לו headers של elf ? וקובץ שהוא בינארי לאו דווקא יש לו headers של elf ?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
kaplanלא בפורום כעת ת.הצטרפות: 27/01/2003 · הודעות: 844 ·
 

הודעה פורסם: 05/01/2006 - 07:31
נושא ההודעה:

exe הוא קובץ שניתן להרצה (אם יקבל את ההרשאות המתאימות). יש כל מיני שיטות. הקרנל תומך ב-ELF כאחת מהן (יש עוד, אבל לא נפוצות אם אני זוכר נכון). כמו כן, ניתן להריץ דרך shell, perl וכו'.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
VicTorלא בפורום כעת ת.הצטרפות: 19/04/2005 · הודעות: 416 · מיקום: ^^(o)-(o)^^
 

הודעה פורסם: 05/01/2006 - 11:58
נושא ההודעה:

nadavvin :
קובץ executable הוא קובץ בר הרצה כלומר כל קובץ שיש בו הוראות להפעיל תוכנית מסוימת.
בהגדרה זאת כלולים גם סקריפטים.

קובץ בינארי הוא קובץ שמכיל פקודות מכונה=אסמבלי שעובד עם פקודות המעבד ומבוקר ע"י מערכת ההפעלה.

בהגדרה זאת לא כלולים תוכניות שנעשו בגא'ווה אלא אם הם קומפלו בעזרת javac.


לא ממש הבנתי.

אני אנסה ותגידו לי אם יש היגיון בדבריי:

קבצי executable שהם קבציי סקריפט, בעצם מפעילים כל מיני תוכנות אחרות שהן עצמן קומפלו למצב בינארי. אותם קבצים בינאריים מכילים פקודות מכונה.
למשל, סקריפט שמחליף את תמונת המסך בכל הפעלה חדשה של המחשב, בעצם קורא בכל הפעלה מחדש של המערכת לתוכנה בינארית שעושה זאת.

אני צודק ?

שאלה נוספת, האם קבצי סקריפט נחשבים כתוכנה ? או בגלל שהם רק קוראים לקבצים כאלו יש להם הגדרה שונה.

תודה.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
sijpלא בפורום כעת ת.הצטרפות: 01/05/2004 · הודעות: 5544 · מיקום: ~
 

הודעה פורסם: 05/01/2006 - 12:13
נושא ההודעה:

ציטוט:
אבל כשמדובר בקבצים בינארים בC (סתם עלה לי עכשיו בראש) הם כן קריאים, ולאו דווקא בשפת מכונה

קובץ בינארי ב־C, אינו קריא.
הקוד המקור (שהוא טקסטואלי), לא ניתן להרצה, יש להדר אותו קודם כל ולבנות ממנו קוד בינארי שהוא ניתן להרצה (במקרה ורוצים לעשות זאת).

Victor: מה ש־nadavin רשם לא מדוייק. קובץ בר-הרצה, לא מריץ קובץ אחר בהכרח.
ציטוט:
קבצי executable שהם קבציי סקריפט

זה לא נכון.
תסריטים (סקריפטים), הם ברי-ריצה, אך לא כל קובץ בר ריצה יהיה בהכרח תסריט.

בשביל לסכם את הבילבול שנוצר:
אפשר לחלק את הקבצים למחשב לשתי קבוצות: קבצים טקסטואליים וקבצים בינאריים.
ישנם קבצים (גם בינאריים וגם טקסטואליים) שניתן להריץ אותם, קרי ברי-ריצה (executable). ישנם קבצים שאי אפשר להריץ אותם והם משמשים לאגירת מידע (יכול להיות גם משהו אחר), כמו תמונות (יש גם טקסטואליים וגם בינאריים! SVG - טקסטואלי לעומת PNG שהוא בינארי), מסמכים וכו'.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
VicTorלא בפורום כעת ת.הצטרפות: 19/04/2005 · הודעות: 416 · מיקום: ^^(o)-(o)^^
 

הודעה פורסם: 05/01/2006 - 12:35
נושא ההודעה:

[quote="sijp"]
ציטוט:


בשביל לסכם את הבילבול שנוצר:
אפשר לחלק את הקבצים למחשב לשתי קבוצות: קבצים טקסטואליים וקבצים בינאריים.
ישנם קבצים (גם בינאריים וגם טקסטואליים) שניתן להריץ אותם, קרי ברי-ריצה (executable). ישנם קבצים שאי אפשר להריץ אותם והם משמשים לאגירת מידע (יכול להיות גם משהו אחר), כמו תמונות (יש גם טקסטואליים וגם בינאריים! SVG - טקסטואלי לעומת PNG שהוא בינארי), מסמכים וכו'.


אוקיי.
יש לך דוגמא לקובץ סקריפט שלא קורא לתוכנות שקומפלו בינארית ?
כלומר, האם קיים קובץ סקריפט (נניח ב bash) שמריץ פקודות ישירות למעבד ולא קורא לתוכנות אחרות שעושות את הפעולה הזאת ?

תודה.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
sijpלא בפורום כעת ת.הצטרפות: 01/05/2004 · הודעות: 5544 · מיקום: ~
 

הודעה פורסם: 05/01/2006 - 12:41
נושא ההודעה:

הבעיה עם השאלה שלך היא שאני לא מבין בדיוק מה הקשר.

זה לא רלוונטי ממש לדיון. קובץ script עובר תהליך של אינטפרטציה (פיענוח), שלאחר מכן מתורגם לפקודות מכונה במקום (ולכן הם איטיים יותר).

למשל, כתוב תסריט קצר בפיית'ון. אם תריץ אותו מהמסוף, לא תצליח כי הוא בלי הרשאות ריצה. תוסיף לו הרשאות ריצה והוא יהיה בר-ריצה.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
VicTorלא בפורום כעת ת.הצטרפות: 19/04/2005 · הודעות: 416 · מיקום: ^^(o)-(o)^^
 

הודעה פורסם: 05/01/2006 - 12:53
נושא ההודעה:

sijp :
הבעיה עם השאלה שלך היא שאני לא מבין בדיוק מה הקשר.


זה כנראה בגלל שאני לא ממש מבין בתכנות.

אבל הצלחתי להבין (אני מקווה..), כי קבצי סקריפט במידה והם מקבלים הרשאת ריצה, הם עוברים תהליך פיענוח, שזה מעין קימפול live, ואז הם מפעילים פקודות. Rolling Eyes

אם תיארתי יחסית נכון, אזי האם הפקודות שניתנות להשמה בתוך קובץ סקריפט (bash, python וכד'), דומות לפקודות ששמים בקוד המקור של שפת תכנות עילית, נניח בשפת c.
כלומר, האם ניתן לרשום פקודות בקובץ סקריפט אשר קוראות ישירות לכרטיס הקול למשל, מבלי להידרש בהפעלת תוכנת ביניים אחרת (שנכתבה בשפת עילית וקומפלה) אחרת ?

מקווה שהצלחתי לשאול בצורה מובנת.

תודה.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
sijpלא בפורום כעת ת.הצטרפות: 01/05/2004 · הודעות: 5544 · מיקום: ~
 

הודעה פורסם: 05/01/2006 - 13:53
נושא ההודעה:

זה לא קשור, כי הדיון מדבר על ההבדל בין קובץ בר-ריצה לבין קובץ בינארי. שכאמור, לא בהכרח צריך להיות הבדל. יש קבצים בינאריים ויש קבצים טקסטואליים (שהם תת-קבוצה בעצם של הבינאריים). יש קבצים ברי-ריצה ויש כאלו שלא. קובץ יכול להיות בינארי ובר-ריצה, רק אחד מהם או אף לא אחד מהם.

לגבי השאלה השניה, לא שידוע לי.

המחשב מבין רק שני מצבים, 0 או 1 (מתח גבוה או מתח נמוך). כל פעם שהוא מבצע פעולה מסויימת הוא מקבל רצף של 32 בתים (תלוי בחומרה) (זה בעצם 32 קוי חשמל). קרי 32 של אפסים ואחדים. הוא יודע לחלק את הרצף הזה בצורה כזו שהוא יבין את הפקודה (נתעלם מהמימוש של זה).

לכן המעבד לא ידע ישירות לעבוד עם סקריפט, ויצטרך מפענך ש"יסביר לו".

בסופו של דבר, מחשב זה חיה די מטומטמת... Wink
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
whoisaאורח · ·
 

הודעה פורסם: 05/01/2006 - 16:37
נושא ההודעה:

פשוט מאוד קובץ טקסטואלי הוא גם קובץ בינארי, פשוט זה מציין שאפשר לקרוא אותו (בנוי מתוי ascii פעם והיום יוניקוד).

הסיבה שסקריפטים הם קבצים טקסטואלים היא פשוטה: אנשים צריכים אפשרות לכתוב ולקרוא מהם.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
wliadלא בפורום כעתSite Moderator ת.הצטרפות: 25/05/2003 · הודעות: 1285 · מיקום: צפון הארץ
 

הודעה פורסם: 05/01/2006 - 17:18
נושא ההודעה:

אפשר להבין מה בדיוק המקור והמניע לכל הדיון המסורבל הזה?
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם Yahoo Messenger MSN Messenger מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
elcucoלא בפורום כעת ת.הצטרפות: 14/10/2003 · הודעות: 6257 ·
 

הודעה פורסם: 05/01/2006 - 18:39
נושא ההודעה:

כמו שליעד אמר כבר, חלס, נשבר הינה הגדרות:

קובץ בינארי: כל קובת שהוא לא טקסטואלי
קובץ טקסט: קובץ שכל התכולה שלו מכילה רק בתים שהערך שלהם הוא בין 32 ובין 126 עשרוני (וגם תווים 10 ו-13 חוקיים).
קובץ בר הרצה (על מערכות יוניקס): קובץ שבמערכת הקבצים שלו הסיבית של executable מופעלת.

אפשר לעשות קבצים בינארים ברי הרצה (תוכניות למשל: /bin/bash) אפשר לעשות קבצים בינארים לא ברי הרצה (למשל קבצי jpeg).
לעומת זאת אפשר לעשות קבצים טקטואלים ברי הרצה (למשל תסריטים: /usr/bin/startkde), וגם אפשר לעשות קבצים טקסטואלים לא ברי הרצה (למשל קבצי xpm.*).

יש עוד שאלות...?
(כן כן, בהגדרה של קבצי טקסט היא לא מדוייקת, כי בעצם כל קובץ שלא מכיל תווי בקרה הוא טקסטואלי, למשל קבצים המכילים עברית ב-utf8... אבל אם מתייחסים לקובץ בתור ascii אז הוא מכיל זבל, ולכן אני משתמש בהגדרה הפשוטה של קבוץ טקסטואלי)

אפשר לסגור את השירשור המיותר הזה....?
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח
  2. nolim
  3. sijp
  4. nadavvin
  5. sijp
  6. mksoft
  7. אורח
  8. kaplan
  9. VicTor
  10. sijp
  11. VicTor
  12. sijp
  13. VicTor
  14. sijp
  15. אורח [whoisa]
  16. wliad
  17. elcuco