본문 바로가기

전체 글

(659)
[오라클] Lock 튜닝 방법 enq: TX - row lock contentionenq: TX - row lock contention 이벤트는 로우 레벨 락(row level lock)에 의한 경합이 발생했다는 것을 의미합니다. 다음과 같은 세 가지 경우에 로우 레벨 락 경합이 발생합니다. - 여러 세션이 동일 로우를 변경하는 경우 - 여러 세션이 동일 Unique Key 충돌을 일으키는 경우 - 여러 세션이 비트맵 인덱스 충돌을 일으키는 경우 * 여러 세션이 동일 로우를 변경하는 경우(mode=6)동일 로우 변경은 TX 락에 의한 경합이 발생하는 가장 보편적인 경우입니다. 특정 프로세스가 특정 로우를 변경하기 위해 해당 로우를 방문했을 때, 현재 로우가 변경된 상태라면 ITL로부터 해당 로우를 변경한 트랜잭션을 확인하고, 자기 자..
[시스템프로그래밍] 디버깅 디버깅은 버그를 없앤다는 의미로 벌레 중에서도 해충을 없애는 것을 뜻합니다. 이렇게 벌레를 없애는 것이 프로그램의 오류를 제거하는 것과 뜻이 같아진 이유는 다음과 같습니다. 초창기 컴퓨터는 지금처럼 작지 않았습니다. 지금은 초고밀도 칩을 사용하기 때문에 크기를 줄일 수 있었지만 이런 기술이 없었던 초창기에는 진공관을 사용하여 컴퓨터를 만들었습니다. 그래서 컴퓨터 한대의 크기가 웬만한 건물 크기와 같았는데 이 속에는 엄청난 양의 진공관이 사용되었습니다. 진공관의 수명이 그렇게 길지 않았기 때문에 컴퓨터 내부를 돌아다니며 진공관만 교체하는 사람도 있었습니다. 이때 이 사람들의 주요 임무 중 하나가 진공관 사이에 타죽은 나방같은 벌레를 제거하는 작업이었습니다. 이때부터 사용된 컴퓨터 용어가 시스템의 오류를 만..
[C C++] 리틀엔디안과 빅엔디안의 차이점 Big Endian과 Little Endian은 컴퓨터 메모리에 저장된 바이트들의 순서를 설명하는 용어입니다. 이 용어는 걸리버 여행기라는 고전 소설에서 처음 나요게 되었는데, 달걀의 뾰족한 쪽을 먼저 깨먹을 것을 주장하는 무리의 "Little Endian"과 넓은 쪽 부부니을 먼저 깨먹을 것을 주장하는 무리의 "Big Endian"의 싸움. 즉, 사소한 것들로 싸우는 인간들의 모습을 풍자한 이야기에서 나오게 됩니다. 현대에 그 용어는 Danny Cohen이라는 사람의 논문 중 Memory Order라는 섹션에서 인용하게되었고, 이논문에는 CPU가 메모리에 데이터를 저장할 때 어느 순서로 저장하는가에 대해 설명했는데, 왼쪽에서 오른쪽으로 저장하는 것을 "Big Endian", 반대로 오른쪽에서 왼쪽을 저..
[리눅스] 데몬(Disk And Execution MONitor) 데몬이란 서버 프로세스로 시스템이 살아잇는 동안 결코 종료되지 않고 백그라운드 프로세스 상태로 존재합니다. 예를 들면 웹서버 데몬은 백그라운드 상태에서 클라이언트의 요청을 대기하고 있다가 요청이 도착하면 각 요청에 대해 새로운 프로세스를 생성해서 요청에 대한 서비스를 수행하고 새로 생성된 프로세스는 종료합니다. 그러나 원래의 웹서버 데몬은 종료하지 않고 백그라운드 상태에서 클라이언트의 요청을 대기합니다. FTP, TELNET 등의 인터넷 서비스를 이용할 때에도 서버측에서 인터넷 데몬이 백그라운드로 실행되고 있고, 클라이언트의 FTP, TELNET 요청이 있을 경우 각 요청을 서비스하기 위해 자식 프로세스를 생성하고, 서비스가 완료되면 요청에 따라 생성된 프로세스는 종료 됩니다.
[리눅스] 리눅스 커널 소스코드 구성도 arch/ - CPU 종속적인 부분, 각 처리기 마다 하위 디렉터리로 구성(arch/i386, arch/alpha, arch/arm...) - arch/arm/kernel/ 하드웨어 종속적인 커널 관리 루틴 트랩, 인터럽트 처리 루틴 문맥교환 루틴 장치 구성, 초기화 루틴 - arch/arm/mm 하드웨어 종속적인 메모리 관리 루틴 init/ - 하드웨어 독립적인 커널 초기화 루틴(start_kernel) - 태스크 0 (init_task or task[0]) 생성 - 태스크 1, 2, 3 등 데몬 프로세스 생성 kernel/ - 리눅스 커널의 가장 중심적인 디렉터리 (central section of the kernal) - 하드웨어 독립적인 커널관리 루틴(하드웨어 종속적인 커널관리 루틴은 arch/a..