기본 콘텐츠로 건너뛰기

OS 간 호환

MS가 데스크탑 세계를 Windows로 통일하여 일반 데스크탑용 어플리캐이션 개발자는 MS에게 고마울 따름이었다. 단순히 MS가 만든 Win32API만 잘 쓰면 Windows 종류에 상관 없이 잘 돌아가니 말이다. 그러나 MS도 그 호환을 완벽히 이끌어 갈 수는 없을 것 같다. 지금도 Win98SE와 Win2k, WinXP, WinVista 등이 서로 호환하지 못하는 경우가 많으니 말이다. MS Win32API는 MS 한 회사가 잘 정리하고 있어서 그나마 나은 편이다. UN*X 진영을 보면 참으로 거시기 하다. SysV, *BSD, Linux, IEEE, POSIX ... 표준도 참 가지각색이다. 게다가 API는 동일한데 동작이 서로 다른 것도 참 많다. 아놔, 얘네 정말 어떻게 해야해... orz OTL
  1. Listening port에서 accept로 만들어진 소켓 속성은 *BSD와 Linux에서 서로 다르다.
  2. select할 때 뒤에 들어가는 시간 관련 구조체가 Linux에서 결과 변경까지 이뤄진다.
  3. fork할 때 OS별로 context를 복사하는 방식과 복사한 것이 가지는 속성이 다르다.
  4. Shared memory 접근 API는 POSIX(shm_open)와 SysV(shmget)이 서로 다르다.

댓글

이 블로그의 인기 게시물

버즈 라이브 배터리 교체

나는 버즈 라이브(SM-R180)가 좋은데, 평가가 별루였는지, 해당 스타일로 버즈를 더 이상 만들지 않고 있다. 아무튼, 오래 쓴 버즈 라이브 배터리가 슬슬 맛이 가기 시작해서, 블로그 를 참조하면서 분해 및 교체를 하였다. (진짜 쉬움) 요로코롬 위아래를 살짝 눌러주면 뚜껑이 벌어진다. 안쪽 플라스틱은 오른쪽은 분홍색, 왼쪽은 회색이다. 리본 케이블 살짝 들어내고, 기판을 떼어내면, 작은 나사가 있다. 나사를 풀고, 플라스틱을 걷어내면, 검은 양면 테이프로 고정된 CR1254 배터리가 보인다. 잘 쑤셔서(?) 꺼낸다. 새로운 CR1254 배터리를 넣는다. 음극이 아래로 가도록 하고, 분해의 역순으로 조립하면 된다. 조립할 때, 아까 풀었던 나사는 잊지 말고 꼭 조여준다. (까먹고 조립해서 다시 뜯고 조립함) 충전도 잘 되고, 소리도 잘 나는거 보면, 조립도 잘 된 것 같다. 이렇게 버즈 라이브의 수명을 강제로 늘렸다. 나중에 본체 배터리도 갈아야겠다.

Windows 에서 절전을 깨우는 장치 찾기

참조:  https://www.reddit.com/r/computer/comments/wquswv/windows_11_pc_wakes_up_every_time_i_move_usb/ powercfg /devicequery wake_armed powercfg /deviceenablewake "[DEVICE]" # $PROFILE function Get-WakeArmedDevices { $devices = powercfg -devicequery wake_armed if ($devices) { $devices | ForEach-Object { $_.Trim() } } else { Write-Host "No devices are currently armed for wake events." } } function Set-EnableWakeOnDevice { param( [string]$deviceName ) sudo powercfg -deviceenablewake $deviceName } function Set-DisableWakeOnDevice { param( [string]$deviceName ) sudo powercfg -devicedisablewake $deviceName }