[4월 29일 1교시] 라이브러리 파일 관련 함수 1 sync(), fsync() 기능 : 버퍼 캐시의 내용을 디스크에 쓰도록 한다. (실제 메모리와 캐시 사이에 inconsistency가 있을 때 synchronization을 위해 사용) #include<unistd.h> void sync(void); 데몬 프로세스에 의해 30초마다 호출. int fsync(int filedes); 지정된 파일에 대해서만 버퍼 캐시 내용에 대해 I/O작업을 수행. Blocking함수. .. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.29
[4월 28일 3교시] 출력(DC) 윈도우의 3가지 핵심 모듈 커널 : 메모리 관리, 프로그램 실행. User : 사용자 인터페이스, 윈도우 관리 GDI : 화면처리 및 그래픽 DC GDI 모듈(운영체제에서 화면 처리와 그래픽을 관리)에 의해 관리. 해당하는 윈도우의 표시영역, 그리기 위한 객체들 관리. 멀티tasking 환경에 의해 탄생. DC를 얻는방법 HDC GetD.. 컴퓨터 공부/Win32 API 프로그래밍 2009.04.28
[4월 28일 2교시] WinMain 기본 프로그램 분석2 1. 윈도우 설계도 작성 WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); 윈도우의 배경색으로 쓸 색깔을 정함. 브러쉬 핸들을 리턴받기 위해 (HBRUSH)로 casting한다. GetStockObject : 이미 생성(윈도우 부팅시)된 GDI객체를 가져온다. WndClass.hCursor = LoadCursor(NULL,IDC_AR.. 컴퓨터 공부/Win32 API 프로그래밍 2009.04.28
[4월 28일 1교시] WinMain 기본 프로그램 분석1 CALLBACK 시스템이 사용자 함수를 호출함. <=> call : 사용자가 system call을 통해 함수를 수행. #define CALLBACK stdcall 함수호출방식 참고주소 : http://www.winapi.co.kr/clec/cpp2/16-1-2.png 스택 포인터 값은 아래로(-방향으로) 증가한다. 함수에 진입할 때 bp = sp함으로써 함수들은 bp레지스터를 관리하여 내부 .. 컴퓨터 공부/Win32 API 프로그래밍 2009.04.28
[4월 28일 3교시] 파일 및 디렉터리 관련 시스템 콜 link #include<unistd.h> int link(const char *existingpath, const char *newpath); 기능 존재하는 파일에 대해 새로운 디렉터리 항목 생성. i-node에 대한 연결 계수(link count) 1증가. 슈퍼 유저만이 디렉터리에 대한 링크 설정 가능. 서로 다른 파일 시스템 간 링크를 허용하지 않음. 리턴 : 성공시 0, 실패시 -1 unlink #include&l.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.28
[4월 28일 2교시] 접근 권한 개인적임 참고주소 : http://en.allexperts.com/q/Unix-Linux-OS-1064/real-effective-user-id.htm 참고주소 : http://blog.naver.com/PostView.nhn?blogId=andong_c&logNo=70031560512 파일 접근 모드 read, write, execute에 대한 user, group, other로 구성. 특수한 용도로는 suid, sgid, sticky비트로 구성. 디렉터리 접근 read : 파일들의 이름을 읽을 수 있음.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.28
[4월 28일 1교시] 파일 관련 시스템 콜2 추천사이트 : http://www.kldp.org file descriptor 복제 #include<unistd.h> int dup(int filedes); // 가장 작은 번호 int dup2(int filedes, int filedes2); // filedes2 번호 기능 : 사용 중인 file descriptor 복사, dup의 의미는 duplicate 리턴 : 성공시 할당 받은 descriptor번호, 실패시 -1 dup()호출 예시 dup2.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.28
[4월 27일 3교시] 헝가리안 표기법 cb, dw, sz, ch, a, w, I, b BYTE, WORD, DWORD, LONG, LPSTR, BOOL 핸들 구분을 위한 목적의 32비트 정수값. 같은 종류의 핸들값은 서로 다르다! 포인터와 비슷한 개념. Virtual Address <-> Physical Address (서로 독립적인 메모리 공간) Virtual Address를 통해 Disk를 RAM처럼 사용가능, PageFile.sys LRU방식으로 스케쥴.. 컴퓨터 공부/Win32 API 프로그래밍 2009.04.27
[4월 27일 2교시] 윈도우즈 개요 윈도우즈의 장점 - 그래픽 기반의 OS <=> 텍스트 기반 - 멀티 태스킹 가능 : 서로 다른 메모리 공간을 분리해서 사용. (보호모드가 가능해야 함.) DOS상에 상주 메모리(확장자 com파일) 프로그램을 통해 다른 프로그램 감시 가능. - 장치에 독립적 DOS상에서는 프로그래머가 드라이.. 컴퓨터 공부/Win32 API 프로그래밍 2009.04.27
[4월 27일 1교시] 개요 추천도서 1. 윈도우즈 API 정복 http://book.daum.net/detail/book.do?bookid=KOR9788979144215 http://book.daum.net/detail/book.do?bookid=KOR9788979144222 2. API로 배우는 WINDOWS 구조와 원리 http://book.daum.net/detail/book.do?bookid=KOR9788979143010 3. Windows 구조와 원리 : OS를 관통하는 프로그래밍의 원리 - Windbg 툴을 이용. VMware http://book.daum.net/detai.. 컴퓨터 공부/Win32 API 프로그래밍 2009.04.27