Roxy(171)
-
[Network] TCP, UDP
TCP와 UDP는 OSI 7계층 중 전송계층의 프로토콜로 포트를 사용한 두 종단 호스트 간의 데이터 전달을 담당합니다. TCPTCP(Transmission Control Protocol)는 두 종단간의 연결을 설정한 후에 데이터를 8비트 바이트 스트림으로 교환하는 연결형 프로토콜 입니다. TCP와 IP의 도메인을 비교하면,- IP : 호스트 대 호스트, 컴퓨터 레벨간의 통신이며 목적지 호스트에게만 메시지를 전달할 수 있습니다.- TCP : 응용 프로그램(프로세스)간에 메시지를 전달하며 포트 번호를 이용합니다. TCP의 연결 설정 및 해제TCP는 송신측과 수신측이 서로 연결 설정을 위해 3단계로 신호를 교환합니다.1. 송신측이 수신측에 SYN 세그먼트를 보내 연결 설정을 요청한다.2. 수신측이 송신측에 수..
2016.11.09 -
[Network] OSI 7 Layer
OSI 7계층의 모델 개요와 목적1977년 국제 표준화 기구(ISO, International Standards Organization) 위원회에서 제정한 표준 네트워크 구조를 위한 개방형 시스템 간 상호접속(OSI, Open System Interconnection)에 관한 규정입니다.컴퓨터 네트워크 프로토콜 디자인과 통신을 계층을 나누어 규칙으로 설명한 것으로, 컴퓨터와 컴퓨터 사이를 연결하고 서로 다른 컴퓨터나 정보통신 시스템 간의 연결 및 원활한 정보 교환을 위한 표준화된 절차입니다.- 6년 이상 개발되어 1983년에 완성된 X.200으로 알려진 국제적 네트워크 표준 OSI 7계층 프로토콜의 구성7개의 계층으로 구성됩니다.7 - 응용 계층6 - 표현 계층5 - 세션 계층4 - 전송 계층3 - 네트..
2016.11.09 -
[OS] 경쟁상태, 교착상태, 라이브락 (Race Condition, Deadlock, Livelock)
경쟁상태 (Race Condition)둘 이상의 입력이나 조작이 동시에 일어나 의도하지 않은 결과를 가져오는 경우를 말합니다.- 파일 또는 변수와 같은 공유 자원을 접근하는 하나 또는 그 이상의 프로세스들의 다중 접근이 제대로 제어되지 않은 것을 말합니다.- 프로세스들 끼리 하나의 자원을 갖기 위해 싸우는 것, 하나의 자원을 동시에 요청 라이브락 (Livelock)한 프로세스가 이미 자원을 점유한 상태에서 다른 프로세스가 그 자원을 사용하기 위해 무한정 대기상태에 빠지는 것을 라이브락이라 합니다.- 지극히 정상적인 동작이지만 분명 문제가 있는 동작입니다. 교착상태 (DeadLock)프로세스들이 더 이상 진행을 못하고 영구적으로 블록되어 있는 상태로, 시스템 자원에 대한 경쟁 도중에 발생할 수도 있고 프로..
2016.11.09 -
[OS] 세마포어와 뮤텍스
운영체제와 프로그래밍 언어 수준에서 병행성을 제공하는 기법으로, 세마포어와 뮤텍스가 있습니다.- 동기화 기법이라고 볼 수 있습니다.- 세마포어와 뮤텍스 이외에도 모니터, 이벤트 플래그, 메시지, 스핀락 등이 있지만 나중에 포스팅 할 수 있도록 하겠습니다. 동기화시스템의 자원은 한정적인데 이 한정적인 자원에 여러 스레드가 동시에 접근해서 사용하려하면 문제가 발생할 수도 있습니다. 이런 문제를 방지하기 위해 스레드들에게 하나의 자원에 대한 처리 권한을 주거나 순서를 조정해주는 기법입니다. 임계구역 (Critical Section)공유자원에 접근하는 프로세스 내부의 코드 영역으로 어떤 한 프로세스가 이 영역을 수행중일 때 다른 프로세스가 같은 영역을 수행한다면 문제가 발생할 수 있습니다. 상호배제 (Mutua..
2016.11.09 -
[OS] 프로세스와 스레드
프로세스프로세스는 수 많은 요소들로 구성된 개체로 생각될 수 있습니다. 프로세스의 두 필수적인 요소는 프로그램 코드, 코드와 연계된 데이터의 집합입니다. 처리기가 프로그램 코드를 수행한다고 가정하면, 그 수행중인 개체가 프로세스입니다.- 수행 중인 프로그램- 컴퓨터 상에 수행 중인 프로그램의 인스턴스- 처리기에 할당되어 수행될 수 있는 개체- 명령들의 순차 수행, 현재 상태, 연계된 시스템 자원들의 집합 등에 의해 특징지어지는 활동 단위- 프로세스는 여러개의 스레드를 가질 수 있습니다. (다중 프로세스라고 가정할 때)- 자원 소유권 : 자신의 이미지를 위한 가상 주소 공간을 포함합니다. + 프로세스 이미지 : 프로세스 제어 블록에 정의되어 있는 프로그램, 데이터, 스택 등의 집합 + 주기억장치, 입출력 ..
2016.11.09 -
[OS] 프로세스 스케줄링
CPU 스케줄링요즘과 같은 다중프로그래밍 환경에서 가장 중요한 부분은 스케줄링이라고 할 수 있습니다.- "응답시간과 처리량, 효율성을 증대시키기 위해 CPU가 다음에 실행할 프로세스를 선택하는 것"이라고 할 수 있습니다. 선점과 비선점선택함수라고도 하는데 다음번 실행을 위해 준비 큐에서 대기중인 프로세스 하나를 고를 때 사용하는 알고리즘을 이야기합니다. 비선점 모드- 프로세스가 일단 실행 상태에 진입하면 종료되거나 자발적으로 CPU를 놓을 때 까지는 CPU를 빼앗기지 않습니다.- 자발적으로 CPU를 놓는다는 것은 프로세스가 종료되거나 입출력 요구 및 시스템 서비스 호출 등으로 인해 스스로 블록되는 현상을 말합니다.- 모든 프로세스에게 공정하고 응답시간의 예측이 가능합니다.- 짧은 프로세스가 작업시간이 긴..
2016.11.09