Busan IT/공장내 Network2015. 8. 10. 17:30

==================================Outline====================================

shmget 함수 - 공유 메모리 생성

shmat 함수

세마포어(임계영역에 대한 베타적인 권한)

시그널 - 소프트웨어 인터럽트

----------------------------------------------------------------------------

 

shmget 함수 - 공유 메모리 생성


 

리눅스에서 파일에 대한 권한을 살펴보면 Read-Write-Execute로 순서로 소유자, 그룹, 나머지에게 주어진 권한을 표시해준다. 이것을 2진수 개념으로 표시하여 각 권한 대상자에게 최대 7, 최소 0의 값이 주어진다.(권한 부여 = 1, 아닐 시 = 0)

 

shmat 함수


 

세마포어(임계영역에 대한 베타적인 권한)

 

동시에 제한된 자원을 할당받으려 할 때, 중복을 막기 위해 도입된 개념이 세마포어이다.

공유 메모리나 파이프 방식은 동시 접속을 통해 자원을 할당 받기 때문에 같은 자원을 요청할 경우 문제가 발생할 수 있다. 이를 해결하기 위한 도입된 개념이 동기화이다.

 

//kerner을 통해 세마포어를 사용하기 때문에 embedded MCU는 세마포어의 개념이 없다.

 

시그널 - 소프트웨어 인터럽트

 

ctrl + C 를 눌렀을 때 시그널을 활용하여 특정한 함수가 실행되도록 해보자.

 

리눅스에서 프로그램을 강제로 종료시킬 때

 

우선 실행중인 프로세스들을 본다.

 

ps -al

 

kill 명령어를 사용하여 죽여도 죽지 않으면

 

kill -9 “pid" 





 

반응형
Posted by newind2000