자고일어나니코딩왕
자일코의 CODING
자고일어나니코딩왕
전체 방문자
오늘
어제
  • 분류 전체보기 (64)
    • [Linux]리눅스 (1)
    • [NETWORK]네트워크 (17)
    • [PS] 알고리즘문제풀이 (16)
    • [SQL] (13)
    • [ALGORITHM]알고리즘개념 (9)
    • [DATA_STRUCTURE]자료구조 (1)
    • [PYTHON]파이썬 (0)
    • [정보처리기사] (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ssh
  • 리눅스
  • BIOS #MBR #LILO #Kernel #init
  • 원격접속
  • 리눅스 #파일시스템 #디렉토리
  • virtualbox

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
자고일어나니코딩왕

자일코의 CODING

[정보처리기사]

[정보처리기사]#4.Chapter4 -A grade

2020. 5. 16. 17:28
  • 변수
    • 정수형 , 실수형, 문자형, 포인터형
  • 기억클래스 - 자동변수
    • 자동변수는 함수나 코드의 범위를 한정하는 블록내에서 선언되는 변수이다.
    • 초기화 하지 않으면 쓰래기값이 들어간다.
    • 기억영역은 메모리(스택), 예약어 :auto, 생존기간 : 일시적. 사용범위 : 지역적
  • 기억클래스 - 외부변수
    • 다른파일에서 선언된변수나, 함수를 참조하기위한변수이며 함수밖에서 선언한다.
    • 함수가 종료되도 값이 소멸되지 않는다.
    • 초기화하지않으면 자동으로 0으로 소멸된다.
    • 다른파일에서 선언된 변수를 참조할 경우 초기화 할 수 없다.
    • 기억영역 : 메모리(데이터) , 예약어 extern ,생존기간: 영구적. 사용범위 : 전역적
  • 기억클래스 - 정적변수
    • 함수나 블록 내에서 선언하는 내부정적변수와 함수의 외부에서 선언하는 외부정적변수가 있다.
    • 내부정적변수는 블록내에서만 사용할수있고, 외부정적변수는 모든함수에서 사용할수있다.
    • 두변수 모두 함수나 블록이 종료된 뒤에도 값이 소멸되지 않는다.
    • 초기화는 변수 선언시에 한번만 할 수 있으며 , 초기화를 생략하면 자동으로 0으로 초기화된다.
    • 기억영역 : 메모리(데이터) , 예약어 :static , 생존기간 :영구적, 사용범위 정적변수(내부) : 지역적 정적변수(외부) : 전역적
  • 레지스터변수
    • 메모리가 아닌 CPU내부의 레지스터에 기억영역을 할당받음
    • 자주사용되는 변수를 저장하여 처리속도를 높히기 위해 사용된다.
    • 함수나 블록을 벗어나면 자동으로 소멸된다.
    • 사용개수가 한정되어 데이터를 저장할 레지스터가 없는 경우 자동변수로 취급되어 메모리에 할당된다.
    • CPU에 저장되어 메모리 주소를 가질 수 없기 때문에 변수의 주소를 구하는 주소연산자& 사용 불가능
    • 기억영역 : 레지스터 ,예약어 :register ,생존기간: 일시적, 사용범위 :지역적
  • Short si = 32768이라고 저장하면 짧은 변수형인 short에 저장했기때문에 오버플로우가 발생한다.
  • Float = 단정도, double , long double =배정도
  • 산술연산자
    • +,-,*,/,%,++,--
  • 관계연산자
    • ==,!=,>,>=,<,<=
  • 비트연산자
    • &,^,|,~,<<,>>
  • 논리연산자
    • && , || , !
  • 대입연산자
    • +=,-=,*=,/=,%=,<<==,>>==
  • 조건연산자
    • 조건? 수식1 : 수식2 : 조건의 수식이 참이면 수식1, 거짓이면 수식2를 실행한다.
  • 기타 연산자
    • Sizeof ,(콤마) , (자료형)
  • 연산자의우선순위
    • 단항연산자
    • 이항연산자
      • 산술연산자
      • 시프트연산자
      • 관계연산자
      • 비트연산자
      • 논리연산자
    • 삼항연산자
    • 대입연산자
    • 순서연산자(콤마)
  • 제어문
    • 단순if문
      • if(조건) 실행할문장
    • 다중if문
      • if ,else if .... else
    • switch문
      • switch(수식)
        • Case 레이블1:
        • 실행할문장1:
        • Break:
        • Case 레이블2
        • 실행할문장2:
        • Break:
        • .
        • .
        • Default:
        • 실행할문장:
    • goto문
      • goto 레이블:
      • 레이블:
        • 실행할문장
  • 반복문
    • for문, while문, do~while문,break,continue문
    • do-while문
      • do
        • 실행할문장;
      • while(조건);
  • 배열에서의 번지수는 바이트단위
    • a [3][2] = [1,1,1
      1,1,1
            1,1,1]
  • 포인터
    • 변수의 주소
  • 포인터변수
    • 변수의 주소를 저장할때 사용하는 변수
  • &
    • 포인터 변수에 주소를 저장하기위하여 변수의 주소를 알아낼때는 번지연산자(&)를 붙힌다.
  • *
    • 간접연산자 *를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말한다.
  • 포인터변수의 용도
    • 연결된 자료구조를 구성하기 위해 사용한다.
    • 동적으로 할당된 자료구조를 지정하기위해 사용한다.
    • 배열을 인수로 전달하기 위해 사용한다.
    • 문자열을 표현하기 위하여 사용한다.
    • 커란 배열에서 요소를 효율적으로 저장하기 위해 사용한다.
    • 메모리에 직접 접근하기 위해 사용한다.
  • a 변수에 100을 저장하고 a변수의 주소를 포인터변수 b에 저장시켯다.
    • a는 메모리 4번지에 대한 이름이다.
    • a 변수의 주소는 4이다.
    • a 변수에는 100이 기억되어 있다.
    • 4번지에는 100이 기억되어있다.
    • &a = 4 이다.
    • 포인터변수 b는 a변수의 주소를 기억하고 있다.
    • 포터변수가 가리키는 곳의 값을 말할때는 *b로 나타낸다.
    • *b는 100이다.
  • 포인터 배열
    • 배열을 포인터 변수에 저장한 후 포인터를 이용해서 배열의 요소에 접근 할 수 있다.
    • int a[5] , *b;
      • b =a : 배열의 대표명을 적었으므로 a배열의 시작 주소인 a[0]의 주소를 b에 저장한다.
      • b = &a[0] : a배열의 첫번째 요소인 a[0]의 주소를 b에 저장한다.
      • 배열에서 +1은 한번지수 증가이다.
  • 데이터의 입출력
    • scanf(서식문자열, 변수의 주소)
    • %d :정수형 10진수를 입출력하기 위해 지정
    • %u : 부호없는 정수형 10진수
    • %o : 정수형 8진수를 입출력
    • %x : 정수형 16진수를 입출력
    • %c : 문자를 입출력
    • %s : 문자열을 입출력
    • %f : 소수점을 포함하는 실수를 입출력
    • %e : 지수형 실수를 입출력
    • %ld : long형 10진수
    • %io : long형 8진수
    • %ix : long형 16진수
    • %p : 주소를 16진수
  • scanf("%4f" , &j) 입력 : 12.123
    • 소숫점포합 4자리
  • Char b[8]; scarf("%s" ,b) 입력 :GIL BUT
    • GIL 입력한 데이터중 빈칸(공백)이 있으면 빈 칸 앞까지만 저장된다.
  • Char b[8], c[8]
    • scanf('%c %5c",b ,b) 입력 LOVE ME
      • b: L , c : OVE M
      • c이기때문에 하나의 문자만 뺀다 출력되면 사라진다.
  • scanf("%d %e %s" ,&i, &j, a)
    • 형식문자 615pg확인하기
  • a = getchar() - > GIL BUT ->putchar(a)
    • 결과: p
  • putchar('G')
    • 결과 :G
  • putchar('G' +1)
    • 결과 :H
  • gets(b); ->GIL BUT ->puts(b)
    • 결과 : GIL BUT
  • puts('GIL BUT')
    • 결과 : GIL BUT

운영체제

  • 운영체제란??
    • 시스템의 자원들을 효율적으로 관리하여 사용자가 컴퓨터를 관리하고 효과적으로 사용할 수 잇도록 환경을 제공하는 여러 프로그램들의 모임이다.
    • 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다.
  • 운영체제의 목적
    • 처리능력
      • 일정 시간내의 시스템이 처리하는 양
    • 반환시간
      • 시스템에 작업을 의뢰한 시간부터 처리가 완료될때까지 걸린 시간
    • 사용가능도
      • 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
    • 신뢰도
      • 시스템이 주어진 문제를 정확하게 해결하는 정도
  • 운영체제의 기능
    • 프로세서 , 기억장치, 입출력장치 파일 및 정보등의 자원을 관리한다.
    • 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공한다.
    • 사용자와 시스템 간의 편리한 인터페이스를 제공한다.
    • 시스템의 각종 하드웨어나 네트워크를 관리, 제어한다.
    • 데이터를 관리하고 데이터 및 자원의 공유기능을 제공한다.
    • 시스템의 오류를 검사하고 복구한다.
    • 자원보호기능을 제공한다.
    • 입 출력에 대한 보조 기능을 제공한다.
    • 가상계산기 기능을 제공한다.
  • 운영체제의 주요 자원관리
    • 프로세스 관리
      • 프로세스 스케줄링 및 동기화 관리 담당
      • 프로세스 생성과 제거 , 시작과 정지 , 메시지 전달
    • 기억장치 관리
      • 프로세스에게 메모리 할당 및 회수 관리 담당
    • 주변장치 관리
      • 입 출력장치 스케줄링 및 전반적인 관리 담당
    • 파일관리
      • 파일의 생성과 삭제 , 변경 유지및 관리
  • 운영체제의 종류
    • window
    • UNIX
      • AT&T , 벨연구소가 공동개발한 운영체제
    • LINUX
      • 리누스 토발즈가 개발했고 누구에게나 오픈되어있다.
    • MacOS
      • UNIX기반인 애플 운영체제
    • MS-DOS
      • windows에서 이전에 운영되던 운영체제
      • 나머지는 전부다 다중작업처리 시스템이지만 MS-DOS는 단일작업처리시스템이다.
  • UNIX
    • 시분할 시스템을 위해 설계된 대화식 운영체제
    • 소스가 공개된 개방형 시스템이다.
    • C언어로 작성되어 잇어 이식성이 높으며 프로세스간의 호환성이 높다.
    • 다중사용자, 다중 작업을 지원한다.
    • 많은 네트워킹 기능을 제공하므로 통신망 관리용 운영체제로 적합하다.
    • 트리구조의 파일시스템을 갖는다.
    • 전문적인 프로그램 개발에 용이하다
    • 다양한 유틸리티 프로그램이 존재한다.
  • UNIX 시스템의 구성
    • 하드웨어 -커널 - 쉘- 유틸리티 -사용자
    • 커널
      • UNIX의 가장 핵심적인 부분이다.
      • 컴퓨터가 부팅될때 주기억장치에 상주하면서 실행된다.
      • 하드웨워 보호 , 프로그램과 하드웨어간 인터페이스 역할을 담당한다.
      • 프로세스 관리 , 기억장치관리 , 파일관리, 입출력관리, 프로세스간 통신, 데이터 전송 및 변환
    • 쉘
      • 명령어를 인식, 프로그램 호출, 명령을 수행, 명령어 해석기
      • 시스템과 사용자 간의 인터페이스 담당
      • 주기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체처리가 가능하다
      • 파이프라인 기능 지원, 입출력의 방향변경 가능
      • 공용shell , 사용자자신만의 shell
    • 유틸리티 프로그램
      • 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용한다
      • DOS에서는 외부명령어
      • 에디터 , 컴파일러 , 인터프리터 , 디버거
  • UNIX에서 프로세스 간 통신
    • 시그널
      • 간단한 메시지를 이용하여 통신하는 것으로 초기 유닉스 시스템
    • 파이프
      • 단방향 통신 방식
    • 소켓
      • 프로세스 사이의 대화를 가능하게 하는 쌍방향 통신 방식
  • 기억장치
    • 레지스터 , 캐시기억장치 , 주기억장치 , 보조기억장치
    • 상위의 기억장치 일수록 접근 속도와 접근 시간이 빠르지만 기억용량이 적고 고가이다.
    • 주기억 장치는 자신의 주소를 갖는 워드 혹은 바이트로 구성되어 있으며 주소를 이용하여 엑세스 할 수 있다.
    • 레지스터 , 캐시기억장치 , 주기억장치의 프로그램이나 데이터는 CPU가 직접 액세스 할수 있으나 보조기억 장치에 있는 프로그램이나 데이터는 직접 액세스 할 수 없다. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    • 보조기억 장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 액세스 될 수 있다.
  • 기억장치의 관리 전략 및 개요
    • 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재 시키는 시기, 위치를 지정하여 주기억 장치의 공간을 효율적으로 사용하기 위함이다.
      • 반입전략(언제 주기억장치로 적재할 것이냐?)
        • 요구반입
          • 특정 프로그램이나 데이터의 참조를 동의 할때 적재하는 것이다.
        • 예상반입
          • 참조될 프로그램이나 데이터를 미리 적재하는 방법이다.
      • 배치전략
        • First FIT
        • Best FIT
        • Worst FIT
      • 교체전략
        • 어느 영역을 교체하여 사용할 것인지를 결정하는 전략
  • 가상기억장치의 개요
    • 가상기억장치는 보조기억장치(하드디스크)의 일부를 주기억장치 처럼 사용하는 것이다. 용량이 작은 주기억 장치를 마치 큰용량을 가진 것 처럼 사용하는 기법
    • 프로그램을 여러개의 작은 블록 단위로 나누어서 가상기억장치에 보관해 놓고 프로그램 실행시에는 주기억장치에 불연속적으로 할당하여 처리한다.
    • 주기억장치의 이용률과 다중프로그래밍의 효율을 높힐수있다.
    • 블록단위로 나누어사용하므로 연속할당 방식에서 나타나는 단편화를 해결할수있다.
    • 일반적인 구현 방법에는 페이징 기법과 세그멘테이션 기법으로 나눌수 있다.
  • 페이징 기법
    • 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일하게 나눈다.
    • 나눠진 프로그램(페이지)를 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법이다.
    • 프로그램을 일정하게 나눈 단위 - 페이지
    • 페이지크기로 일정하게 나누어진 주기억장치의 단위 - 페이지 프레임
    • 외부단편화는 일어나지 않으나 내부단편화는 발생한다.
    • 주소변환을 위해서는 맵테이블이 필요하다.
      • 맵테이블의 사용으로 비용이 증가되고 처리속도가 감소한다.
  • 세그멘테이션 기법
    • 가상기억장치에 보관되어 잇는 프로그램을 다양한 크기의 논리적인 단위로 나누어 주기억장치에 적재시켜 실행시키는 기법
    • 프로그램, 배열 ,함수등과 같은 논리적인 크기로 나눈 단위를 세그먼트라고하며 고유한 이름과 크기를 갖는다.
    • 기억장치의 사용자 관점을 보존하는 기억장치 관리기법
    • 이 기법을 사용하는 궁극적인 목표는 기억공간의 절약이다
    • 주소변환을 위해서는 세그먼트 맵 테이블이 필요하다.
    • 세그먼트가 주기억장치에 전재될때 다른 세그먼트에 할당된 영역을 침범할수없으며 이를 위해 기억장치 보호키가 필요하다
    • 내부단편화는 발생하지 않으나 외부단편화는 발생할수잇다.
  • 페이지 교체 알고리즘
    • 페이지 부재가 발생했을때 필요한 페이지를 주기억장치에 적재해야되는데 모든 페이지프레임이 사용중이라면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법이다.
    • OPT
      • 최적교체로써 가장 오랫동안 사용하지 않을 페이지를 교체하는 방법이다. ( 페이지 부재가 횟수가 가장 적게 발생하는 가장효율적인 알고리즘)
    • FIFO
      • 가장 오래 있었던 페이지를 교체하는 기법이다.(쉽고 간단)
    • LRU(least recently used)
      • 가장 오랫동안 사용하지 않은 페이지를 교체하는 방식이다 ( count 나 stack 이용)
    • LFU(least frequently used)
      • 사용빈도가 가장 적은 페이지를 교체하는 기법이다.
    • NUR(not used recently)
      • LRU와 비슷하게 최근에 사용하지 않은 페이지를 교체하는 기법이다.
      • Reference bit 혹은 변형비트(modified bit , dirty bit)가 사용된다.
      • 교체될 순서 (참조비트, 변형비트) (0,0) ->(0,1) ->(1,0) ->(1,1)
    • SCR(2차 기회 교차)
      • 가장 오랫동안 있었던것 중에서 자주쓰이는 것은 교체되지 않게하기위해서이다 FIFO의 단점을 보안한것이다.
  • 가상기억장치를 구현할때 시스템의 성능에 영향을 미치는 페이지크기나 locality 워킹셋,페이지부재빈도 , 프리페이징에 대해서 알아보자
  • 페이지 크기
    • 페이지크기가 작을 경우
      • 페이지 단편화가 감소되고 한개의 페이지가 주기억장치로 이동하는 시간이 줄어든다.
      • 불필요한 내용이 적재될 확률이 적으므로 효율적인 워킹셋이 유지된다.
      • locality에 더 일치 할수있다.
      • 맵테이블의 크기가 커지고 매핑속도가 늦어진다.
      • 디스크 접근횟수가 많아져서 전체적인 입 출력 시간은 늘어난다.
    • 페이지크기가 클 경우
      • 맵테이블의 크기가 작아지고 매핑속도가 빨라진다.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      • 디스크접근횟수가 줄어들어 입출력의 효율성이 증가된다.
      • 페이지 단편화가 증가되고 이동하는 시간이 늘어난다.
      • 불필요한 내용가지 들어갈수있다.
  • Locality
    • 일부페이지만 집중적으로 참조한다는 성질이있다는 것을 활용한다.
    • 스레싱을 방지하기위한 워킹셋의 기본이론
    • 데닝에 의해 증명되고 캐시 메모리 시스템의 이론적 근거
    • 시간구역성 & 공간구역성
      • 시간구역성
        • 하나의 페이지를 일정시간동안 집중적으로 엑세스
        • 한번 참조한 페이지는 가까운 시간 내에 계속 참조할 가능성이 높다.
        • LOOP , stack , 서브루틴, 카운팅 ..
      • 공간역성
        • 프로세스 실행시 일정 위치의 페이지를 집중적으로 엑세스
        • 어느 하나의 페이지를 참조하면 그 근처 페이지를 계속 참조할수있다.
        • 배열순회 , 순차적 코드의 실행, 프로그래머들이 관련된 변수
  • 워킹 셋
    • 프로세스가 일정시간 동안 자주 참조하는 페이지의 집합
    • locality 특징이용
    • 페이지 부재 및 교체현상이 줄어 사용이 안정된다.
  • 프로세스의 정의
    • 프로세스란 프로세서(cpu)에의해 처리되는 사용자프로그램, 시스템프로그램 작업(job), task fkrhgksek.
    • PCB를 가진 프로그램
    • 실기억장치에 저장된 프로그램
    • 프로세서가 할당되는 실체로서 디스패치가 가능한 단위
    • 프로시저가 활동되는것
      • 프로시저랑 부분프로그램을 뜻함
    • 비동기적 행위를 일으키는 주체
    • 지정된 결과를 얻기위한 일련의 계통적 동작
    • 목적 또는 결과에 따라 발생되는 사건들의 과정
    • 운영체제가 관리하는 실행의 단위
  • PCB
    • 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳으로 task control block or job control block이라고 한다.
    • PCB에 저장되어 있는 정보
      • 프로세스의 현재 상태 : 준비,대기,실행 등..
      • 포인터
        • 부모 프로세스에 대한 포인터
        • 자식 프로세스에 대한 포인터
        • 프로세스가 위치한 메모리에 대한 포인터 : 현재 프로세스가 위치한 주소기억
        • 할당된 자원에 대한 포인터
      • 프로스 고유 식별자
        • 프로세스를 구분할 수 있는 고유한 번호
      • 스케줄링 및 프로세스의 우선순위
        • 스케줄링 및 프로세스가 실행될 우선순위
      • CPU레지스터 정보
      • 주기억장치 관리 정보
      • 입출력상태정보
      • 계정정보
  • 프로세스상태전이
    • 제출(submit)
      • 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한다.
  • 접수(hold)
    • 제출된 작업이 스풀공간인 디스크의 할당위치에 저장
    • 준비(ready)
      • 프로세스가 프로세서를 할당받기위해 기다리고 있는 상태
    • 준비상태큐 레디큐에 실행을 준비하고있다.
      • 접수상태에서 준비상태로 가는 것은 job scheduler에 의해서 수행된다.
    • 실행(run)
    • 준비상태큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
      • timeout 이 발생하면 준비(ready)상태로 돌아간다.
    • I/O의 입출력이 필요하면 대기 상태로 전환한다(wait)
      • Ready 에서 run 으로 가기 위해서는 cpu scheduler에 의해서 실행된다.
    • Wait/block
      • 프로세스에 I/o가 발생하면 현재 실행중인 프로세스가 종료되고 입출력 처리가 완료될때까지 대기하고있다
  • terminate(종료)
    • 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태이다
  • dispatch
    • Ready ->run 준비상태에 있는 프로세스중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정이다.
  • wakeup
    • 입 출력 작업이 완료되어 프로세스가 wait 에서 ready상태로 전환되는 과정이다.
  • spooling
    • 입출력 장치의 처리속도를 보안하고 다중프로그래밍 시스템의 성능을 향상시키기위해 입출력 데이터를 직접 입출력장치에 보내지 않고 나중에 한번에 입출력하기위하여 디스크에 저장하는것이다.
  • 교통제어기
    • 프세스의 상태에 대한 조사와 통보를 담당한다.
  • 스레드(thread)
    • 프로세스 내부의 작업단위다.
      • 한개일때는 단일 스레드 여러개일때는 다중스레드라고한다.
      • 일부 특성을 가지고 있기 때문에 경량 프로세스라고한다.
      • 독립적인 스케줄링의 최소단위로서 프로세스의 역할을 담당한다.
    • 사용자수준의 스레드
      • 사용자가 만든 라이브러리를 사용하여 스레드를 운용한다.
      • 속도는 빠르지만 구현이 어렵다.
    • 커널 수준의 스레드
      • 운영체제의 커널에 의해 스레드를 운용한다.
      • 구현이 쉽지만 속도가 느리다.
    • 스레드의 장점
      • 병행성을 증진시킨다.
      • 프그램의 처리율을 향상시킨다.
      • 응답시간을 단축시킨다.
      • 실행환경을 공유하여 기억장소의 낭비가 줄어든다.
      • 프로세스간의 통신이 향상된다.
      • 공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신한다.

인터넷

  • 인터넷이란
    • TCP/IP 프로토콜을 기반으로 전세계 수많은 컴퓨터와 네트워크들이 연결된 광범위 통신망이다.
    • ARPNET에서 시작되었다.
    • 유닉스기반
    • 시간과 장소를 구애받지 않는다.
    • 고유한 IP
    • 브리지 , 라우터 , 게이트웨이가 사용된다.
    • Back bone - 네트워크들중에서 중추적인 역할을 하는것
  • A class
    • 국나 대형 통신망에 사용 (0-127)
  • B class
    • 중대형 통신마야에 사용 (128-191)
  • C class
    • 소규모 통신망에 사용된다. (192 - 223)
  • D class
    • 멀티캐스트 용으로 사용된다.
      • 멀티캐스트란 : 한명이상의 송신자들이 특정한 한명이상의 수신자에게 전송하는것
  • E class
    • 실험용 주소
  • 서브네팅
    • 네트워크 주소를 다시 여러개의 작은 네트워크로 나누어 사용한다.
    • 4byte의 ip주소중에서 네트워크 주소와 호스트 주소를 구분하기위한 비트를 서브넷마스크라고한다.
    • 서브넷 마스크는 각 클래스마다 다르게 사용한다.
  • IPv6
  • ipv4의 주소부족문제를 해결하기위하여
    • 전송속도가 빠르다
  • 인증성, 기밀성, 데이터무결성의 지원으로 보안문제를 해결할수있다.
    • IPv4와 호환성이 뛰어나다
  • 실시간 흐름제어로 향상된 멀티미디어 기능을 지원한다.
    • 품질 보장이 용이하다
  • 유니캐스트

    • 1대1통신
    • 애니캐스트
    • 가장가까이 있는 것과 1대1통신
    • 멀티캐스트
    • 1대다
  • OSI참조모델의 개요
    • 다른시스템간의 원할한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신규약이다.
    • 13은 하위계층 47계층은 상위계층이라고한다.
    • 하위계층
      • 물리계층 ->데이터링크계층->네트워크계층
    • 상위계층
      • 전송계층 ->세션계층->표현계층->응용계층
  • 프로토콜의 데이터단위(PDU)
    • 물리계층 : 비트
    • 데이터링크계층 : 프레임
    • 네트워크 계층 : 패킷
    • 전송계층 : 세그먼트
    • 세션 표현 응용계층 : 메시지
  • 서비스 데이터 단위(SDU)
    • 서비스의 접근점 sap을 통해 상 하위 계층끼리 주고받는 정보의 단위
  • 물리계층
    • 전기적 기계적 절차적특성에 대한 규칙을 정의한다.
    • 물리적 전송매체와 전송신호방식을 정의하 절차적 특성에 대한 규칙을 정의한다.
    • 관련장비 : 리피터, 허브
  • 데이터링크계층
    • 두개의 인접한 개방시스템간의 신뢰성있고 효율적인 정보전송
    • 속도차이를 해결하기위한 흐름제어
    • 시작과 끝을 구분하기위한 프레임의 동기화
    • 오의 검출과 회복을 위한 오류제어기능
    • 프임을 순차적으로하기위한 순서제어
    • 즉 , 흐름제어 , 오류제어 , 순서제어
      • HDLC , LAPB , LLC,MAC,LAPD,PPP
  • 네트워크계층
    • 개방시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계기능
    • 라우터
  • 전송계층
    • 균일한 데이터 전송서비스 , end to end
    • 하위계층과 상위 계층의 인터페이스를 담당한다.
    • TCP/UDP
    • 게이트웨이
  • 세션계층
    • 송,수신간의 관련성을 유지하고 대화 제어를 담당한다.
    • 대화 구성 및 동기 제어, 데이터 교환 관리기능
    • 채크점을 두어서 수신체크 , 체크점을 동기점이라고한다. 소동기점, 대동기점
  • 표현계층
    • 응용계층으로부터 받은 데이터를 세션계층에 보내기위해 적당한 형태로 변환하고 세션계층에서 받은데이터는 응용계층으로 보내기위한 적당한 형식으로 변환한다.
  • 응용계층
    • 사용자가 osi 환경에 접근할수있도록 서비스를 제공한다.
  • TCP/IP
    • 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을수있도록 하는 표준프로토콜이다.
    • TCP
      • osi 7계층의 전송계층
      • 신뢰성있는 연결형 서비스 제공
      • 페킷의 다중화 ,순서제어, 오류제어,흐름제어
      • 스트림 전송 기능제공
    • IP
      • osi 7계층중에 네트워크계층
      • 데이터그램을 기반으로 비연결형서비스제공
      • 페킷의 분해, 조립 , 주소지정, 경로선택기능 제공
    • osi 응용계층, 표현계층, 세션계층 ->tcp/ip의 응용계층
    • osi의 전송계층 ->전송계층
    • osi의 네트워크 계층 ->인터넷계층
    • osi의 데이터링크계층, 물리계층 ->네트워크 엑세스 계층
  • 응용계층의 주요 프로토콜
    • FTP
      • 파일주고받는 프로토콜
    • SMTP
      • 전자우편 주고받는 프로토콜
    • TELNET
      • 원격 , 가상의 터미널
    • SNMP
      • 네트워크 정보를 관리시스템에 보내는 규약
    • DNS
      • ip주소로 매핑
    • HTTP
      • 웹에서 HTML문서를 송수신하기위한 프로토콜
  • 전송 계층의 주요 프로토콜
    • TCP
      • 양방향 연결
      • 가상회선 연결
      • 스트림 위주의 전달
      • 신뢰성 잇는 경로 확립
      • 순서제어 , 오류제어 , 흐름제어
    • UDP
      • 비연결형 서비스
      • 오버헤드가 적다.
      • 빠른 속도를 필요로 하는경우
      • 신뢰성보다는 속도가 중요시 여기는 네트워크
    • RTCP
      • 패킷의 전송품질을 제어하기 위하여
      • 세션에 참여한 참여자들에게 주기적으로 제어정보를 전송한다.
      • 제 패킷의 다중화를 제공한다.
      • 최소한의 제어와 인증기능만을 제공
      • RTCP패킷은 항상 32비트의 경계로 끝난다.
  • 인터넷 계층의 주요 프로토콜
    • IP
      • 전송할 데이터에 주소를 지정하고 경로를 설정하는 기능
      • 데이터 방식을 사용하는 것으로 신뢰성이 보장되지 않는다.
    • ICMP
      • 오류 처리와 전송경로 변경
    • IGMP
      • 호스트나 라우터 사이에서 멀티캐스트 그룹유지를 위해 사용
    • ARP
      • ip주소를 물리적 주소로 변환한다.
    • RARP
      • arp와 반대로 물리적 주소를 ip주소로 변환한다.

​

'[정보처리기사]' 카테고리의 다른 글

[정보처리기사]#5.Chapter5 -A grade  (0) 2020.05.16
[정보처리기사]#3.Chapter3 -A grade  (0) 2020.05.16
[정보처리기사]#2.Chapter2 -A grade  (0) 2020.05.16
[정보처리기사] #1.Chapter1 -A grade  (0) 2020.05.16
    '[정보처리기사]' 카테고리의 다른 글
    • [정보처리기사]#5.Chapter5 -A grade
    • [정보처리기사]#3.Chapter3 -A grade
    • [정보처리기사]#2.Chapter2 -A grade
    • [정보처리기사] #1.Chapter1 -A grade
    자고일어나니코딩왕
    자고일어나니코딩왕
    열코!

    티스토리툴바