קיפאון (מדעי המחשב)

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

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

בענף המחשבים, קיפאון מתייחס למצב בו שני תהליכים מחכים האחד לאחר לשחרורו של משאב, או למצב בו יותר משני תהליכים מחכים למשאבים בשרשרת מעגלית. דוגמה: תהליך א' נועל את משאב A וממתין לשחרורו של משאב B, משום שהוא זקוק לשני משאבים אלה יחדיו לשם השלמת פעולתו. באותו זמן תהליך ב' נועל את משאב B וממתין לשחרורו של משאב A, משום שגם שהוא זקוק לשני משאבים אלה יחדיו לשם השלמת פעולתו. בקשת הנעילה היא פעולה חוסמת ועל כן שני התהליכים הפעילו פעולות שלא יחזרו עד שישוחרר המשאב שביקשו לנעול. אך כיוון שהתהליך שמחזיק במשאב נמצא במצב דומה - הוא לא יכול לשחרר את המשאב ומכאן ששני התהליכים תקועים[1].

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

מצבי קיפאון הם מטרידים ביותר מכיוון שאין פתרון כללי למניעתם. על מתכנתים לנסות ולכתוב תוכניות שלא ייתכנו בהם כלל מצבי קיפאון. תוכניות כאלה נקראות תוכניות שיש להן חָיות (liveness)[2].

תנאים הכרחיים לקיפאון

קיפאון יתרחש רק אם ארבעת התנאים הבאים יתרחשו במקביל[3]:

  1. מניעה הדדית (mutual exclusion): לפחות אחד מהמשאבים הוא אינו שיתופי. במילים אחרות, ברגע נתון רק תהליך אחד יוכל להשתמש במשאב הזה.
  2. החזק והמתן (hold and wait): כל תהליך מחזיק לפחות במשאב אחד ומחכה למשאב אחר נוסף שכרגע בשימוש על ידי תהליך אחר.
  3. אין הפקעה (no preemption): המשאבים לא מופקעים מהתהליכים שמשתמשים בהם. במילים אחרות, משאב יכול להשתחרר רק על ידי התהליך שמחזיק בו, אחרי שאותו תהליך השלים את עבודתו.
  4. המתנה מעגלית (circular wait): קיימת קבוצת תהליכים ממתינים {p0,p1,...,pn}, כך שכל תהליך pi ממתין למשאב שמוחזק על ידי תהליך pi+1. תהליך pn ממתין למשאב שמוחזק על ידי p0. באופן כזה, קבוצת התהליכים יוצרת מעגל בו כל תהליך מחכה למשאב המוחזק על ידי תהליך אחר.

דרכי התמודדות עם קיפאון

ישנן שלוש גישות עיקריות בהן משתמשים להתמודד עם בעיית הקיפאון[4]:

  1. מניעה והתחמקות. בגישה זו מוודאים שמערכת ההפעלה לעולם לא תיכנס למצב קיפאון. שיטות המניעה מוודאות שלפחות אחד מארבעת התנאים ההכרחיים לקיפאון לא יתרחש. שיטות ההתחמקות דורשות שמערכת ההפעלה תקבל מידע נוסף מראש בנוגע לאלו משאבים יבקש כל תהליך. עם הידע הזה, היא תוכל להחליט עבור כל בקשה האם התהליך ימתין או לא: אם בזמן הבקשה המערכת תזהה פוטנציאל למצב קיפאון, התהליך לא יקבל את המשאב אלא ימתין שהמצב ישתנה והמערכת תגיע למצב בטוח יותר בו לא יתאפשר קיפאון.
  2. זיהוי והתאוששות. בגישה זו מאפשרים למערכת להיכנס למצב קיפאון, מאבחנים זאת, ומשחררים אותו. מערכת ההפעלה מספקת אלגוריתמים שבוחנים את מצבה ומחליטים האם התרחש קיפאון. כמו כן היא מספקת אלגוריתמים לטיפול והתאוששות מאותו קיפאון.
  3. התעלמות. בגישה זו לא מתייחסים כלל לאפשרות הקיפאון. אפשרות זו נמצאת בשימוש ברוב מערכות ההפעלה, ביניהן Windows ו-Unix. במערכות כאלו זה באחריות המתכנת לכתוב תוכנית שמתמודדת עם קיפאון. במידה ויתרחש קיפאון המערכת לא תוכל לזהות זאת. הקיפאון יביא להאטה בביצועי המערכת. יותר ויותר תהליכים יוקפאו כשיבקשו משאבים ולבסוף המשתמש יאלץ לאתחל את המערכת. עם זאת, במערכות רבות מצב קיפאון הוא נדיר מאוד ולכן השיטה הזו זולה יותר מאשר האלגוריתמים למניעה, התחמקות או זיהוי והתאוששות.

