반응형 Tech Interview20 [네트워크] 응용계층과 전송계층 Q) 패킷 단위 데이터를 전송할 때 발생하는 딜레이 종류와 그에 대한 해결법을 설명해보세요. A) processing delay는 패킷에 문제가 있는지, 목적지가 어딘지 등을 확인하는데 소요되는 시간입니다. 라우터의 성능 개선을 통해 이 딜레이를 줄일 수 있습니다. queueing delay는 유저가 많을 때 데이터가 바로 라우터를 통해 빠져나가지 못하고 잠시 임시 버퍼에 저장하는데 이 큐에서 대기하는 시간을 뜻합니다. 사용자가 과하게 몰리지 않도록 하면 딜레이를 줄일 수 있습니다. transmission delay는 패킷의 맨 앞 비트부터 마지막 비트까지 뿜어져 나가는데 걸리는 시간입니다. 이때 전송 통로가 크면 클수록 소요 시간이 짧아지기 때문에 케이블을 넓히는 방법으로 딜레이를 줄일 수 있습니다. .. 2021. 11. 9. [운영체제] 파일 시스템 & 디스크 관리 Q) 파일 보호는 왜 필요하며 어떻게 이루어지나요? A) 프로세스의 경우 제각각의 메모리를 갖고 있고 자기 자신만이 접근이 가능하기 때문에 read/write에 관한 접근 명령만 관리했습니다. 그러나 파일의 경우 여러 사용자가 사용할 수 있기 때문에 각 파일에 대해 누구에게 어떤 권한을 허용할 것인가가 필요합니다. Access control Matrix는 각 파일마다 사용자별로 어떤 접근 권한을 갖고 있는지 표시해놓은 행렬입니다. 하지만 공간적인 낭비를 이유로 선호되지 않는 방법입니다. Grouping 방법은 전체 사용자를 owner, group, other로 구분한 뒤 각 파일에 대해 세 그룹의 접근 권한(read, write, execution)을 3비트씩 표시합니다. Q) 디스크에 파일을 저장하는 .. 2021. 11. 8. [운영체제] 메모리 관리 & 가상 메모리 Q) 연속할당과 불연속할당의 차이를 설명해주세요. A) 메모리의 낮은 주소 영역엔 커널이 상주해있고 메모리의 높은 주소 영역엔 사용자 프로그램이 올라가게 됩니다. 이때 사용자 프로그램을 할당하는 방식에 따라 연속할당과 불연속할당으로 나눌 수 있습니다. 연속할당은 다시 고정 분할 방식과 가변 분할 방식으로 나뉩니다. 고정 분할 방식은 물리적메모리를 미리 몇 개의 분할로 나누어 그 곳에 프로그램을 적재하는 방식입니다. 이 방법은 내부, 외부 조각이 모두 발생할 수 있습니다. 가변 분할 방식은 프로그램 크기를 고려하여 분할의 크기와 개수가 동적으로 변하는 방식입니다. 이 방법은 외부조각이 발생할 수 있으며 프로그램을 어느 홀에 적재시킬지 결정하는 문제가 추가로 발생합니다. 불연속할당은 하나의 프로세스를 여러 .. 2021. 11. 8. [운영체제] 프로세스 동기화와 데드락 Q) race condition이 무엇이며 언제 일어날 수 있나요? A) race condition은 두개의 연산이 동시에 공유 자원에 접근할 때 결과가 일관성을 보장 받지 못하는 상태를 말합니다. Q) race condition이 발생할 수 있는 상황과 해결법을 알려주세요. A) race condition은 세가지 경우에 일어납니다. 첫번째로 커널 작업을 수행하는 중에 인터럽트가 발생하는 상황입니다. 커널 모드에서 데이터를 로드하여 수행하다 인터럽트가 발생하여 같은 데이터에 접근하는 경우입니다. 해결을 위해서는 중요한 데이터에 접근하고 있을 때는 인터럽트를 바로 처리하지 않고 해당 작업 이후에 처리하는 방법을 사용합니다. 두번째는 프로세스가 시스템 콜을 하여 커널 모드 수행 중인데 문맥 교환이 일어나는.. 2021. 11. 7. [운영체제] CPU 스케줄링 Q) 여러가지 CPU 스케줄링 기법은 어떻게 평가되나요? A) 시스템 관점에서는 CPU 이용률과 처리량(throughput)을 높이는 데 목적이 있고 개별 프로세스 관점에서는 응답시간, 대기시간, 소요시간을 짧게 하는 것이 목적입니다. 이때 응답시간은 준비상태의 프로세스에게 최초로 CPU가 할당되기까지 걸린 시간, 대기 시간은 ready 상태에서 CPU를 기다린 총 시간, 소요시간은 프로세스가 CPU를 요청한 시점으로부터 원하는 만큼의 CPU를 모두 사용하는 데 걸린 시간입니다. 소요시간은 CPU 버스트가 완료될 때까지의 시간으로, 프로그램의 종료시점과는 좀 다릅니다. Q) 여러가지 CPU 스케줄링 방법에 대해 간략히 설명해주세요. A) 우선 스케줄링을 두가지로 나눌 수 있습니다. CPU를 강제로 빼앗기.. 2021. 11. 7. [운영체제] 프로세스 Q) 프로세스가 무엇인가요? A) 다양한 의미가 있지만 실행중인 프로그램을 뜻합니다. Q) 프로세스의 다양한 상태(state)에 대해 설명해주세요. A) 프로세스는 다양하게 상태가 변경되며 수행됩니다. new 상태는 프로세스가 생성중인 상태입니다. 그러다 프로그램이 메모리에 올라가고 CPU를 기다리는 상태가 되면 ready 상태라고 합니다. CPU를 잡고 명령을 수행중인 상태는 running 상태입니다. 입출력 명령을 기다리는 동안 프로세스는 CPU를 빼앗기게 되고 CPU를 할당받더라도 당장 명령을 수행할 수 없는 상태가 되는데, 이를 blocked 상태라고 합니다. 수행이 끝난 상태는 terminated 상태라고 합니다. 그런데 운영체제는 너무 많은 프로세스가 메모리에 올라와 있으면 당장 사용하지 않는.. 2021. 11. 6. 이전 1 2 3 4 다음 반응형