전체 글

메모리CPU가 직접 접근할 수 있는 기억장치이며,프로세스가 실행되려면 프로그램이 메모리에 올라와야 한다. 프로그램 실행 시 필요한 주소, 정보들을 저장하고 가져다 사용할 수 있게 만드는 공간이다.  메모리의 특징 지역성 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것.시간적 지역성 : 특정 데이터가 한 번 접근되었을 경우, 가까운 미래에 또 한 번 데이터에 접근할 가능성이 높음.공간적 지역성 : 엑세스 된 기억장소와 인접한 기억장소가 엑세스 될 가능성이 높음. 지역성 원리를 이용하여 계층으로 구성된다.위로 갈수록 접근시간 감소하고 속도가 증가하며, 비용이 비싸지고 용량이 적어진다.기억용량, 접근시간, 사이클 시간, 기억장치 대역폭, 가격 등으로 성능이 결정된다.  메모리 계층(기억장치 계층) ..
운영체제컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관리하고 제어하여 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스이다.  운영체제의 역할1. CPU 스케줄링과 프로세스를 관리    CPU 소유권 할당과, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리한다.2. 메모리 관리    한정된 메모리를 어떤 프로세스에 얼만큼 할당할지 관리한다.3. 디스크 파일 관리    디스크 파일을 어떠한 방법으로 보관할지 관리한다.    (파일 생성, 수정, 제거, 공유, 백업, 복구, 주기억장치와 보조기억장치간의 파일전송 등)4. I/O 디바이스 관리    I/O 디바이스와 컴퓨터 간에 데이터를 주고받는 것을 관리한다.   운영체제의 구조 인터페이스 (GUI, CUI)사용자가 전자장치와 상호작용할 수 있도록 하는..
대칭키(비공개키) 암복호화에 사용하는 키가 동일한 암호화 방식. 송수신자는 서로 공유된 대칭키를 가지고 통신한다. 특징암복호화에 서로 동일한 키가 사용되기 때문에 키를 공개하지 않는다. 알고리즘DES, 3DES, AES, SEED, ARIA장점비대칭키 암호화 방식에 비해 속도가 빠르다.단점키를 교환해야 하기 때문에 송신 측에서 수신 측에 암호키를 전달할 때 노출되거나 탈취당할 수 있다.사람이 증가할수록 각자 키를 교환해야 하기 때문에 관리해야할 키가 많아진다.  비대칭키(공개키) 암복호화에 사용하는 키가 서로 다른 암호화 방식. 따라서 송수신자 모두 한쌍의 키(개인키, 공개키) 를 갖고있게 된다. 더보기공개키 : 모든 사람이 접근 가능한 키개인키(비밀키) : 사용자 본인만 가지고 있는 키 특징A의 공개키..
로드밸런싱로드밸런싱 (Load Balancing) 은 '부하분산'이라고도 하며 두 대 이상의 컴퓨터에 작업 부하를 분산하는 것입니다. 임영웅 콘서트 티켓을 예매할 때 한꺼번에 많은 트래픽이 몰려 서버가 그 트래픽을 감당하기 힘들어 부하를 받게 된다.이를 방지하기 위해 동일한 서버를 여러 대 구비시켜 트래픽을 분산처리할 수 있다. 하지만 단순히 여러대의 서버를 구비한다고 모든 서버에 적절히 트래픽을 분산시킬 수 있는 것이 아니다. 여러대의 서버 중 트래픽이 몰리는 서버가 존재할 수있고 이렇게 되면 서비스 장애가 생길 가능성이 커진다.즉, 한 서버에 트래픽이 몰리는 것을 방지하고 여러 서버에 적절히 분산시켜주는 기술이 로드밸런싱이다.    로드밸런싱의 종류 로드밸런싱에는 L4 로드밸런싱과 L7 로드밸런싱이 ..
흐름 제어수신 측이 송신 측보다 데이터 처리 속도가 빠르면 문제 없지만, 송신 측의 속도가 빠를 경우 문제가 생긴다. 수신 측에서 제한된 저장 용량을 초과한 이후에 도착하는 패킷은 손실될 수 있으며,만약 손실된다면 불필요한 추가 패킷 전송이 발생한다.따라서 송신측의 패킷 전송량을 수신측에 따라 제어해야 한다. 흐름 제어는 위와 같이 송신 측과 수신 측의 TCP 버퍼 크기 차이로 인해 데이터 처리 속도 차이를 해결하기 위한 기법이다. 전체 전송 과정Application Layer : 송신측 Application Layer 가 소켓에 데이터를 입력.Transport Layer : 데이터를 세그먼트로 감싸고 Network Layer 에 전달.수신측 노드로 세그먼트가 전송되며 동시에 송신측의 Send Buffe..
출발지에서 목적지로 데이터를 전송할 때 사용하는 통신 방식에는 유니캐스트, 브로드캐스트, 멀티캐스트를 사용한다. 유니캐스트, 브로드캐스트, 멀티캐스트는 네트워크에서 통신을 하는 방식에 따라 구분하는데1 : 1이냐, 전부를 대상으로 하냐, 그룹을 대상으로 하냐에 따라 차이가 있다. 1 : 1 👉 유니캐스트로 출발지와 목적지가 1 : 1로 통신. 1 : 전부 👉 브로드캐스트로 동일 네트워크에 존재하는 모든 호스트가 목적지. 1 : 그룹 👉 멀티캐스트로 하나의 출발지에서 다수의 특정 목적지로 데이터 전송.   MAC 주소기기간 통신에 기본적으로 사용되는 주소이며 다른 이름으로 하드웨어 주소라고도 한다. 네트워크 상에서 서로를 구분하기 위해 Device 마다 할당된 물리적 주소를 의미한다.즉, 하드웨어를..
3-Way HandShake & 4-Way HandShake 3-Way HandShake 는 TCP의 접속, 4-Way HandShake는 TCP의 접속 해제 과정이다.  3-Way Handshake TCP 통신을 이용하여 데이터를 전송하기 위해 네트워크 연결 설정을 하는 과정이다.양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고,실제로 데이터 전달이 시작하기 전에 한 쪽이 다른 쪽이 준비되었다는 것을 알 수 있도록 한다. 즉, TCP/IP 프로토콜을 이용해서 통신을 하는 응용 프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다. 포트(PORT) 상태 정보STATE설명CLOSED포드가 닫힌 상태LISTEN포트가 열린 상태로 연..
네트워크 프로토콜의 역할네트워크 통신에서 전송 계층에서 사용하는 프로토콜은 데이터의 전송 방식과 규칙을 정의한다.전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 쉽게 말해 데이터의 전달을 담당합니다. 이 중 데이터를 보내기 위해 사용하는 프로토콜이 있는데 그 것이TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 가장 널리 사용되는 두 가지 프로토콜이다. TCP는 신뢰성이 있는 데이터 전송을 보장하는 반면, UDP는 빠른 데이터 전송을 위해 신뢰성을 약간 포기한다.네트워크 애플리케이션을 개발할 때, 이 두 프로토콜 중 하나를 선택해야 하는 상황이 자주 발생하는데,네트워크 프로토콜의 선택은 애플리케이션의 성능과 기능에 직..
백수왕
비전공자에서 주니어 개발자까지