[CS 면접 지식 - Network] 전송 계층
·
면접 준비/Network
전송 계층전송 계층에서는 가장 중요한 개념이 TCP와 UDP이다. TCP와 UDP는 매우 중요한 프로토콜이므로 잘 기억해두는 것이 좋다.TCP/UDP의 목적과 특징첫 번쨰로 포트를 통한 프로세스 식별이다. IP주소와 MAC주소는 패킷을 송수신하는 호스트를 특정지을 수 있었다.하지만 사실 패킷의 최종 송수신 대상은 호스트가 아닌 호스트가 실행하는 프로세스이다. 그렇다면 네트워크를 통해 주고받는 패킷은 최종적으로 이러한 프로세스에 전달되어야 한다.이때 필요한 것이 포트 번호이다. 네트워크 패킷을 주고받는 프로세스에는 포트번호가 할당된다. IP주소와 포트 번호를 통해 식별을 할 수 있다는 것이다.전송 계층의 핵심 프로토콜인 TCP와 UDP는 모두 포트를 통해 프로세스를 식별할 수 있다.TCP와 UDP 헤더에는..
[CS 면접 지식 -Java] 동일성과 동등성, equals()와 ==의 차이
·
면접 준비/Java
동일성과 동등성은 객체를 비교할 때 중요한 방식이다.자바에서는 두 개의 객체 또는 값을 비교할때 equals()또는==를 통해 구분할 수 있다. 1. equals와 ==의 차이equals()는 객체의 내용을 비교하는 반면, ==는 객체의 참조주소를 비교한다. 따라서 두 객체의 내용이 같더라도 서로 다른 객체라면 equals()는 true를 반환할 수 있지만 ==는 false를 반환한다. 2. 동등성(Equality) 동등성은 논리적으로 객체의 내용이 같은지 비교한다. 이때 사용하는 equals()메서드는 클래스에서 오버라이드하여 어떤 값을 비교할 것인지 설정할 수 있다.이때 중요한건 객체의 equals뿐만 아니라 hashCode도 오버라이드를 해줘야 한다는 점이다.그 이유는 해시값을 사용하는 자료 구조는..
[CS지식/ OS] 커널과 시스템 콜
·
면접 준비/OS
시스템도 일종의 프로그램이다.운영체제도 하나의 프로그램이기 때문에 프로그램이 실행되기 위해서는 반드시 메모리에 적재되어야 한다.운영체제는 매우 특별한 프로그램이므로 메모리 내의 커널 영역이라는 공간에 따로 적재되어 실행된다.반대로 사용자 응용 프로그램은 사용자 영역이라는 공간에 적재된다.운영체제의 기능을 사용하기 위해서는 커널 영역에 적제된 운영체제 코드를 실행해야 한다.시스템 콜운영체제의 서비스를 제공받기 위한 수단(인터페이스)호출 가능한 함수의 형태웹 브라우저, 게임과 같은 응용 프로그램들은 CPU, 메모리에 직접 접근할 수 없다.특정 자원에 접근하거나 조작하는 운영체제 코드를 실행해야 한다.운영체제가 자신의 코드를 실행한 응용 프로그램의 자원 접근 및 조작을 대신한다.말로는 어려우니 이미지를 통해 ..