CS

    TCP/IP Layer 와 Layered Architectures 에 대한 이해

    Layered Architectures Network System 의 Layered Architectures 와 OSI 7 Layer, TCP/IP Layer, TCP 의 연결 과정 및 종료 과정, PORT, IP, UDP 등에 대해서 배우 실 수 있습니다. 인터넷 프로토콜 스택 5 Layer Protocol Stack 다양한 계층의 프로토콜을 모두 합하여 프로토콜 스택이라고 한다. Protocol 프로토콜은 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서뿐 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들을 정의한다. Ex. 발표자(A)와 발표를 듣는 스터디원 분(O)들 사이에는 어떠한 프로토콜이 존재할까? 발표자 : (프로토콜 설명 중) 질문 있습니까? Others : 네 or 손을 드는 ..

    프로세스 동기화

    프로세스 동기화 프로세스 동기화(Process synchronization)란 프로세스 사이에 동기화를 하는 것을 말한다. 현재는 대부분 쓰레드 기준으로 문맥 교환(Context Switching) 이 일어나기 때문에 쓰레드 동기화(Thread synchronization)라고도 불린다. 프로세스 동기화는 여러 프로세스가 공유하는 자원의 일관성을 유지하는 것이다. 그럼 동기화(Synchronization)는 공유 자원의 일관성을 유지하는 것으로 볼 수 있다. 프로세스 동기화에 대한 시작은 경쟁 상태(Race Condition)와 임계 구역(Critical Section)에 대한 이해부터 시작된다. 경쟁 상태(Race Condition) 경쟁 상태(Race Condition)란 동시에 여러 개의 프로세스 ..

    Interrupt 와 Context Switching

    Interrupt 와 Context Switching System call 운영체제는 커널 모드와 사용자 모드로 나뉘어 구동된다. 운영체제에서 프로그램이 구동되는데 있어 파일을 읽어 오거나, 파일을 쓰거나, 혹은 화면에 메시지를 출력하는 등 많은 부분이 커널 모드를 사용한다. 시스템 콜은 이러한 커널 영역의 기능을 사용자 모드가 사용 가능하게, 즉 프로세스가 하드웨어에 직접 접근해서 필요한 기능을 사용할 수 있게 해준다. 시스템 콜은 프로세스 제어, 파일 조작, 장치 조작, 정보 유지보수, 통신과 보호 이렇게 다섯 가지 유형으로 나눌 수 있다. Interrupt 인터럽트는 CPU 가 프로그램을 실행하고 있을 때, I/O 장치 등에 의해 예외 상황이 발생하여 처리가 필요한 경우에 CPU 에게 처리하도록 알..

    프로세스와 쓰레드

    프로세스(Process)와 쓰레드(Thread) 프로세스와 쓰레드는 정말 중요한 개념이다. 프로세스와 쓰레드를 정확히 이해해야 스프링의 멀티 쓰레드 환경에서 왜 상태값을 갖도록 설계하면 안되는지에 대해 알 수 있다. 특히 프로세스의 메모리 영역(Stack, Heap, Data, Text)과 쓰레드가 프로세스와 공유하지 않는 영역(Stack) 에 대해서 제대로 알아야 한다. 프로그램 명령어, 코드 및 정적인 데이터의 묶음이며 아직 실행되지 않은 상태를 의미 프로세스 실행 중인 프로그램 운영체제로부터 시스템 자원을 할당 받는 작업의 단위 자, 먼저 Operating System 에서의 프로세스와 쓰레드가 어떤 것인지에 대해서 배우고, 그 개념을 자바와 스프링에 접목시켜서 현업에서 동시성 이슈를 어떤식으로 피..