목록CS 스터디 (35)
Welcome! Everything is fine.
Context Switching이란 무엇인가요? 인터럽트(interrupt)인터럽트(interrup)란 CPU에서 프로세스를 처리하다가 예외 상황이 발생할 때 이에 대응할 수 있게 CPU에 처리를 요청하는 것을 말한다. 인터럽트가 발생하는 경우는 입출력 이벤트가 발생할 때, CPU 사용시간이 만료되었을 때, 자식 프로세스를 생성할 때 등이 있다. Context SwitchingCPU는 하나의 프로세스만 처리할 수 있기 때문에 멀티 프로세스를 처리하려면 인터럽트가 발생하면서 콘텍스트 스위칭이 발생한다.콘덱스트 스위칭이란 CPU가 처리중인 프로세스를 변경하는 것이다. 다시 말해, 현재 실행 중인 프로세스의 제어를 다른 프로세스에 넘겨서 그 프로세스가 실행 가능하도록 하는 것을 의미한다. 콘덱스트 스위칭이 발..
스와핑(Swapping)에 대해 설명해주세요. 스와핑(Swapping)이란?프로세스가 실행되기 위해서는 메모리에 로드되어야하는데, 메모리 공간보다 많은 프로세스가 로드되는 경우가 있을 수 있다. 이때 중기 스케줄러(메모리에 로드된 프로세스 수를 동적으로 조절)가 프로세스를 저장 공간으로 옮겨 저장한다. 이 프로세스는 저장 공간에 있다가 이벤트 요청이 오면 다시 메모리에 로드된다.메모리 관리를 위해 사용되는 기법 프로세스의 일부 또는 전체를 물리적 메모리에서 보조 기억장치, 즉 하드 디스크의 스왑 공간으로 이동시키는 과정 프로세스가 메모리에 적재될 공간이 부족할 때 사용swap in & swap outswap in : 보조 기억장치에서 주 기억장치로 불러오는 과정, 프로세스가 메모리에서 스왑 영역으로 옮..
우선순위 큐의 동작원리에 대해 설명해주세요. 우선 순위 큐란?우선순위 큐 : 우선순위가 높은 데이터부터 꺼내는 자료구조배열, 연결 리스트, 힙으로 구현 가능하나 주로 가장 효율적인 힙을 가지고 구현한다.top이 최대면 최대힙, top이 최소면 최소힙으로 표현, 힙으로 구현된 이진 트리는 모든 정점이 자신의 자식 요소보다 우선순위가 높다는 성질을 가지고 있다. 시간 복잡도는 O(logN).힙이란? 완전 이진 트리의 한 종류. (최대 힙 & 최소 힙)최대 힙은 부모 노드가 자식 노드의 값보다 크고 최소 힙은 부모 노드가 자식 노드의 값보다 작다.최대 힙과 최소 힙을 이용해 최댓값과 최솟값을 빠르게 찾을 수 있어 우선순위 큐를 구현하거나 힙 정렬을 하는 데 주로 사용한다.힙의 삽입/삭제 연산삽입/삭제 예시 그..
완전 이진 트리, 포화 이진 트리, 이진 탐색 트리의 차이점은 무엇인가요? 발표 때 사용한 PDF로 질문에 대한 답변을 대신합니다:) 더보기기술 면접 대비 CS 전공 핵심요약집 | 이수진 - 교보문고 (kyobobook.co.kr)자료구조 이진트리(Binary Tree) 그림으로 쉽게 이해하기 (tistory.com)
인덱스를 사용 중일 때 데이터를 삭제하면 발생할 수 있는 문제에 대해 설명해보세요. 인덱스를 구현하는 방식에 대해 설명해보세요. 인덱스란?인덱스란 데이터베이스에서 튜플의 검색 속도를 높이기 위해 속성 값과 튜플이 저장된 주소를 저장하는 것을 말한다. 해당 테이블의 컬럼을 색인화하여 검색 시 해당 테이블의 레코드를 full scan하는 것이 아니라 인덱스 파일을 검색하여 검색 속도를 빠르게 한다. 항상 최신의 정렬상태 유지하고, 데이터베이스 크기의 약 10% 정도의 저장 공간이 필요하다. 장점 : 인덱스 테이블에 데이터가 정렬되어 있어서 검색 속도가 빠르다. 단점 : 인덱스 테이블을 저장하기 위한 추가 공간이 필요하다, 정렬된 상태를 유지하기 위해 데이터를 추가/수정/삭제하는 경우에는 속도가 느리다. 따라..
데이터베이스의 락에 대해 설명해보세요. 락(lock)이란?동시성 제어를 위해 락(lock)을 사용한다! 락(lock) : 트랜잭션이 처리되는 순서를 보장하기 위한 방법. 데이터 베이스의 무결성을 유지하는데 목적이 있다. 트랜잭션이 동시에 수행될 때, 일관성을 해치지 않도록 데이터의 접근을 제어하는 DBMS의 기능이다. 운영체제에서의 데이터 동기화를 위해 임계 영역에 대한 접근을 제한하는 상호배제 기법과 유사하다.락(lock)의 종류낙관적 잠금 : 데이터 갱신 시 경합이 발생하지 않을 것이라고 보는 것. 동시 업데이트가 거의 없는 경우 사용한다.비관적 잠금 : 동일한 데이터를 동시에 수정할 가능성이 높다고 보는 것. 동시 업데이트가 빈번한 경우, 외부 시스템과 연동한 경우 사용한다.공유 락베타 락 공유 락..
UDP의 특징과 UDP에서의 오류검출 방법에 대해 설명해보세요.UDP란UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)는 OSI 7계층 중 4계층 전송 계층에 해당하는 네트워크 프로토콜이다. 프로토콜 중 구조가 가장 간단하다. UDP는 송신부와 수신부 간 연결을 지원하지 않고 데이터그램 형태의 통신을 지원한다. 따라서 TCP와 달리 3-way 핸드셰이킹 같은 과정 없이 패킷을 바로 송수신하게 된다. → 신뢰성은 낮지만 속도는 빠름.가상 회선 방식(Viryual Circuit) vs 데이터그램 방식(Datagram)가상 회선 방식 : 모든 패킷의 경로를 일정하게 유지, 연결형 서비스 지원, 데이터를 패킷 단위로 나누어 전송, 패킷의 도착 순서가 일정, 목적지에서 패킷을 재조립할..
HTTP Keep Alive와 TCP Keep Alive의 차이에 대해 설명해보세요.HTTPHTTP는 데이터 전송을 위한 클라이언트-서버 구조의 요청/응답 프로토콜이다.특징비연결성 : 클라이언트의 요청에 대해 서버가 응답한 후 연결을 끊음 → 이를 보완하기 위해 HTTP Keep Alive 사용무상태성 : 서버에서 클라이언트의 상태에 대한 데이터를 저장하지 않음 → 이를 보완하기 위해 쿠키/세션 사용Keep Alive?A keepalive (KA) is a message sent by one device to another to check that the link between the two is operating, or to prevent the link from being broken.위키백과에 따르..