목록2024/12 (3)
백엔드 개발자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/k8kKf/btsLzsDb3K1/ZMi9s5siP4wVWKj0xYNQX0/img.jpg)
TCP/IP란 무엇인가?TCP/IP는 인터넷과 네트워크의 기본이 되는 통신 규약(Protocol)의 모음이다.네트워크에서 애플리케이션 간의 데이터 전송, IP 주소간의 통신 등 다양한 규칙이 필요한데 이런 규칙들을 모아놓은 것이다.TCP/IP는 서로 다른 기기 간에 신뢰성 있고 효율적으로 전송될 수 있도록 설계된 구조로, 계층적 설계(layered architecture)를 기반으로 동작한다. 이를 통해 TCP/IP는 다양한 하드웨어와 소프트웨어 환경에서도 통합적으로 작동할 수 있다.Layered 계층 구조란?Layered 계층 구조는 네트워크를 여러 독립적인 계층으로 나누어 각각의 계층이 특정 기능을 담당하도록 설계된 모델이다. 각 계층은 상위 계층이나 하위 계층과 상호작용하지만, 자신의 역할에만 집중..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GQppc/btsLhpl0f7S/kAkG5KkrFVGKejDzAAla5K/img.png)
레이스 컨디션(Race Condition)과 동기화 기법의 필요성레이스 컨디션은 여러 스레드가 동일한 자원에 동시에 접근하거나 작업을 수행할 때 발생하는 동기화 문제다. 각 스레드의 실행 순서에 따라 매번 결과가 달라질 수 있어 데이터 무결성이 깨지거나 의도치 않은 동작이 발생할 수 있다.동기화 기법 Lock멀티스레드 환경이나 멀티프로세스 시스템에서는 여러 작업이 동일한 자원에 동시에 접근할 경우 데이터 일관성이 깨지거나 충돌이 발생할 수 있다(Race Condition 문제). 이를 방지하기 위해 동기화(Synchronization) 기법이 필요하며, 이 중 가장 널리 사용되는 것이 바로 Lock 기법이다.Lock은 특정 자원에 대한 접근 권한을 하나의 스레드나 프로세스가 독점적으로 가지도록 보장하여 ..
가상 메모리란?메모리 공간을 추상화해서 제공하는 것이라고 할 수 있다.프로세스는 RAM에 올라와서 실행이 되는 것인데, 이 메모리 공간(RAM)은 보호 영역에서 운영체제가 관리한다. 그렇기 때문에 운영체제에서 이러한 메모리 영역을 추상화하여 제공하고 각 프로세스에 독립적인 메모리 주소 공간을 제공하여 메모리를 보호한다. 또한, 실제 메모리 보다 큰 메모리로 보이도록 하고, 실제보다 더 큰 메모리 사용을 가능하게 만들어주는 방법이다.요구 페이징가상메모리의 핵심 요소 중 하나는 필요한 메모리만 올려서 실행하여 실제보다 더 큰 메모리 사용이 가능하도록 해주는 것이다.예를 들어 어떤 프로그램은 3G의 메모리를 사용해야 하는데 실제 메모리 크기가 2G라면 전체 데이터를 모두 올리지 못할 것이다. 또, 멀티프로그래..