경쟁상태란 무엇이고, 어떤 상황에서 경쟁상태가 일어날 수 있나요?
답변 : 경쟁상태란 공유 자원에 대해서 여러 프로세스가 동시에 접근할 때, 결과값에 영향을 줄 수 있는 상태를 말합니다. 따라서 동시 접근 시 자료의 일관성을 해칠 수 있는 위험이 있는 상황에서 경쟁상태가 일어납니다.
경쟁상태가 일어날 수 있는 경우에 대한 케이스를 말해주세요.
답변 :
페이징과 세그먼테이션에 대해 설명해주세요
답변 :
페이징과 세그먼테이션 기법을 쓰는 이유는 무엇인가요?
답변 : 다중 프로그래밍 시스템에서 여러 프로세스를 수용하기 위해서 입니다. 따라서 주기억장치를 동적으로 분할하는 메모리 관리 작업을 해야 합니다.
메모리 관리 기법에는 어떤 방법이 있나요?
답변 : 연속 메모리 관리와 불연속 메모리 관리로 나눌 수 있습니다. 연속 메모리 관리는 프로그램 전체가 하나의 큰 공간에 연속적으로 할당되는 기법입니다.
불연속 메모리 관리는 프로그램 일부가 서로 다른 주소 공간에 할당될 수 있는 기법입니다.
단순 메모리가 아닌 가상 메모리에서 위의 기법을 썼을 때 어떤 점이 달라질까요?
답변 :
가상 메모리 페이징의 경우, 단순 페이징과 비교하여 필요한 페이지가 있으면 나중에 자동으로 불러들여지므로 페이지 전부를 로드시킬 필요가 없습니다. 하지만 복장한 메모리 관리로 오버헤드가 발생할 수도 있습니다.
가상 메모리 세그먼테이션의 경우, 페이징과 같이 필요한 세그먼트가 있을 때 나중에 메모리를 불러들이므로 필요하지 않은 세그먼트는 로드하지 않아도 됩니다. 하지만 가상메모리 페이징처럼 복잡한 관리로 인한 오버헤드가 발생할 수 있습니다.