מניעת קיפאון

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

מניעה הדדית

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

החזק והמתן

בשביל לוודא שתנאי זה לעולם לא יתקיים, נוודא שכשאשר תהליך מבקש משאב הוא לא מחזיק שום משאב אחר. ניתן לממש זאת באחת משתי דרכים[5]:

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

לשתי הדרכים האלו יש שני חסרונות מרכזיים:

  1. ניצולת משאבים נמוכה. אם נחייב את התהליכים לבקש משאבים מראש, ייתכן וחלק מהמשאבים לא יהיו בשימוש זמן רב - בין הרגע בו הם הוקצו עד הרגע בו התהליך משתמש בהם בפועל.
  2. תיתכן הרעבה. תהליך שזקוק למספר משאבים פופולריים יחד אולי לאלץ לחכות זמן רב או בלתי מוגבל, בגלל שלפחות אחד מהמשאבים המבוקשים יהיה תמיד תפוס על ידי תהליך אחר.

אין הפקעה

נוכל להסיר תנאי זה תוך שימוש באחת מהדרכים הבאות[6]:

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

המתנה מעגלית

בשביל למנוע מעגל המתנות יש לסדר את כל המשאבים בסדר כלשהו. יש לדרוש שתהליך יוכל לבקש משאבים רק בסדר עולה. כלומר לכל משאב נצמיד מספר סידורי, ותהליך יוכל לבקש רק משאבים שמספרם גדול מהמשאבים שהוא כבר מחזיק בהם[6].

התחמקות מקיפאון

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

נאמר שמצב הוא בטוח אם המערכת יכולה להקצות משאבים לכל תהליך בסדר מסוים ועדיין למנוע קיפאון. במילים אחרות, מערכת נמצאת במצב בטוח רק אם קיים רצף תהליכים בטוח, שהוא רצף p0,p1,...,pn בו תהליך pi יבקש בעתיד רק משאבים שהם כרגע פנויים או מוחזקים על ידי תהליך pj, כך ש j<i. אם המשאבים שpi מבקש תפוסים, הוא ימתין עד ש pj ישחרר אותם. אם לא ניתן לסדר את התהליכים ברצף כזה, נאמר שהמערכת במצב לא בטוח, שעלול להסתיים בקיפאון. ההבחנה בין המצבים מתייחסת ליכולת של המערכת להגיע למצב קיפאון. ישנם אלגוריתמים שמוודאים שהמערכת תישאר תמיד במצב בטוח. כל פעם שתהליך מבקש משאב פנוי הם מחליטים האם הוא יקבל אותו (כי המערכת תישאר במצב בטוח) או שהתהליך ימתין. בשיטה זו ייתכן ותהליך ימתין גם אם המשאב פנוי ולכן ניצול המשאבים בשיטת ההתחמקות הוא נמוך יותר.
אלגוריתם שממש התחמקות מקיפאון הוא אלגוריתם הבנקאי.

חיזוי וכריעות

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

איתור קיפאון קיים

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

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

ראו גם

הערות שוליים

  1. ^ Ekta Walia, Operating System Concepts, Khanna Publishing House, 2015, עמ' 122, ISBN 978-93-80016-65-8. (באנגלית)
  2. ^ D. M. Dhamdhere, Operating Systems: A Concept-based Approach,2E, Tata McGraw-Hill Education, 2006-05-01, עמ' 687, ISBN 978-0-07-061194-8. (באנגלית)
  3. ^ Ekta Walia, Operating System Concepts, Khanna Publishing House, 2015, עמ' 123, ISBN 978-93-80016-65-8. (באנגלית)
  4. ^ ABRAHAM SILBERSCHATZ, PETER GALVIN, GREG GAGNE, Operating System Concepts, 8th Edition, John Wiley & Sons, 2008, עמ' 290. (באנגלית)
  5. ^ 1 2 ABRAHAM SILBERSCHATZ, PETER GALVIN, GREG GAGNE, Operating System Concepts, 8th Edition, John Wiley & Sons, 2008, עמ' 291. (באנגלית)
  6. ^ 1 2 ABRAHAM SILBERSCHATZ, PETER GALVIN, GREG GAGNE, Operating System Concepts, 8th Edition, John Wiley & Sons, 2008, עמ' 292. (באנגלית)

Read other articles:

