### 1. **디바이스 드라이버 (Device Drivers)**
- **주된 방법**: 디바이스 드라이버는 커널 모드에서 실행되며, 커널 기능 및 리소스에 직접 접근할 수 있습니다.
- **사용 목적**: 하드웨어 장치의 제어와 관리.
- **API**: WDM (Windows Driver Model), KMDF (Kernel-Mode Driver Framework), UMDF (User-Mode Driver Framework).
### 2. **윈도우 서브시스템 (Windows Subsystems)**
- **유저 모드 확대**: 윈도우 사용자 모드 애플리케이션은 Win32 API 및 Native API를 통해 제한적으로 커널 기능을 사용할 수 있습니다.
- **Native API**: NTDLL.DLL을 통해 커널의 NT Native API를 호출할 수 있습니다.
- **예시**: `NtReadFile`, `NtWriteFile` 등의 NT Native API.
- **Win32 API**: 일반적으로 커널 기능을 추상화하여 제공하며, 개발자들이 더 쉽게 접근할 수 있도록 돕습니다.
### 3. **IOCTL (Input/Output Control)**
- **커널-유저 모드 인터랙션**: 유저 모드 프로그램이 커널 모드 드라이버와 통신할 수 있게 해주는 메커니즘.
- **사용 목적**: 유저 모드 응용 프로그램이 특정 디바이스 드라이버의 기능을 사용하려고 할 때.
- **예시**: CreateFile, DeviceIoControl.
### 4. **윈도우 서비스 (Windows Services)**
- **운영 권한**: 시스템 권한으로 실행되며, 특정한 경우에 더 많은 시스템 리소스와 권한을 가질 수 있습니다.
- **사용 목적**: 지속적인 백그라운드 작업과 시스템 수준의 기능 제공.
### 5. **필터 드라이버 (Filter Drivers)**
- **역할**: 다른 드라이버의 활동을 필터링 및 조작. 주로 파일 시스템 필터 드라이버와 같은 형태.
- **사용 목적**: 특정 작업 전에 데이터 조작 및 검사.
### 6. **커널 모드 컴포넌트**
- **커널 확장**: COM 오브젝트 등을 사용하여 커널 모드의 기능을 확장할 수 있습니다.
- **NTOSKRNL.EXE**: 커널 서비스와 관련된 주요 기능들이 여기에 포함됩니다.
### 7. **UMDF (User-Mode Driver Framework)**
- **유저 모드 드라이버**: 특정한 상황에서 유저 모드 드라이버가 커널 모드 드라이버와 상호작용하여 커널 기능을 사용할 수 있습니다.
- **안전성**: 유저 모드에서 실행되기 때문에 커널 충돌 가능성이 낮음.
### 정리
윈도우에서 커널 기능을 사용할 수 있는 방법은 디바이스 드라이버뿐만 아니라 여러 가지가 있습니다. 윈도우는 커널과 유저 모드 사이에 명확한 보안 및 안정성 경계를 두고 있으며, 다양한 API와 메커니즘을 통해 유저 모드 앱이 안전하게 커널 기능을 활용할 수 있게 합니다. 각기 다른 방법은 특정 목표와 사용 상황에 맞춰 사용자가 적절하게 선택할 수 있습니다.
### 블로그 포스팅: 배달의 민족, 취소된 주문과 소비자 불만
최근 나는 배달의 민족을 통해 음식을 주문했는데, 한 시간 뒤에 보니 주문이 취소되어있었다. 취소 시각을 확인할 수 없어서 전화로 문의해보니, 주문 후 3분 쯤 지나서 취소된 것이었다고 한다. 그런데 문제는 취소 알림조차 받지 못했다는 점이다.
**주문 취소의 이유**는 해당 업체에서 1시간 30분 이상 걸릴 것 같은 경우라고 했다. 하지만 취소 시각을 업체에 물어보면, 그들은 그 내역을 볼 수 없다고 했다. 이 답변에 더욱 혼란스러워 졌다.
아이와 함께 음식을 기다리면서 짜증이 나서, 수수료 때문에 일부러 취소한 것인지 물어봤다. 이에 대해 업체는 요즘엔 카드 결제 수수료가 크지 않아서 그렇지 않다고 답했다. 하지만 여전히 카드 결제 수수료는 작지 않다는 생각이다. 카드사의 존재로 인해 노상 강도가 줄어들었으니 다행이긴 하지만, 배달의 민족으로 유명해진 업체들은 이제 주문을 거르고 있는 듯하다. 같은 시각에 같은 카드로 결제했을 때는 주문을 받는 경우도 있기 때문이다.
### 소비자로서의 고민과 제안
배달의 민족 앱에서는 다른 소비자들의 평점이 중요한 역할을 한다. **주문 취소가 잦은 업체**의 경우, 사용자가 그 횟수를 알 수 있게 해주면 좋겠다는 생각이 들었다. 안타깝게도, 대부분의 기업들은 이러한 정보를 사용자에게 공개하지 않는다. 카카오 또한 비슷한 맥락이다. 자신들의 이익이 최우선인 것이다.
파블 두로프 같은 리더가 계속 나오지 않는 이상, 소비자들은 어쩔 수 없이 이 환경에 적응해야 할지도 모른다. 예전에 이런 기사는 대부분 삭제되었다. 돈에 굴하지 않는 언론은 여전히 필요하다. '민중의 소리', '뉴스타파', '오마이뉴스' 같은 언론이 꾸준히 활동해야 아이들에게 인간의 가치와 윤리를 가르쳐 줄 수 있을 텐데, 쉽지 않을 것 같다.
### 카카오의 사례와 소비자 신뢰
과거 다음카카오가 카카오톡 감청에 대해 공식 사과를 했던 것이 생각난다. 당시 논란의 핵심은 공무집행 방해 여부와 소비자 정보 보호 문제였다. 결국 카카오는 프라이버시 모드를 도입할 계획을 발표했지만, 소비자들의 신뢰를 완전히 회복하지는 못했다.
러시아의 파블 두로프는 정부의 검열 요구에 반대해 텔레그램을 만들고, 결국 망명길에 올랐다. 이와 대조적으로, 카카오는 공권력에 굴복해 사용자 정보를 제공해야 했던 것이다. 이러한 사례들은 기업의 리더십이 얼마나 중요한지를 잘 보여준다.
### 결론
현대 사회에서 소비자의 권익과 정보 보호는 매우 중요한 이슈가 되었다. 기업들이 단순히 이익만을 추구하는 것이 아닌, 소비자의 신뢰를 얻기 위해 투명하게 정보를 공개하는 날이 오길 바라며, 오늘도 배달 서비스를 이용하며 여러 생각에 잠긴다.
---
배달의 민족 주문 취소 경험과 기업들의 정보 공개 문제에 대한 고민을 공유했었다. 소비자로서 더욱 투명하고 책임 있는 서비스를 기대하며, 더 나은 세상을 만들어 나가길 바라는 마음에...
updated: 2024.09.07 : 주문 취소 같은 일은 이제 더 이상 일어나지 않는다. 다만, 배달료가 붙어버린 세상이 왔다. 그 배달료가 음식 용량을 줄이거나 다양한 이벤트로 마치 깍아주는 듯(?)하는 세상이 왔다. 음식 값은 무지막지하게 비싸진 것 같은데 배달 때문인지 아닌지는 모르겠다. 시간 지나 업데이트를 하다 보니, 내가 원하는 세상이 된 것인지 아닌지 잘 모르겠다. 다만, 문제가 있으면 계속 쓰려고 한다. 누군가에게 알려지고 공개되면 객관적 시각에서 문제를 바라보게 되니까. 특정 문제가 다수에 의해 현재화가 되면, 나는 문제가 해결된 미래 사회에서 살게 된다.
'C++' 카테고리의 다른 글
razer blackwidow ultimate 구입 후 리얼포스와 키감 비교 (0) | 2019.01.30 |
---|---|
RTL (Register Transfer Level) 설계, Synthesis (합성), 그리고 Timing Verification (타이밍 검증) (0) | 2019.01.30 |
시스템콜 (0) | 2019.01.30 |
귀납 추론과 프로그래밍 (0) | 2019.01.30 |
C++ 17, C++ 20 OOP, FP (0) | 2019.01.30 |
최근댓글