전체 글

네모하나 동그라미 두개
인터럽트란?사전적 의미는 '방해하다, 중단시키다'CPU의 작업을 방해하는 신호를 인터럽트라고 합니다.인터럽트 종류에는 크게 동기 인터럽트와 비동기 인터럽트가 있습니다.동기 인터럽트CPU에 의해 발생하는 인터럽트CPU가 명령어들을 수행하다가 예상치 못한 상황이 마주쳤을 때, CPU가 실행하는 프로그래밍상의 오류와 같은 예외적인 상황에 마주쳤을 때 발생하는 인터럽트가 동기 인터럽트입니다.동기 인터럽트는 예외라고 부르기도 합니다. 비동기 인터럽트주로 입출력장치에 의해 발생하는 인터럽트알람과 같은 알림 역할을 합니다.일반적으로 비동기 인터럽트를 인터럽트라 합니다.하드웨어 인터럽트라고도 합니다.하드웨어 인터럽트알림과 같은 인터럽트CPU는 입출력 작업 도중에 효율적으로 명령어를 처리하기 위해 이런 알림과 같은 하드..
CPU 스케줄링이란?CPU 스케줄링은 운영체제의 주요 기능 중 하나로, 시스템에서 여러 프로세스를 효울적으로 관리하고 실행하기 위해 CPU 시간을 할당하는 방법을 결정하는 과정입니다. 하나의 CPU 코어는 한 번에 하나의 작업만 실행할 수 있기 때문에 스케줄링 알고리즘이 필요합니다. 작동 원리프로세스 생성 : 새로운 프로세스가 생성되면 준비 큐에 추가됩니다.큐 관리 : 준비 큐는 프로세스들이 대기하는 곳으로, 각 프로세스는 CPU를 기다립니다.스케줄링 결정 : 스케줄러는 특정 알고리즘에 따라 준비 큐에서 다음 실행할 프로세스를 선택합니다.문맥 교환 : 선택된 프로세스가 CPU에서 실행되고 있는 프로세스와 교체되며, 이 과정은 문맥 교환이라 불립니다.프로세스 실행 : 선택된 프로세스는 CPU에서 실행되며,..
프로세스와 스레드의 특징 프로세스(Process)스레드(Thread)운영체제로부터 자원을 할당받은 작업의 단위입니다.프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위입니다.  프로세스  프로세스는 프로그램을 실행시켜 정적인 프로그램이 동적으로 변하여 프로그램이 돌아가고 있는 상태를 말합니다.즉, 컴퓨터에서 작업 중인 프로그램을 의미하는 것입니다.모든 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해 주어야 실행될 수 있습니다. 그래서 프로그램을 실행하는 순간 파일은 컴퓨터 메모리에 올라가게 되고, 운영체제로부터 시스템 자원(CPU)을 할당받아 프로그램 코드를 실행시켜 서비스를 이용할 수 있게 되는 것입니다.   스레드정의스레드는 프로세스 내에서 실행되는 가장 작은 단위입니다. 하나의 프로세스는..
운영체제란?프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이 운영체제입니다.운영체제는 인터넷 브라우저, 게임과 같은 프로그램입니다. 그래서 운영체제 또한 어느 프로그램과 마찬가지로 메모리에 적재되어야 합니다. 다만 운영체제는 매우 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행됩니다. 커널영역을 제외한 나머지 영역 사용자가 이용하는 응용 프로그램이 적재되는 영역을 사용자 영역이라고 합니다. 즉, 운영체제는 커널영역에 적재되는 영역을 사용자 영역이라고 합니다.운영체제는 커널영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들을 올바르게 실행되도록 돕습니다.운영체제는 커널영역에 적재되는 프로그램이..
로드밸런싱이란?로드 밸런싱은 네트워크의 부하를 줄여주기 위한 방식으로 시스템의 성능 및 가용성을 높이는 기술입니다. 웹, DB, app 서버 등 다양한 시스템 구성 요소에 적용될 수 있습니다.  주요 개념 및 이점트래픽 분산 : 여러 서버 간에 트래픽을 분산시켜 특정 서버에 과부하가 걸리지 않도록 합니다.고가용성 : 하나의 서버가 장애를 겪더라도 다른 서버가 요청을 처리할 수 있도록 함으로써 시스템 가용성을 높입니다.확장성 : 필요에 따라 서버를 추가하여 트래픽 증가에 유연하게 대응할 수 있습니다.성능 향상 : 로드가 분산되므로 각 서버의 부하가 줄어들어 응답 시간이 개선됩니다.  로드밸런싱의 유형DNS 로드밸런싱동작 원리 : DNS 서버가 도메인 이름에 대해 여러 IP 주소를 반환하여 트래픽을 분산합니..
대칭키대칭키는 암호화와 복호화에 동일한 키를 사용하는 암호화 방식에서 사용하는 키를 의미합니다. 특징암호화와 복호화에 동일한 키를 사용합니다.키가 유출되면 보안이 위협받을 수 있습니다.대칭키는 안전하게 관리되고 전송되어야 합니다. 대칭키 암호화대칭키 암호화는 대칭키를 사용하여 데이터를 암호화하고 복호화하는 방법입니다. 특징동일한 키를 사용하여 데이터를 암호화하고 복호화합니다.대칭키 암호화는 비대칭키 암호화보다 일반적으로 더 빠릅니다.대칭키를 안전한게 공유하는 것이 중요합니다.예시 : AES, DES, 3DES 등 다양한 알고리즘이 있습니다.  대칭키 암호화 과정송신자와 수신자가 동일한 대칭키를 공유합니다.송신자는 대칭키를 사용하여 평문을 암호문으로 암호화합니다.암호화된 암호문을 수신자에게 전송합니다.수신..
유니캐스트 (Unicast)유니캐스트는 특정한 하나의 수신자에게 데이터를 전송하는 방식입니다. 이 방식은 송신자와 수신자가 1:1 관계를 가지며, 가장 일반적인 통신 방법입니다.특징1:1 통신 방식으로, 특정 수신자에게만 데이터를 전송합니다.네트워크 자원을 효율적으로 사용하며, 데이터의 전송이 매우 정확합니다.사용 예 : 웹 브라우징, 이메일, 파일 다운로드장점데이터 전송의 신뢰성이 높습니다.보안성이 높아 데이터가 정확한 수신자에게 전달됩니다.단점다수의 수신자에게 동일한 데이터를 전송할 경우 네트워크 부하가 증가합니다.멀티캐스트(Multicast)특정 그룹의 수신자들에게 데이터를 전송하는 방식입니다1 : N ( 송신자 : 특정 수신자)특징1:다수 통신 방식으로, 특정 그룹에 속한 수신자들에게만 데이터를 ..
3 Way Handshake  TCP의 3-Way Handshake는 클라이언트와 서버 간에 신뢰할 수 있는 연결을 확립하는 과정입니다. 이 과정은 세 단계로 이루어집니다.SYN (Synchronize)클라이언트가 서버에 연결 요청을 보냅니다. 이 요청은 SYN 플래그가 설정된 패킷을 통해 이루어집니다.클라이언트는 초기 순서 번호(ISN)를 설정하여 서버에 보냅니다.SYN-ACK(Synchronize-Acknowedge)서버는 클라이언트의 요청을 수신하고, 이를 승인하는 SYN-ACK 패킷을 클라이언트에게 보냅니다.이때 서버도 자신의 초기 순서 번호(ISN)를 설정하여 클라이언트에 보냅니다.ACK(Acknowledge)클라이언트는 서버의 SYN-ACK 패킷을 수신하고, 연결 설정을 확인하는 ACK 패킷을..
mmmhmm
hmmumm