Creative Commons License

태그 : posix 요약보기전체보기목록닫기

1

스왑 당하기 싫어!

현존하는 많은 OS는 스왑 시스템을 사용한다. 스왑이 가지는 장점 가운데 하나는 실제 존재하는 물리적 메모리보다 더 많은 메모리를 사용할 수 있다는 것이다. 물론 그에 따른 속도 저하가 발생할 수 있지만, 다양한 전략과 하드웨어 발전으로 스왑 시스템이 가지는 단점을 보안할 수 있다.리눅스에서 스왑 전략을 백분율로 설정할 수 있다. 간략한 설명은 이곳(h...

POSIX messagequeue

POSIX IPC에서 마지막-IPC는 이것 외에도 많다-으로 소개할 녀석은 메시지큐이다. 간략히 뭐하는 녀석인지 설명하자면, '우선순위가 있는 줄서기'랄까? 일단 Queue라는 말에서 이 녀석은 기본으로 먼저 던져넣은 메시지를 먼저 꺼내올 수 있다. 근데 가끔씩 긴급해 보내야할 메시지가 있을 수도 있을까...해서 메시지에 우선순위를 둘 수 있다. 그래서...

POSIX semaphore

POSIX 함수에 대해 글 쓴 지가 너무 오래 전이라 까맣게 잊고 있었다. 오늘은 두서 없이 세마포어라는 놈을 건들여보도록 하자. 일단 세마포어 하면 유명한 예제가 있다. 철학자라는 것들이 가서 포크랑 나이프랑 한 벌 씩 더 가져오면 해결할 수 있는 문제를 굳이 앉아서 남이 썼던 것 더럽게 씻지도 않고 빌려쓰고... 암튼 그런 드러운 문제를 해결하기 위...

POSIX shared memory

일전에 언급한 SysV에서 처음으로 세상에 내동댕이 쳐진 IPC 집합 가운데에서 공유메모리부터 보겠다.SysV가 가진 API는 POSIX.1-2001에도 올라와 있는 녀석이긴 하다. 함수는 shmget, shmat, shmdt, shmctl 등이 있다. 엄청나게 유명한 녀석이기 때문에 따로 자세히 설명하지 않겠다. shmget으로 공유메모리를 커널에 요...

ftok

IPC ... Inter Process Communication. 뭐 말 그대로 프로세스끼리 말하는 통신하는 방식이다. IPC에는 여러가지 방식이 있겠지만, 일반적으로 메시지큐, 공유메모리, 세마포어 이 세가지를 읊곤 한다. (소켓도 IPC라고!) 내 머릿속에서 이러한 세가지 단어를 엎고 있는 단어가 있었으니 이름하야 'SysV'.전화회사(AT&...

TLS - Thread Local Storage

쓰레드를 돌리다보면 해당 쓰레드에서만 유효한 변수를 만들고 싶을 때가 있다. 그럴 때 어떻게 해야할까? 쓰레드 개수만큼 벡터를 잡고, 해당 쓰레드마다 벡터 인덱스를 넘겨주는 것도 나름 방법이지만, 이러한 경우를 위해 TLS라는 것이 존재한다. 축약처럼 쓰레드 안에서만 따로 스토리지를 할당한 것인데, 일반 프로세스의 스텍과 비슷하나 그 크기는 프로세스 것...

POSIX's thread tips

쓰레드 자신에 대한 핸들을 알고 싶다면, pthread_self라는 전역 변수를 사용할 것.두 쓰레드 핸들을 비교하고 싶다면 pthread_equal(핸들1,핸들2)을 사용한다. 둘이 같으면 0이 아닌 값이 나온다.쓰레드 Concurrency를 확인/설정하고 싶으면 pthread_get/setconcurrency를 사용할 것.CPU점유를 다른 쓰레드에게...

POSIX thread's condition

이런 상황을 생각해보자. 쓰레드가 있고, 그것은 평상시에 자는 상태(CPU점유율 0%)이다. 그런데 문득 할 일이 생겨서 침 흘리며 자고 있는 쓰레드를 두들겨 깨우고 싶다. 어떻게 하면 좋을까?volatile bool gWakeUp(false);void*_thr(void*){    while (!gWakeUp) usleep(1...
1

Google Adsense

Google Adsense

Google Analytics



C로그팬박스