Part of the Viking invasions of EnglandFor the later Battle of Reading, see Battle of Reading (1688). Battle of ReadingPart of the Viking invasions of EnglandDatec. 4 January 871LocationReading, BerkshireResult Viking victoryBelligerents West Saxons Danish VikingsCommanders and leaders ÆthelredAlfred BagsecgHalfdan Ragnarsson vteViking invasions of England Lindisfarne Hingston Down Great Heathen Army (865–78) Alcea York Englefield Reading Ashdown Basing Meretun Chippenham...

 

 

First Italian satellite San Marco 1Mission typeIonosphericEarth scienceAstrophysics[1]OperatorCNRCOSPAR ID1964-084A SATCAT no.00957Mission duration~272 days Spacecraft propertiesLaunch mass115.2 kilograms (254 lb)[1] Start of missionLaunch date15 December 1964, 20:24:00 (1964-12-15UTC20:24Z) UTC[1]RocketScout X-4[2]Launch siteWallops LA-3A End of missionDecay date13 September 1965[1] Orbital parametersReference systemGeocentricR...

 

 

Direct Énergie 2017GénéralitésÉquipe TotalEnergiesCode UCI DENStatut UCI ProTeamPays  FranceSport Cyclisme sur routeEffectif 26 (dont 3 stagiaires)Manager général Jean-René BernaudeauDirecteurs sportifs Dominique Arnould, Jimmy Engoulvent, Benoît Génauzeau, Lylian Lebreton, Thibaut MacéPalmarèsNombre de victoires 23Direct Énergie 2016Direct Énergie 2018modifier - modifier le code - modifier Wikidata La saison 2017 de l'équipe cycliste Direct Énergie est la dix-huitième d...

Voce principale: Associazione Sportiva Dilettantistica Città di Giulianova 1924. Giulianova CalcioStagione 1986-1987Sport calcio SquadraGiulianova Calcio Allenatore Francesco Giorgini Presidente Tiberio Orsini Serie C23º posto nel girone C. Maggiori presenzeCampionato: Tuccella (34) Miglior marcatoreCampionato: Frigerio (12) 1985-1986 1987-1988 Si invita a seguire il modello di voce Questa pagina raccoglie le informazioni riguardanti il Giulianova Calcio nelle competizioni ufficiali della ...

 

 

The city of Cumberland, Maryland is home to a small and declining but historically significant Jewish community. The city is home to a single synagogue, B'er Chayim Temple, one of the oldest synagogues in the United States. Cumberland has had a Jewish presence since the early 1800s. The community was largest prior to the 1960s, but has declined in number over the decades. Historically, the Jewish community in Cumberland maintained several synagogues, a Jewish cemetery, and a Hebrew school. By...

 

 

Mikel San José Informasi pribadiNama lengkap Mikel San José DomínguezTanggal lahir 30 Mei 1989 (umur 34)Tempat lahir Pamplona, SpanyolTinggi 186 m (610 ft 3 in)Posisi bermain Bek tengahInformasi klubKlub saat ini Athletic BilbaoNomor 6Karier junior Chantrea2005–2007 Athletic BilbaoKarier senior*Tahun Tim Tampil (Gol)2007–2010 Liverpool 0 (0)2009–2010 → Athletic Bilbao (pinjaman) 25 (1)2010– Athletic Bilbao 56 (6)Tim nasional‡2007–2008 Spanyol U-19 16 (0)2...

2019 Digital Ally 250 Race details[1][2][3] Race 7 of 23 in the 2019 NASCAR Gander Outdoors Truck Series season Date May 10, 2019 (2019-05-10)Location Kansas Speedway in Kansas City, KansasCourse Permanent racing facility1.5 mi (2.4 km)Distance 167 laps, 250 mi (403 km)Pole positionDriver Matt Crafton ThorSport RacingTime 30.459Most laps ledDriver Stewart Friesen Halmar Friesen RacingLaps 87WinnerNo. 45 Ross Chastain Niece MotorsportsTelevision in the Un...

 

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

 

 

Народная (Национальная) Армиякит. 国民军 Страна Китайская Республика Подчинение до 1926 — самостоятельна, после 1926 — Гоминьдан Тип Вооружённые силы Дислокация Север Китая Участие в Северный поход, Гражданская война в Китае Командиры Известные командиры Фэн Юйсян, Ху ...

