�� ���� (3� ��)
- ��: ������ ����� ��� ������� �� ���� ����� ���� ��� ����� ��� ��� ����� ���� ����. � ����� ��� �� ��� ���� ��� ��� ���� �� ���� ���� ���� �� ����.
- ��: �� ����� �� ��� ��� ����� �� ����� ������, ��� ��� ��� ��� �� ����� ����� ��� ���� ��� ��� ���� ����.
- ��: � ����� ����� ���� �� ����� ��� �� ��� ����, ��-���� ��(IPC)� �� ���� � ��� ���� �� �� ��� �� ��� ��� ��� ����.
. �� � ��� (Context & Necessity)
-
��: ������ ����� �� ������� ��� �� ���� ����� ��� � ����� �� ��� ����� ���� ����� ���� ����. � ����� ������� ���� �� ��, �� ����� ���, ��� �� �� ���� ����. ��� ��� ������ ��� ��(�: ��� �� ��, �� ��)� �� ����� ���� ��� ��� ���.
-
���: �� ������� �� ����� ��� ��� ���� ��, �� � ����� �� �3� ���(����, �� ����, � ���)� ���� �� ����� ��� �� ��� ��� �� �� ����. �� ��� �� ����� ����� ��� ��� �� ���������� � ���, ������ ����� ��� ���� ��� ��� ���� �� � ��.
-
� ��: ������ ����� ��� ��� ��. � ��(����)� ��� ��� ��� ����, � ���� �� ��� �� ��� ������ �� ���� ��� ��� ���. �� �� �� ��� ���� ����.
-
�� �� � �� ��:
- �� �� ���� ������� ��: �� � ����� �� ��� �� ������ ����, ��� ���� ��� �� ����� ����� ��� ���.
- ���� ��� ��� ��: �� ���� ��� ��� ��, �� ����(2008�)�� � �� �� ����� ���� ������ ����� �����.
- �� � ���: ��� �� ��, �����(Fission ����)� ��� � �� ������ ����� ������ ����� ���� ������, �� �� ���� �������� ���� ��.
������ ����� �� ��� ����, � ����� ��� ����� ���� ����� � � ��.
������ ���� �� (� ����)
���� �� ���� (UI, ���� ���� �)
� ��, ��� �� ��
���� �� ����
���� ��
� ����1 � ����2 � ����3
(� ��� (� ��� (� ���
�� + JS) �� + JS) �� + JS)
�� ����: IPC (Shared Memory, Message Passing �)
[����� ��] � ������ ������ ����� ���� ��� ����. �� ����� ��� �����, � ��, ���� ���� �� ���� ��� ����, � �� ��� ������ � ��� ���� JavaScript ��� ����. ���� ��� IPC ��� �� ��� ��� ����, ��� ��� ��� ���� �� ����� �� ��� ���� ��� �� ���.
. ���� � �� �� (Deep Dive)
�� ��
| ��� | �� | �� �� | �� �� | �� |
|---|---|---|---|---|
| �� ���� | �� ������ �� � �� | UI ���, ���� ��/��, IPC �� | � ���, ��� �� | ��� � �� ��� |
| �� ���� | �� �� �� (�: � ���) | ���� �� ���� �� �� | ��� ��, JS �� | �� �� |
| IPC �� | ���� � ��� � �� �� | �� ���, ��� �, �� � | shared memory, Unix domain socket | ����� � �� |
| ���� ��� | �� ���� �� ���� � ��� | ��� �� �� � �� �� | ���� ���� �� | ��� � �� ��� |
| ���� ��� | �� ����� �� �� �� | ��� �� ���, �� �� | SELinux, AppArmor, seccomp-boilerplate | �� � ���� |
������ ����� �� �� ��
������ ����� ���� ���� ���� ����� ���� ���� ��� ��.
������ ���� �� ���
1. �� ���� ��
- UI ��� � ��� ��
- �� � �� �� ��
2. �� �� �� �
- � �� ���� �� (fork �� exec)
- ����� ���� �� ��
- IPC �� ��� (�� ��� �� �)
3. �� ������� ��
- ���� �� ���� �� ��
- �� �� � ��� �� �� �� ��
4. �� �� � IPC
- �� ��� IPC ��� �� �� ����� ��
- �� ����� ��� UI� ��
5. �� �� � ��
- �� ���� ��� �� ��
- ����� �� �� � �� ��� ��
- �� � �� �� ���� �� � ���
[����� ��] � ������ ������ ����� �� �� ��� ����. �� 2���� ���� �� ��� �� �� ����� ��� � �� ��� ���, 4���� IPC� �� �� �� ��� ����. 5��� �� �� ����� ��� ������ ��� ��� �� ����� ���� �� ���� ����.
. �� �� � ��� ��
�� 1: ������ vs ����� ����
| �� �� | ������ ���� | ����� ���� |
|---|---|---|
| ��� �� | �� �� (�� �� ��) | �� �� �� (�� ���) |
| �� �� | ��� (���� ��� �� ��) | �� �� (��� ��� ��� �� ��) |
| �� ��� | ��� ��� �� (�� ��) | ��� ��� ��� |
| �� ���� | IPC �� (����� ��) | �� ��� �� (����� ��) |
| ��� | ���� �� �� ��� ��� | ��� �� ����� ��� �� |
| � ��� | � ����, ������ �� | ��� ���, �� �� |
������ ����� ��� ���� �� ����� � ���, �� ��� �� ���� ��� ��� ����. ��� ���� ��� � ����� ������� �� ������ ������� ����, ����� ��� ��� ��� ��������� ������ ����.
�� �� ��
- ���� (OS, Operating System): ������ ����� ����� ���� ��(fork/exec), ��� ��(MMU), IPC ����(�� ���, ��� � �)� ����� ����. �� Copy-on-Write(COW)� ���� �� � ��� ����� ��� � ����.
- �� (Security): � ����� ����(��� �� ���)� ���� ��� �������, ��� ����� compromised ���� ��� ��� �� ��� ��� � ��. �� ����� �� �� ��(MAC)� �� ��� ����.
������ ����� ���� ��� ��� ������ ����, � ��� ��� � � ��.
������ ����� ���� �� ���
���� �� ��������� ��
���� �� (fork) �� ����� ��� ��
��� �� (MMU) � ����� �� �� �� ��
Copy-on-Write (COW) ���� �� � ��� �� ��
���� �� ���� � �� �� � �� ��
IPC (�� ��� �) �� �� � �� ��� �� ��
���� � ����� CPU �� �� ��
�� ��� ���� � �� �� � �� ��
[����� ��] � ������ ������ ����� ��� ����� ��� ��� ���� ����� ����. ���� ��� fork() ��� �� �� �����, ��� ��� MMU� �� � ����� ���� �� ��� ����. �� Copy-on-Write� ���� �� ���� ��� ��� ��� ���� �� �� ��� ��� �� ��� ����. IPC� �� ���� ��� � �� �� ���� � ��� ��� ���� ��.
. �� �� � ���� ��
�� ����
-
���� -- � ������� � �� ��: ���� �� �� �� ����� ��� ��� ��� JavaScript� �� ��� �� �� �� ��� �� ��, ������ ������� �� � ����� ��� �� �� �� ���� �� ����� ����� ����. �� �� ����� ��� ���� �� �� ���� ������ ����� �� � ��.
-
���� -- ������ ����� �� �� ��: �� ���� ��� ��� ��� ���� ������ ����� � �� ��� �� ����� ������, ��� ���� ��� ����� ��� ���� �� �� ��� ��� ��� ��� � � ��. �� �� �� �� ����� �� �� ���� ����.
-
���� -- ������� ������� ��� ��: ���� ����� ���������� � ���� �� ���� �� ����� ���� ��� � �� ��� ����. �� ������ ����� ��� ���� ���� ����� ��� ��� ���� ���, ��� ��(service mesh)� �� ��� ��� � ��.
�� ��� ��� "������� ���� ��"� ���, �� ��� �� ����� ���� ��� ����� ���� ��. �� ���� �� ��� IPC ����� ���� ��� ��� ��� ��. �� ���� ���� ���� ������ ����� ��� � ���� � ��� ��� ���.
������ ���� �� ���� ���
[������� ��� �����?]
�� ���� �����? (�: ����, DB)
� [��� ���� �� ��]
[IPC �� � ���� ��]
��� [����� �� �� ���� ��]
�� ��� stringent��? (���/�� ��)
� [�� ���� �� ��� � ��]
[���� ��� � ��]
��� [���� ���� �� ��]
�� ����� ���? (�3� �� �� �)
� [���� + �� �� �� ��]
[��� �� ��� ��]
��� [�� ���� �� �� ��]
�� ��: ��� vs �� ��� vs �� ��� � ��� ��
[����� ��] � ���� ��� ��� "������� �� ��� ��� ���� ���"�� ���. ���� ���� ��� ���� ������� �����, �� ��� stringent��� �� �� ��� ��� ���� �� �� ��� ���� ��. ��� � �� ��� sempre "�� ���� ���� �����?"�� ���� ��.
�� �����
- ���: ���� � ��(IPC) ����� ���� ������? �� ��� �� � ��� ��� ���? ���� ��� ��� ���?
- �� ���: � �� ����� ��� ���� ��� ���� ���? ���� ��� ��� ���� ���? ���� � �� ��� ���?
����
-
��� ���� ��: ��� ���� ����� ���� �� � IPC ����� �� �� ��� ���� �. �� ��� ��� ��� �����.
-
���� �� ��: �� ����� ��� ��� ���� ��� ��� ���� �� ��� ��� ���� �. �� �� ���� ����� ��� ����.
-
� �� �� ��: ��� ���� ��� �� �� ���� ��� ��� �� �� ���, ���� ��� ���� �� �� � �� ��� ������ ���� ��.
. ���� � ��
��/�� ����
| �� | ��� � | ��� � | �� �� |
|---|---|---|---|
| �� | �� ������� ��� �� �� ���� �� | �� ��� �� ��� ����� | ��� ��� 3~10� �� |
| �� | �������� ��� ��� � ��� ��� | ���� � ��� IPC� ��� �� | ��� �� 50% �� �� |
| �� | ��� ��� �� �� �� �� | ��� ������ �� �� �� | �� �� � �� �� �� ��� �� |
�� ��
- �� ���� �� ��: ���� ��� ������� cgroups� ��� �� �� ��� ����, �� ������ �� ����� ��� �� ��� ��� ���.
- ����� ����: �� ��� ����, �� ��� ����� ���� ����� �� ��� ���� ���. �� ��, �� ��� ���� ����, ��� ��� ����� �� ����� ���� ����.
- Wasandbox � WebAssembly ��: ������� WebAssembly ��� ������� ������, ������ ��� ��� ���� �� ���� �� ��� � �� ��� �� ���.
������ ����� �� ��� ����� ����, ���� ��� ���� ���� ���� �� �� ��� ����� ���� ���� ��� ��� � ��.
������ ���� �� ���
2000�� � 2000�� �� 2010�� �� 2020��+
[�� ���� ��] [�� �� ��] [����� ��] [Wasandbox ��]
���� ��� �
��� �� ��
�� vs ��� �� �� �� ��
�� ��:
"���� � ��" -> "�� �� ���" -> "�� ��� ��" -> "���� ���"
[����� ��] 2000�� ��� ��� ��� �� ����� ���� ��� ���� �� ������. 2000�� ���� Copy-on-Write� �� ���� �� ���� ���� ����� ���� ����, 2010�� ���� ���� ����� ��� ����� ��� ���� ����. ��� Wasandbox� �� ��� ��� �� ���� �� ���� �� ��� �� ��� ����� ��� �� ���, ���� ��� ���� ���� ��� ��� ���� �� ��� ��� ���.
� �� �� � (Knowledge Graph)
| �� �� | �� � ��� �� |
|---|---|
| ���� �� (Process Creation) | ������ ����� fork() � exec() ��� �� �� �� ����� ����. |
| Copy-on-Write (COW) | ���� �� � ��� �� �� ��� �� �� �� ��� ��� �� �����. |
| ��-���� �� (IPC) | �� ���, ��� �, �� �� �� �� ����� �� ���� � ��� ��� �����. |
| ���� (Sandbox) | �� ����� �� ��� �� �� � �� ��� �� ���� ���� ����. |
| ��� (Thread) | ����� ������ �� ����, ��� �� ��� ���� �� ����� ��� �� �� ��� ��. |
� ���� �� 3� �� ��
- ������ ����� ���� �� ��� ��� �� �� ���, �� ���� ���� ���� �� ��� ���� ���.
- ��� � ������ � �� ��� �� �� ���� �� ���� ��� � �� ��� �� ����.
- ��� �� ���� � ����� ���� ��� ���� �� � � �� ��.
(End of file - total lines will be around 300)