2019년 2월 11일 월요일

[윈도우] 세션, 윈도우 스테이션, 데스크탑

세션
- 프로세스는 프로세스를 시작시킨 사용자에게 속하며, 세션에 속합니다.
- 세션은 프로세스, 윈도우, 윈도우 스테이션, 데스크탑, 여러 리소스들을 포함합니다.
- 프로세스는 1개 세션에 속하고 각 세션은 세션 ID를 가지고 있습니다.
- 프로세스가 시작되면 세션을 바꿀 수 없습니다.

- XP이하에서 1개 이상의 세션이 동작하며, 비스타 이상은 최소 2개의 세션이 동작합니다.
- 세션의 수는 일정 숫자로 제한됩니다.

- 비스타 이상에서 윈도우의 서비스가 시작하는 곳은 Session 0입니다.
- 두번째 세션인 Session 1은 첫번째로 로그온한 사용자의 프로그램이 시작되는 곳입니다.
- 한 컴퓨터에서 여러 사용자를 로그온 시키면 많은 세션들이 생겨납니다.
- 터미널 서비스, 원격 데스크탑, 사용자 전환 등의 추가적인 로그온 동작으로 새로운 세션이 생겨납니다.

- 비스타 이전에는 첫번째로 로그인한 사용자가 Session 0를 공유하며, 상호작용이 허용되었습니다.
- 비스타부터는 사용자 세션과 서비스 세션이 완전히 분리되었고, 세션 0는 사용자와 상호작용도 할 수 없게 되었습니다.
- 이로써 서비스는 애플리케이션 코드로부터 안전함을 보장받을 수 있습니다.
- 서비스들은 상승된 권한에서 수행되기 때문에 세션을 공유하면 사용자 프로그램은 많은 것에 접근할 수 있게 됩니다.


윈도우 스테이션
- 세션은 윈도우 스테이션들과 한 개의 클립보드를 포함합니다.
- 윈도우 스테이션은 속한 세션에서 유일한 이름을 갖습니다.
- 다른 세션들 사이에서 2개의 윈도우 스테이션은 같은 이름을 가질수 있습니다.
- 스테이션이 생성되면 자신이 속해있는 세션을 변경할 수는 없습니다.

- 프로세스는 하나의 윈도우 스테이션에 속합니다.
- 프로세스는 시작된 이후에 자신의 윈도우 스테이션을 변경할 수 있습니다.

- 모든 세션에는 Winsta0이라고 불리는 특별한 윈도우 스테이션이 존재합니다.
- WinSta0은 사용자 인터페이스를 보여주고 사용자 입력을 받을 수도 있는 윈도우 스테이션입니다.
- 다른 윈도우 스테이션들은 GUI를 보여줄 수도 없고 사용자 입력을 받을 수도 없습니다.
- 프로세스는 윈도우 스테이션 안에 있는 데스크탑이나 클립보드에 접근할 수 있습니다.

- 모든 프로세스는 부모 프로세스를 가지고 있는데, 프로세스가 시작될 때 윈도우 스테이션을 설정하는 코드를 추가하지 않는다면 부모 프로세스의 윈도우 스테이션으로 설정됩니다.


데스크탑
- 윈도우 스테이션은 데스크탑을 여러개 가질 수 있습니다.
- 데스크탑은 커널 공간에 로드되는 논리적인 디스플레이 표면이며, 모든 GUI 객체들은 이 곳에 할당됩니다.
- 데스크탑은 세션에 속하며, 윈도우 스테이션에게도 속합니다.

- 각 세션에서는 오직 한번에 하나의 데스크탑만이 활성화 될 수 있습니다.
- 또한 반드시 WinSta0에 속해야 하고, 이런 액티브 데스크탑은 입력 데스크탑이라 부릅니다.

- WinSta0은 로그온 데스크탑, 기본 데스크탑, 스크린 세이버. 3개의 로드된 데스트탑을 가지고 있습니다.
- 비스타 이후부터 보안 데스크탑 이라는 4번째 데스크탑이 생겼는데, UAC(User Account Control)프롬프트에서 사용됩니다.
- 데스크탑을 잠글 때, 기본 데스크탑에서 로그온 데스크탑으로 스위치 되는 작업이 수행됩니다.


** 세션 > 윈도우 스테이션 > 데스크탑


참고자료
https://goo.gl/ecVZSx
https://goo.gl/g2mj7Q
https://goo.gl/UoHNZB

댓글 없음:

댓글 쓰기

[Network] DMZ의 정의

DMZ (De-Militarized Zone) - 보안을 위하여 내부/외부 네트워크를 분리할 때,  외부로 서비스는 제공 하면서  내부의 보안을 유지 하기 위한 방법입니다. - 내부망과 외부망 사이에 위치한 네트워크입니다. ...