סנכרון (מדעי המחשב)
מראה
(הופנה מהדף סינכרון (מדעי המחשב))
במדעי המחשב, סנכרון מתייחס לשני נושאים שונים אך קשורים: סנכרון תהליכים (תזמון) וסנכרון נתונים (תיאום). סנכרון תהליכים מתייחס לרעיון שלמספר תהליכים קיימת נקודה משותפת בה הם חוברים יחדיו או נפגשים כדי ליישם סדר פעולות מסוים.
סנכרון נתונים מתייחס לרעיון של שמירת מספר עותקים של מבנה נתונים כך שיהיו עקביים זה לזה, או כדי לשמור על אמינות הנתונים. סנכרון תהליכים משמש רבות למטרת סנכרון נתונים.
סנכרון תהליכים
[עריכת קוד מקור | עריכה]סנכרון תהליכים מתייחס לתיאום בו זמני של מספר תהליכים או תהליכונים לסיים משימה כדי לכפות סדר ריצה מסוים ולמנוע תחרות (Race condition). יש מספר דרכים לסנכרן תהליכים, בהם:
- מנעולים וסמפורים
- אלגוריתמים חסרי נעילות
- איחוד תהליכונים
סנכרון נתונים
[עריכת קוד מקור | עריכה]סנכרון נתונים הוא נושא נפרד אך קשור לסנכרון תהליכים. סנכרון נתונים עוסק בצורך לשמור על מספר עותקים של מבנה נתונים עקביים זה לזה. לדוגמה:
- סנכרון קבצים (למשל סנכרון קבצים בין מחשב כף יד למחשב שולחני)
- סנכרון בין עותקים של בסיסי נתונים
- RAID שבו מידע נרשם על פני מספר דיסקים, כך שאיבוד דיסק אחד לא גורם לאיבוד מידע