1) Моя машина с Windows 10 имеет ядро Windows. Верно?
A: Да.
2) Когда я выбираю опцию для запуска контейнеров Linux, я думаю, что виртуальная машина Linux запускается поверх моей машины с Windows 10, а поверх этого запускаются контейнеры Linux. Это правильно?
A: Да. Там будет Hyper-V Linux с именем Mobylinux, вы можете увидеть это в диспетчере Hyper-V.
3) Если виртуальная машина Linux запущена на компьютере с ОС TOP, какое ядро используется? Ядро виртуальной машины Linux или ядро Windows 10?
A: Hyper-v vm использует ядро Linux.
4) И тогда как мы можем сказать, что контейнеры не включают в себя операционную систему, для окон они работают на виртуальной машине Linux.
A: Не уверен, где вы получаете информацию. Образ докера имеет только файловую систему, например файловая система ubuntu16.04, но не имеет ядра. Когда контейнер запустится, он будет использовать файловую систему image & amp; поделиться ядром хоста (может быть, вы просто имеете в виду, что у него нет собственного ядра, поэтому вы называете его не имеющим операционной системы?)
5) Теперь, если я запущу второй контейнер, он будет работать поверх уже под управлением Linux VM или она снова запустит новую Linux linux? Я думаю, что он будет работать на той же виртуальной машине Linux, но спрашиваю, чтобы не было путаницы.
A: Да, он снова будет работать на том же linux vm.
6) Если виртуальная машина Linux запущена на вершине компьютера с Windows, то имеем ли мы какой-либо контроль над виртуальной машиной Linux, работающей как версия виртуальной машины Linux, и т. Д., Или она всегда одна и та же, и мы не имеем никакого контроля над это?
A: Нет, см. это обсуждение , кажется, не может ssh к виртуальной машине, просто какой-то обходной путь для доступа к файловой системе виртуальной машины, поэтому не найти никакого способа изменить ядро или дистрибутив Linux.
7) Если виртуальная машина Linux запускается поверх компьютера с Windows, то ресурсы Windows не видны для виртуальной машины Linux и, следовательно, для контейнера? Если это видно, то как Linux VM может общаться с хостом Windows?
A: Теоретически вы можете смонтировать папку windows в linux vm, тогда контейнер может использовать папку linux с томом. И Docker для Windows сделал это для вас, щелкните правой кнопкой мыши значок на панели задач, вы можете увидеть что-то вроде следующего, просто сделайте, как на картинке:
По моему мнению, класс Массива является в основном представлением класса массивов фиксированного размера, что мы объявляем использование [] в программе (можно провести аналогию как интервал, имеет, это - класс (структура) представление как Система. Int32).
Также класс Массива не содержит на самом деле данные массива ни в каких переменных экземпляра, но это обеспечивает просто статические служебные функции, которые могут быть использованы, чтобы сделать сортировку и поиск в заявленных массивах фиксированного размера.
С другой стороны, ArrayList является классом набора, который обеспечивает динамическую реализацию массива размера, и он имеет свою собственную структуру данных для содержания данных. Поэтому упомянутые методы являются методами экземпляра, так, чтобы они могли работать надо что данные конкретного экземпляра.
Класс набора как ArrayList
encapsules некоторая внутренняя память (по-видимому, массив, который изменен по мере необходимости, но это мог также быть связанный список или некоторая другая реализация). Metods как IndexOf
и Sort
доступ потребностей к базовому частному устройству хранения данных, чтобы быть эффективным, таким образом, они должны быть instace методами.
Array
с другой стороны, не инкапсулируется, существует открытый доступ непосредственно к устройству хранения данных. Array.IndexOf
и Array.Sort
для методов не нужен никакой специальный доступ к данным массива, таким образом, они могли бы также быть статическими методами.