떡밥위키
최근 변경
최근 토론
특수 기능
파일 올리기
작성이 필요한 문서
고립된 문서
고립된 분류
분류가 되지 않은 문서
편집된 지 오래된 문서
내용이 짧은 문서
내용이 긴 문서
차단 내역
RandomPage
라이선스
IP 사용자
216.73.216.46
설정
다크 모드로 전환
로그인
개인정보 처리방침 개정 안내
공대개그
(r2 문단 편집)
닫기
RAW 편집
미리보기
=== 어린 왕자 === >"여친 한 명을 코딩해줘" >"뭐라구?" >"여친 한 명을 코딩해줘" >그 어린 소년에게, 나는 앱 개발자라 여자친구같은 low level programming은 잘 할 줄 모른다고 말했다. >그는 대답했다. "괜찮아. 여친 한 명을 코딩해줘" >여자친구는 한 번도 본 적이 없으므로, 나는 pintos project[* PintOS는 미국의 모 대학에서 제작한 운영체제 과제용 프로젝트로 국내에서는 몇몇 대학만 학부에서 사용한다. 이 글의 작성자가 카이스트 출신이다]를 그에게 보여주었다. >"아냐, 아냐, 핀토스는 아냐. 내 서버는 unix 기반이 아니라서 bochs[* PintOS를 돌릴 때 사용하는 에뮬레이터의 일종.], qemu[* CPU에뮬레이터의 일종으로 bochs와는 time interval관리에 따른 차이가 있다]를 돌릴 수 없어." 라고 말하는 것이었다.[* 사실 둘 다 windows에서도 돌릴 수 있지만.] >그래서 나는 canvas에 민아찡[* 이 글의 작성자가 걸스데이 팬이다]의 사진을 올리고 멀티터치를 구현하여 fancy한 안드로이드 어플리케이션을 구현했다. >"안 돼! 그 앱은 달빅 머신이 필요한걸. 난 저작권 분쟁에 휘말릴 수 없어[* 안드로이드를 만든 구글과 오라클 간의 자바VM 관련 소송을 풍자한 것. 안드로이드 N 이상부터는 OpenJDK를 사용해서 미해당.]"하고 말했다. "다시 하나 코딩해줘" >나는 또 코딩했다. 내 친구는 너그러운 모습으로 ctrl+c 를 누르며 상냥한 미소를 지었다. >"봐… 이건 여자친구가 아니라 남자친구잖아. [[성 정체성을 깨달은 아이|인터럽트를 맞았으니 그리 멀리 가진 못했을 거야.]]" --[[Ang?]]-- >그래서 나는 또 하나를 보여 주었다. 그러나 그것도 앞의 것들과 마찬가지로 거절을 당했다. >"애플은 너무 후졌어. AS가 안 되는 걸" >나는 OS시험준비를 서둘러야 했으므로 더 이상 참지 못하고 쉘을 띄워 void형 포인터 변수 girlfriend를 하나 생성한 후 툭 던져주었다. >"이건 포인터야. 네가 원하는 여자친구는 이 포인터가 가리키고 있어" >그러나 나는 나의 어린 심판관의 얼굴이 환히 밝아지는걸 보고 새삼 놀라지 않을 수 없었다. >"이게 바로 내가 원하던 거야!" >그런데 그 포인터 사실 Null포인터였다.[* Null포인터라고 하면 대부분 잘못된 주소라고 생각하는 경우가 많은데, 이는 대부분의 경우 사실이긴 하나 일부 제한적인 경우에서라면 '''Null포인터도 엄연히 주소 0x00000000을 가리키며, 잘못된 주소가 아니다.''' 적어도 Intel CPU의 경우는 Physical Address 0x00000000부터 0x000003ff까지 IVT(Interrupt Vector Table) 이 배치되어 사용되고 있으며, 당연히도 이는 접근 가능한 주소이다. 그러나 우리가 코딩을 할 때 대부분 Null포인터에 접근하면 Exception이 나게 되는데, 이는 대부분의 OS에서 Null포인터에 대한 Physical Address → Virtual Address로의 Mapping을 PageTable이나 PageDirectory에 정의하고 있지 않기 때문이다. 그 이유 중 하나는 아무래도 편의성 때문이 아닐까? 실제로 void *ee = malloc(0xeeee); 에서 if(!ee) printf("YOU FAILED LOL"); 로 하는 편이 더 편하다. 만일 0xeeeeeeee를 잘못된 주소로 정의한다면, if문이 if(ee==(void *)0xeeeeeeee) 처럼 바뀌게 될 테니…]
요약
문서 편집을
저장
하면 당신은 기여한 내용을
CC BY-NC-SA 2.0 KR
또는
기타 라이선스 (문서에 명시된 경우)
로 배포하고 기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다. 이
동의는 철회할 수 없습니다.
비로그인 상태로 편집합니다. 로그인하지 않은 상태로 문서 편집을 저장하면, 편집 역사에 본인이 사용하는 IP(216.73.216.46) 주소 전체가 영구히 기록됩니다.
저장
사용자
216.73.216.46
IP 사용자
로그인
회원가입
최근 변경
[불러오는 중...]
최근 토론
[불러오는 중...]