kpirap18 / BMSTU-OS-sem5

πŸ’»πŸ› OS labs of BMSTU (ICS7) 5th semπŸ’—

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Course: 3

Semester: 5

Subject: Operating systems

Done all labs

Theory for the exam

Made by Irina (me) and Alena

Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Π·Π° описаниС спасибо Alena)

1.1 ДизассСмблированиС INT 8h

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ sourser (sr.exe) ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ дизассСмблСрный ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прСрывания ΠΎΡ‚ систСмного Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Int 8h. На основС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Int 8h. ΠžΡ‚Ρ‡Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:

  • ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ассСмблСрный ΠΊΠΎΠ΄ с адрСсами ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ комСнтариями;
  • графичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° прСрывания Int 8h

1.2. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ прСрывания ΠΎΡ‚ систСмного Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π² систСмах раздСлСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ пСрСсчСта динамичСских ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ².

ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ состоит ΠΈΠ· Π΄Π²ΡƒΡ… частСй:

  1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° прСрывания ΠΎΡ‚ систСмного Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° для Π΄Π²ΡƒΡ… классов ОБ - Windows ΠΈ Unix:
  • ΠΏΠΎ Ρ‚ΠΈΠΊΡƒ;
  • ΠΏΠΎ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΊΡƒ;
  • ΠΏΠΎ ΠΊΠ²Π°Π½Ρ‚Ρƒ.
  1. ΠŸΠ΅Ρ€Π΅ΡΡ‡Π΅Ρ‚ динамичСских ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² - Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ для ОБ сСмСйства Windows ΠΈ для ОБ Unix. ΠžΡ‚Ρ‡Π΅Ρ‚ заканчиваСтся Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ, сдСланными Π½Π° основС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ исслСдования.

2. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ (32-разраядный Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π½Π° Π±Π°Π·Π΅ процСссоров Intel). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия. Π’ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. Π’ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π°:

  • ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ объСм доступной физичСской памяти;
  • ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ строки с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ строки Π½Π° экран;
  • ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° экранС ΠΎΡ‚ систСмного Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΈΠ³Π°ΡŽΡ‰Π΅Π³ΠΎ курсора, ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ количСства Ρ‚ΠΈΠΊΠΎΠ² с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ значСния Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ возвращаСтся Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ сообщСниями.

4. ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ (Unix). БистСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ fork() ΠΈ exec().

Π’ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ:

  1. ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹-сироты. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΄Π²ΡƒΡ… ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². Π’ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ… вызываСтся sleep(). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΠΊ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ Ρ€Π°Π½ΡŒΡˆΠ΅ своих ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ… процСссов ΠΈ ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΠ΅. ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ «усыновлСниС».
  2. ΠŸΡ€Π΅Π΄ΠΎΠΊ ΠΆΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ своих ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ систСмный Π²Ρ‹Π·ΠΎΠ² wait(). Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΠΊ выполнял Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄ΠΎΠ² Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ².
  3. ΠŸΠΎΡ‚ΠΎΠΌΠΊΠΈ пСрСходят Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ систСмному Π²Ρ‹Π·ΠΎΠ²Ρƒ exec() Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.
  4. ΠŸΡ€Π΅Π΄ΠΎΠΊ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ сообщСниями Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π».
  5. ΠŸΡ€Π΅Π΄ΠΎΠΊ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏ.4 ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ сообщСниями Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π». Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ собствСнный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сигнала. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сигнала мСняСтся Ρ…ΠΎΠ΄ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

5. ВзаимодСйствиС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов (UNIX)

Π’ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ вопросы ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π°Π²Ρ‹ΠΊΠΈ использования Π² прилоТСниях Ρ‚Π°ΠΊΠΈΡ… срСдств ΠΌΠ΅ΠΆ процСссного взаимодСйствия, ΠΊΠ°ΠΊ сСмафоры ΠΈ раздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° основС Π·Π°Π΄Π°Ρ‡, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для взаимодСйствия асинхронных ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов: «производство-ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Β» ΠΈ Β«Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ-писатСли».

6. РСализация ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° Π₯ΠΎΠ°Ρ€Π° Β«Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ-писатСли» ΠΏΠΎΠ΄ ОБ Windows

Π’ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ API ОБ Windows Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ, ΠΏΠΎΡ‚ΠΎΠΊΠΈ, события (event) ΠΈ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΡ‹ (mutex). ΠŸΠΎΡ‚ΠΎΠΊΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ Π₯ΠΎΠ°Ρ€Π° Β«Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ-писатСли».

About

πŸ’»πŸ› OS labs of BMSTU (ICS7) 5th semπŸ’—


Languages

Language:TeX 49.7%Language:C 26.9%Language:Assembly 22.6%Language:OpenEdge ABL 0.4%Language:Makefile 0.3%Language:Rust 0.1%