본문 바로가기

not기초/시스템프로그래밍

[시스템프로그래밍]파일 잠금 예제 - 데이터베이스 접근 제한

접근하는 데이터베이스에 누군가 이미 접근을 했다면, 접근을 제한하는 프로그램을 만듭니다.


  1. 누군가 이미 쓰기 모드로 접근 했을 때, 읽기 모드로 데이터베이스에 접근하였을 경우
  2. 누군가 이미 쓰기 모드로 접근 했을 때, 쓰기 모드로 데이터베이스에 접근하였을 경우
  3. 누군가 이미 접근 했을 때, 데이터베이스에 접근하면 오류를 출력하면서 바로 중지시킬 경우
  4. 2번의 경우를 함수를 새로 작성하여 프로그램 만들기

결과



위의 터미널에서 데이터베이스에 쓰기 모드로 접근하였을 경우, 다른 터미널에서 데이터베이스에 쓰기 모드로 접근하였을 경우입니다. 그럴 경우 읽기 모드로 접근한 터미널에서는 쓰기 모드가 끝날 때까지 대기합니다.



위의 터미널에서 데이터베이스에 쓰기 모드로 접근하였을 경우, 다른 터미널에서 데이터베이스에 쓰기 모드로 접근하였을 경우입니다. 그럴 경우 나중에 접근한 터미널에서는 전에 접근한 쓰기 모드가 끝날 때까지 대기합니다.



2번의 경우에서 대기하는 것이 아니라 오류를 출력시키며 중지할 경우입니다.



2번의 경우를 시스템호출을 이용하여 만든 함수를 통해 실행할 경우입니다


과제 해결!