물리 계층과 데이터 링크 계층에 속한 기술은 대부분 LAN을 위한 기술이다. LAN에 넘어서 다른 네트워크와 통신을 주고받으려면 네트워크 계층 이상의 기술이 필요하고 여기서 중요하게 사용되는 기술이 네트워크 계층의 핵심적인 프로토콜 IP 이다. IP의 목적과 특징IP 의 본래 목적은 크게 주소 지정과 단편화, 2가지로 나뉜다. 주소 지정은 네트워크 간의 통신 과정에서 호스트를 특정하는 것을 의미하고,단편화는 데이터를 여러 IP 패킷으로 올바르게 쪼개어 보내는 것을 의미한다. ✔️ 주소 지정주소 지정은 IP 주소를 통해 이루어지며, IP 패킷 헤더를 통해 알 수 있다. 송신지 IP 주소, 수신지 IP 주소 : 하나의 IP 주소는 총 4바이트의 크기로 구성되고, 숫자당 8비트로 표현되므로 0 ~255범위의..
이더넷물리 계층과 데이터 링크 계층에는 LAN 내의 호스트들이 올바르게 정보를 주고받을 수 있게 해주는 다양한 기술들이 포함되어있다.그 중 대표적인 기술이 이더넷이다. 통신 매체를 통해 신호를 송수신하는 방법, 데이터 링크 계층에서 주고받는 데이터 형식등이 정의될 기술을 말한다. 현대 대부분의 LAN은 이더넷을 기반으로 구현되어있다. ✔️ 이더넷 표준오늘날의 LAN 대부분이 이더넷 표준을 따르기 때문에 대다수의 LAN 장비들이 특정 이더넷 표준을 따른다. 이더넷 표준이 달라지면 통신 매체의 종류를 비롯한 신호 송수신 방법, 나아가 최대 지원 속도도 달라질 수 있다. ✔️ 이더넷 프레임이더넷 기반의 네트워크에서 주고받는 프레임을 말한다. 사실상 '프레임'이 이더넷 프레임을 지칭한다고 볼 수 있다. 프레..
네트워크의 기본 구조네트워크는 노드와 간선으로 이루어진 자료구조라는 점에서 그래프의 형태를 띈다.네트워크 기기가 노드이고, 네트워크 기기 간에 정보를 주고 받는 유무선의 통신 매체가 간선인 셈이다. 네트워크 상에서 노드와 노드 사이의 연결 구조 - 네트워크 토폴로지네트워크의 가장자리에 위치하면서 네트워크를 통해 주고 받는 정보를 최초로 송신하고 최종 수신하는 노드 - > 호스트 노트북과 같이 요청을 보내는 호스트 -> 클라이언트구글의 서버 컴퓨터 처럼 응답을 보내는 호스트 -> 서버 클라이언트와 서버는 주고받는 정보의 방향에 따라 부여된 역할이다. ✔️ LAN 과 WAN네트워크는 규모에 따라 LAN과 WAN으로 나뉜다. 📌 LAN근거리 네트워크를 의미한다. 가정이나 기업처럼 비교적 가까운 거리를 연결하..
프로세스 간 통신 / 스레드 간 통신공유자원: 프로세스 혹은 스레드가 공유하는 자원임계구역: 다수의 프로세스 혹은 스레드가 동시에 공유자원에 접근할 경우 실행에 문제가 발생할 수 있는 코드레이스 컨디션: 프로세스 혹은 스레드가 동시에 임계 구역의 코드를 실행하여 문제가 발생하는 상황-> 레이스 컨디션이 발생하면 자원의 일관성이 손상 될 수 있다.-> 레이스 컨디션을 방지하면서 임계구역을 관리하기 위해서는 프로세스와 스레드가 동기화 되어야한다.동기화다음의 2가지 조건을 준수하며 실행 하는 것실행 순서 제어: 프로세스 및 스레드를 올바른 순서로 실행하기상호배제: 동시에 접근 해서는 안되는 자원에 하나의 프로세스 및 스레드만 접근하기-> 실행순서제어를 위한 동기화, 상호배제를 위한 동기화가 있다. 동기화 기법..
프로세스란?실행중인 프로그램을 뜻한다. 프로세스의 유형포그라운드 프로세스사용자가 보는 공간에서 사용자와 상호작용하여 실행되는 프로세스백그라운드 프로세스사용자가 보지 못하는 곳에서 실행되는 프로세스데몬사용자와 별다른 상호작용 없이 주어진 작업만 수행하는 특별한 백그라운드 프로세스✢ 윈도우 운영체제에서는 데몬을 서비스라 부른다. 프로세스의 구조프로세스를 실행시키기 위해서는 코드의 데이터를 메모리에 올려 실행시켜야 한다.이때, 프로세스마다 고유한 가상 메모리 공간을 제공하며, 이 공간은 아래 이미지와 같다.프로세스의 유형을 막론하고 하나의 프로세스를 구성하는 메모리 내의 정보는 크게 다르지 않다.(프로세스마다 구조는 다 비슷비슷하다)✔️ 커널영역PCB : 프로세스 제어 블록✔️ 사용자 영역코드 영역실행가능한 ..
운영체제란?프로그램들 간의 올바른 실행을 돕고, 다양한 하드웨어 자원을 프로그램에 배분하는 프로그램이다. 컴퓨터시스템의 핵심소프트웨어로 응용프로그램과 컴퓨터하드웨어 간의 상호작용을 관리하고 제어하는 역할을 한다. 대표적인 운영체제데스크탑 : 윈도우, 맥OS, 리눅스스마트폰 : 안드로이드, iOS운영체제의 구조크게는 인터페이스와 커널로 구분되며,커널 은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 담당한다.운영체제의 성능은 커널이 좌우한다.인터페이스 는 사용자와 응용프로그램에 인접하여 커널에 명령을 전달하고 실행 결과를 사용자와 응용프로그램에 돌려주는 역할을 한다.운영체제의 핵심기능 및 역할 핵심기능1. 자원 할당 및 관리CPU 관리: CPU 스케줄링메모리 관리: 가상 메..