목록전체 글 (281)
내 잡다한 노트
3계층에서 하는 일 3계층은 다른 네트워크 대역 즉, 멀리 떨어진 곳에 존재하는 네트워크까지 어떻게 데이터를 전달할지 제어하는 일을 담당. 발신에서 착신까지의 패킷의 경로를 제어 IP주소 : WAN에서 통신할 때 사용하는 주소 3계층 프로토콜 ARP 프로토콜 : IP주소를 이용해 MAC주소를 알아온다. IPv4 프로토콜 : WAN에서 통신할 때 사용한다. ICMP 프로토콜 : 서로가 통신되는지 확인할 때 사용한다. Classful IP 주소 (낭비가 심한) IP주소는 10진수로 표현된다. .으로 구분되는 숫자들은 1바이트까지 사용할 수 있어서 2의 8승인 0 ~ 255까지만 10진수로 표현이 된다. A클래스 첫번째 필드까지는 네트워크 대역을 구분하는데 사용한다. 그 외 나머지는 네트워크 대역 안에 있는 ..
2계층에서 하는 일 2계층은 하나의 네트워크 대역 즉, 같은 네트워크 상에 존재하는 여러 장ㅇ비들 중에서 어떤 장비가 어떤 장비에게 보내는 데이터를 전달. 추가적으로 오류제어, 흐름제어를 수행. 2계층의 네트워크 크기 하나의 네트워크 대역 LAN에서만 통신할 때 사용한다. 다른 네트워크와 통신할 때는 항상 3계층이 도와줘야 한다. 3계층의 주소와 3계층의 프로토콜을 이용하여야만 다른 네트워크와 통신이 가능하다. 물리적인 주소 LAN에서 통신할 때 사용하는 MAC주소를 뜻한다. 장비의 고유주소이다. 16진수를 사용한다. 2계층의 프로토콜 Ethernet 프로토콜의 구조 Destination Address는 데이터를 받는 맥주소를 뜻하고 총 6바이트, Source Adress는 보내는 주소 여기도 6바이트,..
네트워크 계층 모델 - TCP/IP - OSI 7계층 두 모델 비교 공통적 : 계층적 네트워크 모델, 계층간 역할 정의 차이점 : 계층의 수 차이, OSI는 역할 기반, TCP/IP는 프로토콜 기반, OSI는 통신 전반에 대한 표준 TCP/IP는 데이터 전송기술 특화 패킷 패킷이란 네트워크 상에서 전달되는 데이터를 통칭하는 말. 네트워크에서 전달하는 데이터의 형식화된 블록이다. 패킷은 제어 정보와 사용자 데이터로 이루어지며 사용자 데이터는 페이로드라고도 한다. 헤더 페이로드 풋터 페이로드가 실질적으로 내가 보낼려는 데이터 풋터는 일반적으로 잘 쓰이지 않음. 패킷은 러시아 인형 마트료시카와 형태가 같다. Ethernet IPv4 TCP HTTP 가 있을때, http가 페이로드가 되고 tcp는 헤더가 된다...
네트워크 : 노드들이 데이터를 공유할 수 있게 하는 전기통신망의 하나. 즉, 분산되어 있는 컴퓨터를 통신망으로 연결한 것을 말한다. 인터넷은 세상에서 가장 큰 네트워크 중 하나로 네트워크가 인터넷보다 더 큰 개념이다. 네트워크의 분류 - 크기에 따른 분류 LAN : Local Area Network 단거리 통신망 WAN : Wide Area Network LAN들을 연결해 하나의 통신망을 형성한 것. - 연결 형태에 따른 분류 Star형 : 중앙 장비에 모든 노드가 연결된 형태. 중앙 장비가 고장나면 연결된 노드들이 먹통이 됨. Mesh형 : 여러 노드들이 서로 그물처럼 연결된 형태 Tree형 : 마치 나무의 가지처럼 계층 구조로 연결된 형태 기타 ... 링형, 버스형, 혼합형 네트워크의 통신방식 데이터..
교착 상태를 해결하는 방법은 예방, 회피, 검출, 회복이 있다. 예방과 회피는 방식이 까다롭고 비효율적이라 사용하지 않는다. 보통 검출을 통해 교착 상태를 확인하고 회복으로 문제를 해결한다. 교착상태검출 운영체제가 프로세스의 작업을 관찰하며 교착상태 여부를 주시하는 방식. 보통 타임아웃방식과 자원그래프방식 2가지를 사용한다. 타임아웃을 이용한 방식 일정시간 동안 작업이 진행되지 않는 프로세스를 교착상태가 발생한 것으로 간주하여 처리하는 방식이다. 이건 교착상태가 잘 일어나지 않을 것이라는 가정을 하고 해결하는 방식이다보니 문제가 생길 수 있다. 1. 교착 상태가 아님에도 작업이 진행되지 못하는 프로세스가 강제종료될 수 있다. 2. 모든 시스템에 적용할 수 없다. 하나의 운영체제 내에서 동작하는 프로세스들..
교착 상태는 여러가지 조건에 의해 발생하고 이 조건들이 다 충족되야 발생한다. 1. 상호 배제 한 프로세스가 사용하는 자원은 다른 프로세스와 공유할 수 없는 배타적인 자원이어야 한다. 배타적인 자원은 임계구역으로 보호되기 때문에 다른 프로세스가 동시에 사용할 수 없다. 따라서 배타적인 자원을 사용하면 교착 상태가 발생한다. 2. 비선점 프로세스가 사용중인 자원은 중간에 다른 프로세스가 뺏을 수 없는 비선점 자원이여야 한다. 뺏을 수 없다면 공유도 안되기 때문에 교착 상태가 발생한다. 3. 점유와 대기 프로세스가 어떤 자원을 할당받은 상태에서 다른 자원을 기다리는 상태여야 한다. 다른 프로세스가 필요로 하는 자원을 점유하고 있으면서 다른 자원을 기다리는 대기 상태가 되어야 한다. 4. 원형 대기 점유와 대..
교착 상태 deadlock이라고 불리며 프로세스가 실행중이지만 작업은 이루어지지 않을 때를 교착상태라고 한다. 이걸 예시로 할 때 원탁에서 식사하는 철학자들로 쉽게 설명을 하곤한다. 교착 상태는 아사현상과 비슷해 보이지만 다르다. 아사현상은 운영체제의 잘못으로 발생하지만 교착 상태는 여러 프로세스가 실행되다보니 자연적으로 일어나는 문제이다. 따라서 운영체제는 감시를 하다가 강압적으로 문제를 해결한다. 교착 상태의 발생 시스템 자원, 공유 변수, 응용 프로그램을 사용할 때 발생할 수 있다. 자원할당 그래프 어떤 프로세스가 어떤 자원을 할당했는지를 그래프로 쉽게 나타낸 것이다. 자원이 2개 이상의 프로세스를 동시에 허용하는 경우가 있는데 이걸 다중 자원이라고 부른다.
모든 통신에 관련된 연산은 open, read, write, close 구조라는 것을 잊지 말아야 한다. 파일 파일 기술자는 파일 접근 권한 외에 현재 파일의 어느 위치를 읽고 있는지에 대한 정보도 보관한다. 파일을 이용한 통신 부모 프로세스가 자식 프로세스를 fork로 만들었을 때, 파일 기술자가 자식 프로세스에도 상속된다. 파일 기술자의 위치 정보는 부모와 자식이 공유하게 된다. 부모가 읽기 연산을 해도 기술자가 전진하고 자식이 해도 전진한다. 이때 부모가 기술자를 0번 위치로 이동시키는 명령어가 lseek 이다. 파일은 동기화를 운영체제에서 지원해주지 않기 때문에 wait을 이용해 기다렸다가 작업ㅂ을 시작한다. 파이프 이름없는 파이프와 이름 있는 파이프로 크게 나뉜다. 여기선 이름 없는 파이프를 살..