2011-05-05 3 views
0

"PID, 호출 시간, 시스템 호출"유형의 레코드가있는 파일이 있고 다른 프로세스에서 작성한 호출이 인터리브됩니다. 이제는 시스템 호출을 재생하기 위해 시뮬레이터를 작성 중이며, PID 1로 말한 호출이 필요합니다. PID 2로 작성된 호출과 다른 프로세스에서 호출해야합니다. 또한 동일한 프로세스가 PID 1에 의해 작성된 모든 호출을 작성해야합니다 추적 파일에 나타나는 순서와 동일합니다. 일부 도움에 대해 감사 할 것입니다. 감사합니다 ...C 프로그램으로 파일 시스템 에뮬레이션

+0

우리는 당신을 위해 코드를 작성하지 않았습니다. 그러나 내가 당신의 입장에 있다면 나는 시작할 것입니다. main() 함수를 작성하고, fleshing하고, 거기에서부터 시작한다. –

+0

@Bill 나는 누구도 나를 위해 코드를 작성하지 않을 것이라고 알고 있으며 나는 그것을 기대하지 않는다. 여기 논리는 보이는 것처럼 간단하지 않습니다. Main()은 파일 추적 파일을 읽습니다 ... 추적의 PID를 확인하고 스레드가 trace ...control이 main()으로 되돌아 오게 만듭니다 ... main()은 추적 파일을 다시 읽고 동일한 PID 이전과 같이 동일한 스레드가 해당 호출을 수행한다고 가정하지만 이제는 더 이상 존재하지 않습니다. –

답변

0

간단한 방법은 하나의 PID 멤버로 연결된 목록을 만드는 것입니다. 각각의 호출에 대해 목록을 횡단 할 수 있고 (PID가 발견되지 않으면 노드를 추가 할 수 있습니다.) 각 노드가 파일 핸들이나 데이터를 처리 할 수있는 곳을 잡도록 만들 수 있습니다. yor PID가 "임의의"숫자가 아니라 1,2,3,4 등일 경우 ... 포인터를 사용하여 같은 작업을 수행하여 목록을 탐색하는 데 걸리는 시간을 피할 수 있습니다. 이것이 충분한 지 확신 할 수 없지만 다시는별로 자세하지 않습니다 ...

+0

고맙습니다. 한번 시도해 볼게요. –

관련 문제