본문 바로가기

분류 전체보기46

리눅스 커널 프로세스 페이지 테이블(Process Page Table)과 커널 페이지 테이블(Kernel page table) 프로세스 페이지 테이블 - 프로세스의 선형 주소 공간은 두 부분으로 나누어진다. 1. 0x00000000 ~ 0xbfffffff(3GB 영역)의 선형 주소는 프로세스가 사용자 모드와 커널 모드 양쪽 어디에 있더라도 항상 접근 할 수 있다. 2. 0xc0000000 ~ 0xffffffff(1GB 영역)의 선형 주소는 프로세스가 커널 모드에 있을 때만 접근 가능하다. - 프로세스가 사용자 모드에서 동작 중일 때는 0xC0000000보다 작은 선형 주소를 만들어 사용하고, 커널 모드에서 동작 중일 때는 커널 코드를 수행하면서 0xC0000000 이상의 선형 주소를 사용한다. - 0xC0000000 이하의 선형 주소를 매핑하는 페이지 전역 디렉토리(PGD)의 해당 엔트리들의 내용은 프로세스마다 다르다. 반면, .. 2018. 1. 12.
Oracle JDBC 캐릭터셋 변환 및 이해하기 업무상 JDBC를 다뤄야 할 일이 많아졌다. JDBC는 Oracle OCI 라이브러리에 비하면 사용하기가 상당히 편한 것이 사실이다. 하지만 Char/Varchar/Nchar/Clob/Nclob과 같은 Character 타입에 저장된 한글 데이터를 다루는 과정에서 약간의 우여 곡절이 있어서 그것을 여기에 정리하고자 한다.우선, JDBC를 사용하여 Character 타입의 데이터를 조회 하기 위해서는 ResultSet의 getString, getCharacterStream, getBytes와 같은 API를 사용하여야 한다. JDBC는 자바가 유니코드를 다루기 때문에 Oracle DBMS로 부터 JDBC를 통해서 데이터를 조회하는 과정에서 UTF-8/UTF-16으로 데이터를 변환한다.데이터에 대한 변환 과정.. 2018. 1. 11.