DEV_EASY_NOTES Telegram 136
Вы задумывались об этом вопросе? Скорее всего некоторым повезло и препод с умным видом рассказывал вам про важность и устройство какой-нибудь ОС. Если кому не повезло как мне и вам вообще об этом не рассказывали, то присаживайтесь, давай-то по быстрому пройдемся по этому топику.

Итак, ответ в вкратце для чего нужна ОС. ОС – просто абстракция, чтобы когда вы писали программы вообще не думали о том, как ваша прога будет работать с железом. Представьте ситуацию, где вам потребовалось бы покрасить кнопку и вы держали в голове все порты монитора и думали о том, на какой порт подать напряжение чтобы кнопка покрасилась. Да еще и делать это нужно для каждого конкретного монитора. Жуть же правда, а именно так и было до создания ОС.

Теперь ответ не вкратце. Есть три пункта, выполнив которые мы можем сказать, что ОС состоялась:

👉 Планировщик процессов
👉 Менеджер памяти
👉 IPC (inter process communication)

Планировщик процессов это штука, которая вообще вводит понятие процесса. Планировщик решает сколько выдать процессу времени на процессоре, как распаралелить выполнение процессов и еще кучу всего связанного с безопасностью. Вы говорите ОС, хочу запустить эту прогу, а ОС уже сама создает новый процесс. Для этой программы все будет выглядеть так, будто ей доступно все железо на компе, хотя на само деле нет. Прям как вам говорят на входе в ВУЗ что у вас открыты все двери.

Менеджер памяти делает тоже самое что и планировщик процессов только с памятью. Этот менеджер следит за тем, чтобы какая-то одна прога не сожрала всю память, выделяет память под новый процесс, делает дифрагментацию, swap и вот это все. Когда мы выделяем память динамически, именно этот менеджер предоставляет нам память. Помимо этого он занимается виртуализацией памяти. Вашей программе кажется что ей доступна память оперативки в диапазоне ячеек с 0 до 1024, а на самом деле она работает в диапазоне 1024 по 2048. Это абстракция чтобы нам заранее не ломать голову, в каком участке памяти будет работать наша прога.

IPC это механизм межпроцессного взаимодействия. Не путайте с межпроцессорным, это две разные вещи! Так вот, этот механизм позволяет двум разным процессам общаться друг с другом. Фишка ОС в чем, что каждый процесс у нее это черный ящик, он вообще ничего не знает о других процессах и не может залезать в их память. Порой возникает необходимость поделится данными с другим процессом. Есть куча вариантов как передать данные другому процессу: через сеть, через файл, через буфер обмена или просто на прямую через оперативку. С файлом или сетью все довольно понятно, а через оперативку как, у нас же черный ящик? Вот именно безопасная передача данных между процессами напрямую через оперативку и есть головная боль IPC.

Естественно помимо эти трёх пунктов еще есть устройства ввода/вывода всякие драйвера, но эти три пункта прям обязательны и они самые важные.
🔥41👍10



tgoop.com/dev_easy_notes/136
Create:
Last Update:

Вы задумывались об этом вопросе? Скорее всего некоторым повезло и препод с умным видом рассказывал вам про важность и устройство какой-нибудь ОС. Если кому не повезло как мне и вам вообще об этом не рассказывали, то присаживайтесь, давай-то по быстрому пройдемся по этому топику.

Итак, ответ в вкратце для чего нужна ОС. ОС – просто абстракция, чтобы когда вы писали программы вообще не думали о том, как ваша прога будет работать с железом. Представьте ситуацию, где вам потребовалось бы покрасить кнопку и вы держали в голове все порты монитора и думали о том, на какой порт подать напряжение чтобы кнопка покрасилась. Да еще и делать это нужно для каждого конкретного монитора. Жуть же правда, а именно так и было до создания ОС.

Теперь ответ не вкратце. Есть три пункта, выполнив которые мы можем сказать, что ОС состоялась:

👉 Планировщик процессов
👉 Менеджер памяти
👉 IPC (inter process communication)

Планировщик процессов это штука, которая вообще вводит понятие процесса. Планировщик решает сколько выдать процессу времени на процессоре, как распаралелить выполнение процессов и еще кучу всего связанного с безопасностью. Вы говорите ОС, хочу запустить эту прогу, а ОС уже сама создает новый процесс. Для этой программы все будет выглядеть так, будто ей доступно все железо на компе, хотя на само деле нет. Прям как вам говорят на входе в ВУЗ что у вас открыты все двери.

Менеджер памяти делает тоже самое что и планировщик процессов только с памятью. Этот менеджер следит за тем, чтобы какая-то одна прога не сожрала всю память, выделяет память под новый процесс, делает дифрагментацию, swap и вот это все. Когда мы выделяем память динамически, именно этот менеджер предоставляет нам память. Помимо этого он занимается виртуализацией памяти. Вашей программе кажется что ей доступна память оперативки в диапазоне ячеек с 0 до 1024, а на самом деле она работает в диапазоне 1024 по 2048. Это абстракция чтобы нам заранее не ломать голову, в каком участке памяти будет работать наша прога.

IPC это механизм межпроцессного взаимодействия. Не путайте с межпроцессорным, это две разные вещи! Так вот, этот механизм позволяет двум разным процессам общаться друг с другом. Фишка ОС в чем, что каждый процесс у нее это черный ящик, он вообще ничего не знает о других процессах и не может залезать в их память. Порой возникает необходимость поделится данными с другим процессом. Есть куча вариантов как передать данные другому процессу: через сеть, через файл, через буфер обмена или просто на прямую через оперативку. С файлом или сетью все довольно понятно, а через оперативку как, у нас же черный ящик? Вот именно безопасная передача данных между процессами напрямую через оперативку и есть головная боль IPC.

Естественно помимо эти трёх пунктов еще есть устройства ввода/вывода всякие драйвера, но эти три пункта прям обязательны и они самые важные.

BY Dev Easy Notes


Share with your friend now:
tgoop.com/dev_easy_notes/136

View MORE
Open in Telegram


Telegram News

Date: |

In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members. Telegram users themselves will be able to flag and report potentially false content. Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment. Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator.
from us


Telegram Dev Easy Notes
FROM American