Итак, у меня возникли проблемы с пониманием, когда я начал изучать механизм виртуальной памяти в Unix System. Таким образом, существует structure proc
, который содержит исчерпывающую информацию о любом процессе в системе ( Я считаю, что proc
был заменен на tusk_struct
, но концепция на самом деле сегодня) . struct proc
состоит из адреса, который направляет на struct as
, который направляет в список struct seg
. ![enter image description here](https://i.stack.imgur.com/ecsn2.jpg)
Извините за мой черновик! Примерно так выглядит на картинке. Итак, мой ответ влияет на виртуальную память. Существует segvn_data
, который связан с vnode
. vnode
составляет часть файловой системы и берет на себя любую работу с файлом, включая изменение на жестком диске. Правильно ли, что один из сегментов может обрабатывать такие страницы, которые отображаются vnode
? Почему они оба должны использовать swap area
? За что отвечает swap area
?
PS: когда сегменту нужно менять область подкачки?
PPS: все процессы должны иметь область подкачки? Когда vnode требует, чтобы сегменты отображались в области подкачки?