Football league seasonUkrainian Transitional LeagueSeason1992ChampionsDnister Zalischyky (Group 1)Bazhanovets Makiivka (Group 2)Top goalscorer11 - Oleh Vetrov (Bazhanovets Makiivka)← 1991 1992–93 (Second)1992–93 (Transitional) → The 1992 Ukrainian Transitional League was the first season of 3rd level professional football in Ukraine. After this season the Transitional League has split into Second League (3rd tier) and Transitional League (4th tier). The competition was divided into tw...

 

 

Музей природы и экологии Республики БеларусьМузей прыроды і экалогіі Рэспублікі Беларусь Дата основания 25 июля 1983 года Дата открытия Февраль 1992 года Местонахождение Минск Адрес г. Минск, улица Карла Маркса, д.12, каб.11 Сайт pryroda.histmuseum.by/ru/  Медиафайлы на Викискладе Музей ...

 

 

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

ألياكساندر خاتسكيفيتش معلومات شخصية الميلاد 19 أكتوبر 1973 (العمر 50 سنة)مينسك، جمهورية بيلاروس الاشتراكية السوفيتية، الاتحاد السوفيتي الطول 1.87m مركز اللعب لاعب وسط الجنسية بيلاروس  معلومات النادي النادي الحالي Karmiotissa FC [الإنجليزية]‏ (مدرب) مسيرة الشباب سنوات فريق 1990�...

 

 

Artikel ini memberikan informasi dasar tentang topik kesehatan. Informasi dalam artikel ini hanya boleh digunakan untuk penjelasan ilmiah; bukan untuk diagnosis diri dan tidak dapat menggantikan diagnosis medis. Wikipedia tidak memberikan konsultasi medis. Jika Anda perlu bantuan atau hendak berobat, berkonsultasilah dengan tenaga kesehatan profesional. Dermatitis seboroikContoh dermatitis seboroik antara hidung dan mulutInformasi umumNama lainSeborrhoea, sebopsoriasis, eksim seboroik, pitiri...

 

 

Narkhedbandar kota (kerajaan tempatan)Peta India. BenderaNegaraIndiaNegara bagianMaharashtraDistrikNagpurbandar kota (kerajaan tempatan)NarkhedPopulasi (2001) • Total21.536 • Melek huruf15.535 (8.550 lelaki 6.985 perempuan) • Jenis kelamin55% lelaki dan 45% perempuanZona waktuGMT • Musim panas (DST)GMTbawah 6 tahun2582 (2001) Narkhed adalah sebuah bandar kota (kerajaan tempatan) yang terletak di Distrik Nagpur di negara bagian Maharashtra, ...

Australian cabinet position Minister for the National Disability Insurance SchemeCommonwealth Coat of ArmsFlag of AustraliaIncumbentBill Shortensince 1 June 2022 (2022-06-01)Department of Social ServicesStyleThe HonourableAppointerGovernor-General on the recommendation of the Prime Minister of AustraliaInaugural holderJenny Macklin (as Minister for Disability Reform)Formation14 December 2011 (2011-12-14)Websiteministers.dss.gov.au/bill-shorten The Minister f...

 

 

Neural pathways between the thalamus and cerebral cortex Thalamocortical radiationsDeep dissection of brain-stem. Lateral view. (Thalamocortical fibers labeled at center top.)Tractography of thalamocortical radiationsDetailsFromThalamusToCortexIdentifiersLatinradiatio thalamocorticalis, tractus thalamocorticalisNeuroNames1337Anatomical terms of neuroanatomy[edit on Wikidata] In neuroanatomy, thalamocortical radiations, also known as thalamocortical fibres, are the efferent fibres that pro...

 

 

Oversized, heavy overcoat Shinel redirects here. For the short story, see The Overcoat. The greatcoat: Rear and front perspectives of the uniform greatcoat for an officer of the Light Infantry of the Grande Armée commanded by Napoléon. A greatcoat (also watchcoat) is a large, woollen overcoat designed for warmth and protection against wind and weather, and features a collar that can be turned up and cuffs that can be turned down to protect the face and the hands, whilst the short rain-cape ...

Запрос «30» перенаправляется сюда; о числе 30 см. 30 (число). Годы 26 · 27 · 28 · 29 — 30 — 31 · 32 · 33 · 34 Десятилетия 10-е · 20-е — 30-е — 40-е · 50-е Века I век до н. э. — I век — II век 1-е тысячелетие II век до н. э. I век до н. э. I век II век III век 0-е до н....

 

 

Entry control building This article is about fortified or decorative gate structures. For other uses, see Gatehouse (disambiguation). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Gatehouse – news · newspapers · books · scholar · JSTOR (April 2016) (Learn how and when to remove this message) The southern e...