2개의 프로그램이 동시에 한 파일을 읽어들여도 문제가 없을까요?

글쓴이: 익명 사용자 / 작성시간: 화, 2020/12/29 - 3:51오후
DNA 서열분석을 하는 생명과학 전공자입니다.
DNA 서열 분석을 위해 몇 가지 프로그램을 실행하기 위해 bash script를 작성하고 있습니다.
간략히 두 개의 프로그램이 있다고 하겠습니다.
prog_qc : DNA 서열 정보를 갖고 있는 파일을 읽어들여서 quality를 check하고 그 결과를 별도의 파일에 저장합니다.
prog_analysis : 앞선 prog_qc 파일과 동일한 input 파일을 갖고 분석을 하지만, prog_qc의 결과와는 상관 없기 때문에 반드시 prog_qc가 종료된 후 실행될 필요는 없습니다.
즉, 하나의 input파일을 두 독립적인 프로그램이 동시에 읽어들이게 함으로써 실행시간을 단축하고 싶습니다.
아마 prog_qc는 1시간 정도, prog_analysis는 수 시간 정도 실행될 것으로 예상하고 있습니다.
prog_qc를 backgroud(&)로 실행시키고, prog_analysis를 실행시키는 스크립트를 작성하려고 합니다.
이때 두 프로그램이 정상적으로 하나의 파일에 접근하여 읽는데 문제가 없나요? 아니면 에러가 발생할까요? 아니면 운영체제(리눅스)가 순차적으로 접근하게 함으로써 발생가능한 문제를 막고, 실행 시간을 절약하는 효과는 미미하게 될까요?
* 참고로 두 프로그램 모두 input 파일을 읽기만 할 뿐, 변경을 하지는 않습니다. 독립적으로 새로운 결과파일을 생성할 뿐입니다.
Forums:
네 상관 없습니다.
네 상관 없습니다.
공유자원 (파일) 을 동시에 여러 프로그램이 읽는것은
공유자원 (파일) 을 동시에 여러 프로그램이 읽는것은 문제가 되지않습니다.
파일을 읽는 포지션도 각각 다르게 사용할수 있습니다.
문제가 되는것은 write 할때 입니다.
가령 read 하고 있는 중에 다른 프로세스가 write 한다든가
아니면 write 하고 있는 중에 read 하게되면 문제가 됩니다.
이때는 lock 을 이용해 하나의 프로세스만 접근하게 해야합니다.
댓글 달기