목록분류 전체보기 (282)
내 잡다한 노트
현대의 시분할 시스템이 되면서 많은 프로세스들을 관리하게 됐다 그래서 프로세스들에게 어느정도의 메모리를 사용하게끔 하는 지를 고민하게 됨 메모리 관리의 이중성 프로세스는 메모리를 많이 차지하려 하고 메모리는 프로세스를 관리를 효율적으로 하고 싶어 한다. 컴파일러와 인터프리터 둘 다 소스코드를 목적코드(기계어)로 바꿔준다. 하지만 약간의 차이점이 존재한다. 컴파일러는 한꺼번에 하고 인터프리터는 한줄씩 코드를 읽어나간다. 또, 컴파일러는 변수를 미리 선언해야 한다. 컴파일은 소스코드를 컴퓨터가 읽을 수 있는 목적코드로 바꿔주고 라이브러리를 사용했다면 연결해준다. 컴파일을 통해 오류를 해결하고 최적화를 해준다. 메모리 관리자가 하는 일 1. fetch 가져오기 2. placement 배치하기 3. replac..
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개 이상의 프로세스를 동시에 허용하는 경우가 있는데 이걸 다중 자원이라고 부른다.