UNIX 9주차

2022. 5. 10. 01:19·학교수업
반응형

잠금 : 하나의 파일내 동일한 데이터를 동시에 접근하지 못하게 하기 위하여 사용한다.

 

잠금구현

- fcntl() 함수  : 파일 및 레코드 잠금 구현

잠금 종류

- F_RDLCK : 읽기 잠금 / 여러 프로세스가 공유 가능한 잠금

- F_WRLCK : 쓰기 잠금 / 오직 한 프로세스에게만 허용되는 배타적 잠금

 

int fcntl(int fd, int cmd, struct flock* lock)

fd : 잠금 대상이 되는 파일 디스크립터

cmd : 

F_GETLK 잠금 검사

F_SETLK 잠금 설정 혹은 해제

F_ SETLKW 잠금 설정 혹은 해제(blocking버전)

flock 구조체

잠금 종류, 프로세스 ID, 잠금 위치 등

 

int lockf(int fd, int cmd, off_t len) : 배타적 쓰기 잠금 // 위치부터 len 길이만큼 배타적 쓰기 잠금만 가능

F_LOCK 지정된 영역에 대해 잠금 : 이미 잠금되어있다면 잠금 해체를 기다림

F_TLOCK 지정된 영역에 대해 잠금 : 이미 잠금되어있다면 오류 반환

F_TEST 지정된 영역이 잠겼는지 검사 : 잠겨있지않으면 0, 잠겨있다면 -1 반환

F_ULOCK 지정된 영역의 잠금 해제

 

권고 잠금 : 응용프로세스들은 자발적으로 잠금 규칙을 준수해야 한다.

강제 잠금 : 잠금 규칙 무시 불가능 -> 커널이 잠금 규칙을 모든 프로세스에게 강제한다.

- 강제 잠금 설정 : set-groud-ID 비트를 설정 group-execute 비트를 끄면 된다.

반응형
저작자표시 (새창열림)

'학교수업' 카테고리의 다른 글

인공지능개론 9주차  (0) 2022.05.10
UNIX 10주차  (0) 2022.05.10
게임공학개론 10주차  (0) 2022.05.09
컴퓨터 그래픽스 8주차  (1) 2022.05.04
게임공학개론 9주차  (0) 2022.05.04
'학교수업' 카테고리의 다른 글
  • 인공지능개론 9주차
  • UNIX 10주차
  • 게임공학개론 10주차
  • 컴퓨터 그래픽스 8주차
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (302)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (49)
        • 코딩 테스트 (4)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
UNIX 9주차
상단으로

티스토리툴바