기술 면접
-
기술 면접 - 운영체제 (4)기술 면접 2021. 4. 19. 03:18
가상 메모리 실제 각 프로세스마다 충분한 메모리를 할당하기에는 메모리 크기가 한계가 있음 폰 노이만 구조 기반이므로, 코드는 메모리에 반드시 있어야 함 가상 메모리 메모리가 실제 메모리보다 많아 보이게 하는 기술 프로세스 간 공간 분리로, 프로세스 이슈가 전체 시스템에 영향을 주지 않을 수 있음 가상 메모리 아이디어 프로세스는 가상 주소를 사용하고, 실제 해당 주소에서 데이터를 읽고 쓸 때만 물리 주소로 바꿔주면 된다 Virtual Address : 프로세스가 참조하는 주소 Physical Address : 실제 메모리 주소 MMU(Memory Management Unit) CPU에 코드 실행 시, 가상 주소 메모리를 물리 주소 값으로 변환해주는 하드웨어 장치 CPU는 가상 메모리를 다루고, 실제 해당 ..
-
기술 면접 - 운영체제 (3)기술 면접 2021. 4. 19. 03:14
스레드 Light Weight Process 프로세스 프로세스 간에는 각 프로세스의 데이터 접근이 불가 ( IPC 사용 ) 스레드 하나의 프로세스에 여러 개의 스레드 생성 가능 스레드들은 동시에 실행 가능 프로세스 안에 있으므로, 프로세스의 데이터를 모두 접근 가능 ( IPC 사용할 필요가 없다 ) Code 영역, Data 영역, Heap 영역은 다 같이 공유함 Stack 영역만 스레드마다 각각 유지 멀티 프로세싱과 스레드 멀티 태스킹과 멀티 프로세싱 멀티 태스킹 : 하나의 CPU가 여러 프로세스를 동시에 실행하도록 보이게 하는 기술 멀티 프로세싱 : 프로세스를 여러개의 CPU로 병렬 실행하여 CPU 속도를 높이는 것 멀티 프로세싱 원리 스레드를 여러개 만들면 가능!! 스레드 장점 사용자에 대한 응답성 ..
-
기술 면접 - 운영체제 (2)기술 면접 2021. 4. 19. 03:09
인터럽트 인터럽트란? CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치나 또는 예외상황이 발생하여 처리가 필요할 경우에 CPU에 알려서 처리하는 기술 어느 한 순간 CPU가 실행하는 명령은 하나, 다른 장치와 어떻게 커뮤니케이션을 할까? 인터럽트 필요 이유 선점형 스케쥴러 구현 프로세스 running 중 스케쥴러가 이를 중단시키고, 다른 프로세스로 교체하기 위해, 현재 프로세스를 중단시킴 io Device와의 커뮤니케이션 저장매체에서 데이터 처리 완료 시, 프로세스를 깨워야 함(block state -> ready state) 예외 상황 핸들링 CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치나 예외상황이 발생할 경우 CPU가 해당 처리를 할 수 있도록 CPU에 알려줘야 ..
-
기술 면접 - 운영체제 (1)기술 면접 2021. 4. 19. 03:07
운영체제 구조 두 가지 모드 사용자 모드 : 응용 프로그램이 사용 커널 모드 : OS가 사용 시스템 콜은 커널 모드로 실행 커널 모드로 실행하려면, 반드시 시스템 콜을 거쳐야 함 시스템 콜은 운영체제가 제공 함부로 응용 프로그램이 전체 컴퓨터 시스템을 해치지 못함 프로세스 스케쥴링 배치 처리 시스템 자동으로 다음 응용 프로그램이 이어서 실행될 수 있도록 하는 시스템 FIFO - Queue를 사용 어떤 프로그램은 실행이 너무 오래 걸려서, 다른 프로그램이 실행하는데 시간을 많이 기다려야 한다 나는 MP3 음악을 들으면서, 문서 작성을 하고 싶음! 두 가지 프로그램을 동시에 실행할 수 없음 시분할 시스템 응용 프로그램이 CPU를 점유하는 시간을 잘게 쪼개어 실행될 수 있도록 하는 시스템 컴퓨터 응답 시간을 ..