나는 동시에 다른 장소에서 (다른 옵션으로) 호출되는 루비 스크립트를 가지고 있습니다. 안전 해요? 이 메커니즘은 Linux에서 어떻게 구현됩니까? 동시에 여러 프로그램에서 파일을 호출하면 어떻게 됩니까? 호출이 병렬화되어 있고 파일의 다른 복사본을 사용하고 있습니까?
답변1
각 프로세스는 자신만의 주소 공간을 가지고 있습니다. 즉, 각 프로세스는 자신의 가상 메모리에만 접근할 수 있고 다른 프로세스의 메모리에는 접근할 수 없습니다. 실행 파일과 공유 라이브러리는 프로세스의 주소 공간에 매핑됩니다.
Ruby 스크립트 예제에서 스크립트는 Ruby 인터프리터에 의해서만 읽고 해석됩니다. Ruby 인터프리터는 자체 메모리에 스크립트의 컴파일된 버전을 구축한 다음 해당 컴파일된 버전에서 프로그램을 실행합니다.