728x90

NAT(Network Adderess Translate)는 주소 변환 기술입니다. 하나의 네트워크 주소를 다른 네트워크 주소로 변환하여 라우팅을 원할하게 해줍니다. 1:1로 변환하기도 하지만 1:N로 변환을 하기도 합니다. 1:N으로 변환하는 경우를 NAPT, PAT라고 합니다.

 

공인 IP를 사설 IP로 변환하거나 사설 IP를 공인 IP로 변환 또는 공인 IP를 공인 IP로 변환 등을 통틀어서 NAT라고 합니다. 밀접하게 접할 수 있는 NAT 장비는 공유기가 있습니다. 공유기로 하위 네트워크로 구성되어 있는 망에서 사설 IP를 통해 인터넷에 접속하게 되면 공유기가 공인 IP로 변환하고 다시 외부에서 오는 정보를 다시 사설 IP로 변환해주게 됩니다. 여기서 공인 IP는 인터넷에 접속하기 위해 유일하게 부여하는 IP, 사설 IP는 인터넷에 직접 접속하지 않고 NAT 장비를 통해 변환하여 사용하는 주소를 말합니다.

 

NAT와 같이 네트워크 변환 기술이 필요한 이유는 IPv4의 주소 고갈 문제가 있습니다. 간단히 서브네팅과 같이 부족 문제를 해결해왔지만 장기적으로 가기 위해서는 NAT와 같은 기술을 이용해 한정되어 있는 공인 IP들을 변환하여 사용하게 됩니다. 그리고 이렇게 변환하여 사용하기 때문에 외부로는 사설 IP들을 숨겨줌으로써 내부 IP구조를 공개하지 않게 되어 보안이 한층 더 강화되게 됩니다.

 

NAT는 주소를 변환하고 정확히는 출발지 혹은 도착지의 주소를 변환합니다. 

아래와 같이 PC에서 웹 서버로 접속하려고 하는 상황입니다.

사설 IP 192.168.100.100를 가진 PC가 웹 서버 10.10.10.10에 접속하려면 NAT를 통해 공인 IP로 변환이 되어야 합니다.

NAT를 통해 192.168.100.100은 공인 IP 11.11.11.11로 변환됩니다. 그리고 NAT가 변환한 사설, 공인 IP들은 장비에 저장됩니다.

이제 웹 서버쪽에서 다시 응답을 받기 위해서는 변환된 공인 IP를 다시 사설 IP로 바꿔줘야 PC에 가게 됩니다.

PAT의 동작의 경우에는 IP뿐 아니라 포트 정보까지 변환해주게 됩니다.

 

NAT는 출발지의 주소를 바꾸느냐 도착지의 주소를 바꾸느냐에 따라 SNAT(Source NAT), DNAT(Destination NAT)로 나뉘고 변환할 IP의 정보가 고정되어 있냐 아니냐에 따라 정적 NAT, 동적 NAT로 나뉩니다.

728x90

'Programming > Network' 카테고리의 다른 글

IP 주소, MAC 주소  (0) 2021.08.30
네트워크 연결 및 회선  (0) 2021.07.24
OSI 7 계층  (0) 2021.07.21
열혈 TCP/IP 소켓 프로그래밍 정리(完)  (0) 2021.04.27
열혈 TCP/IP 23-2. IOCP의 단계적 구현  (0) 2021.04.25
728x90

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기

 

시나공 정보처리기사 실기

수험생들의 궁금증을 100% 반영시험에 나올만한 내용만 구성시나공 정보처리기사 실기는 NCS 학습 모듈을 가이드 삼아 자세한 설명과 충분한 예제를 더한 후 교재에 수록된 문제나 이론은 하나도

book.naver.com

2021년 정보처리기사 실기 정리 글입니다. 계속해서 글을 업데이트할 예정이지만 시험 일정에 맞추지 못할 수 있습니다.

정리 글에는 책의 내용을 요약하여 작성하였기 때문에 내용이 부족할 수 있습니다. 부가적인 내용과 출제 예상 문제, 기출 문제를 확인하기 위해 꼭 책을 참고해 주시길 바랍니다.


작성이 안된 과목은 검은 글씨로 작성이 완료된 과목은 파란 글씨로 표시하여 제목을 클릭하시면 해당 글로 이동이 됩니다.

1장. 요구사항 확인

  1. 요구사항 확인 정리(1)
  2. 요구사항 확인 정리(2)
  3. 요구사항 확인 정리(3)

2장. 데이터 입출력 구현

  1. 데이터 입출력 구현 정리(1)
  2. 데이터 입출력 구현 정리(2)
  3. 데이터 입출력 구현 정리(3)
  4. 데이터 입출력 구현 정리(4)

3장. 통합 구현

  1. 통합 구현 정리(1)

4장. 서버 프로그램 구현

  1. 서버 프로그램 구현 정리(1)
  2. 서버 프로그램 구현 정리(2)

5장. 인터페이스 구현

  1. 인터페이스 구현 정리(1)
  2. 인터페이스 구현 정리(2)

6장. 화면 설계

  1. 화면 설계 정리(1)

7장. 애플리케이션 테스트 관리

  1. 애플리케이션 테스트 관리 정리(1)
  2. 애플리케이션 테스트 관리 정리(2)

8장. SQL 응용

  1. SQL 응용 정리(1)
  2. SQL 응용 정리(2)

9장. 소프트웨어 개발 보안 구축

  1. 소프트웨어 개발 보안 구축 정리(1)
  2. 소프트웨어 개발 보안 구축(2)

10장. 프로그래밍 언어 활용
11장. 응용 SW 기초 기술 활용

  1. 응용 SW 기초 기술 활용 정리(1)
  2. 응용 SW 기초 기술 활용 정리(2)
  3. 응용 SW 기초 기술 활용 정리(3)
  4. 응용 SW 기초 기술 활용 정리(4)
  5. 응용 SW 기초 기술 활용 정리(5)

12장. 제품 소프트웨어 패키징

  1. 제품 소프트웨어 패키징 정리(1)

 

728x90
728x90

소프트웨어 패키징

소프트웨어 패키징의 개요

- 실행 파일을 묶어 배포용 설치 파일을 만듦

- 사용자 중심으로 진행

- 모듈화 하여 일반 배포 형태로 패키징

 

패키징 고려사항

- 사용자의 운영체제, CPU, 메모리 등에 필요한 최소 환경 정의

- UI는 시각적인 자료와 함께 매뉴얼과 일치시켜 패키징

- 소프트웨어는 하드웨어와 함께 관리될 수 있도록 Managed Service 형태로 제공

 

패키징 작업 순서

- 배포는 온라인 또는 오프라인으로 배포

 

릴리즈 노트 작성

릴리즈 노트의 개요

- 개발 과정에서 정의된 릴리즈 정보를 고객에게 공유하기 위한 문서

- 테스트 진행 방법에 대한 결과가 소프트웨어 사양에 대한 개발팀의 정확한 준수 여부 파악

- 소프트웨어의 버전 관리 및 릴리즈 정보를 체계적으로 관리

- 소프트웨어 초기 배포, 출시 후 개선 사항을 적용한 추가 배포 시 제공

 

릴리즈 노트 초기 버전 작성 시 고려사항

- 정확하고 완전한 정보를 기반으로 개발팀에서 직접 현재 시제로 작성

- 신규 코드, 빌드 등의 이력이 정확하게 관리되어 변경 또는 개선된 항목에 대한 이력 정보들도 작성

 

릴리즈 노트 추가 버전 작성 시 고려사항

- 테스트 과정에서 베타 버전이 출시되거나 긴급 버그 수정, 업그레이드, 사용자 요청 등의 특수한 상황의 경우 작성

- 긴급 버그 수정 시 수정하는 경우 릴리즈 버전을 출시하고 그 번호를 포함한 모든 내용을 수정된 내용을 담음

- 요구사항에 의해 추가 혹은 수정된 경우 자체 기능 향상과는 다른 별도의 릴리즈 버전으로 출시하고 작성

 

릴리즈 노트 작성 순서

 

디지털 저작권 관리

저작권의 개요

- 창작자가 가지는 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한

- 컴퓨터 프로그램처럼 복제하기 쉬운 저작물에 대해 저작권을 보호하는 방법을 저작권 보호 기술이라 함

 

디지털 저작권 관리(Digital Right Management)의 개요

- 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 생성, 유통, 이용까지 전 과정에 걸쳐 사용되는 디지털 콘텐츠 관리 및 보호 기술

- 크기가 작은 경우 사용자가 콘텐츠를 요청하는 시점에 실시간 패키징 수행

- 크기가 큰 경우 미리 패키징을 수행 후 배포

- 종량제 방식을 적용한 소프트웨어의 경우 서비스의 실제 사용량을 측정하여 이용한 만큼 이용 부과

 

디지털 저작권 관리의 흐름도

- 클리어링 하우스 : 저작권에 대한 사용 권한, 라이선스 발급, 사용량에 따른 결제 관리 등 수행

- 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자

- 패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화는 프로그램

- 콘텐츠 분배자 : 암호화된 콘텐츠를 유통

- 콘텐츠 소비자 : 콘텐츠를 구매해서 사용

- DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제하는 프로그램

- 보안 컨테이너 : 콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안 장치

 

디지털 저작권 관리의 기술 요소

- 암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증

 

소프트웨어 설치 매뉴얼 작성

소프트웨어 설치 매뉴얼의 개요

- 개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 문서

- 설치 시작부터 완료까지의 과정을 순서대로 설명

 

서문

- 문서 이력, 설치 매뉴얼의 주석, 설치 도구의 구성, 설치 환경 체크 항목 기술

- 설치 매뉴얼의 주석 : 주의 사항과 참고 사항 기술

- 설치 환경 체크 항목 : 사용자 환경, 응용 프로그램, 업그레이드 버전, 백업 폴더 확인

 

기본 사항

- 소프트웨어 개요, 설치 관련 파일, 설치 아이콘, 프로그램 삭제, 관련 추가 정보 설명

 

설치 매뉴얼 작성

- 사용자가 설치 과정을 이해하기 쉽게 설치 화면을 누락 없이 캡처하여 순서대로 설명

- 설치 화면 및 UI, 설치 이상 메시지, 설치 완료 및 결과, 설치 시 점검 사항, Network 환경 및 보안, 고객 지원 방법, FAQ, 준수 정보 & 제한 보증에 대해 기술

 

설치 매뉴얼 작성 순서

소프트웨어 사용자 매뉴얼 작성

소프트웨어 사용자 매뉴얼의 개요

- 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 기록한 문서

 

서문

- 문서 이력, 사용자 매뉴얼의 주석, 기록 보관 내용 기술

- 기록 보관 내용 : 소프트웨어를 사용하면서 필요한 기술 지원이나 추가 정보를 얻기 위한 소프트웨어 등록 정보 기술

 

기본 사항

- 소프트웨어 개요, 사용 환경, 관리, 모델 버전별 특징, 기능 및 인터페이스의 특징, 구동 환경 설명

 

사용자 매뉴얼 작성

- 사용자가 사용방법을 이해하기 쉽도록 작성

- 사용자 화면 및 UI, 주요 기능 분류, 응용 프로그램 및 설정, 장치 연동, Network 환경, Profile 안내, 고객 지원 방법, 준수 정보 및 제한 보증에 대해 기술

 

사용자 매뉴얼 작성 순서

 

소프트웨어 버전 등록

소프트웨어 패키징 형상 관리

- 형상관리는 소프트웨어의 변경 사항을 관리하기 위한 활동

 

형상 관리의 중요성

- 지속적으로 변경사항을 체계적으로 관리 및 추적할 수 있음

- 발견된 버그나 수정 사항을 추적

- 무절제한 변경 방지

 

형상 관리 기능

- 형상 식별 : 대상에 이름과 관리 번호를 부여하고 계층 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업

- 버전 제어 : 소프트웨어 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고 특정 절차와 도구를 결합하는 작업

- 형상 통제 : 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선이 잘 반영될 수 있도록 하는 작업

- 형상 감사 : 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업

- 형상 기록 : 형상의 식별, 통제, 감사 작업의 결과를 기록, 관리하고 보고서를 작성하는 작업

 

소프트웨어 버전 등록 관련 주요 용어

- 저장소(Repository) : 형상에 대한 정보들이 저장되어 있는 곳

- 가져오기 : 아무것도 없는 저장소에 처음으로 파일 복사

- 체크아웃 : 저장소에서 소스 파일, 버전 관리를 위한 파일을 받아옴

- 체크인 : 체크아웃으로 받아온 파일을 수정 후 저장소에 새로운 버전으로 갱신

- 커밋 : 체크인 수행 시 이전에 갱신된 내용이 있는 경우 충돌을 알리고 diff 도구를 이용해 수정한 후 갱신

- 동기화 : 저장소에 있는 최신 버전을 동기화

 

소프트웨어 버전 관리 도구

공유 폴더 방식

- 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리

 

클라이언트/서버 방식

- 버전 관리 자료가 서버에 저장되어 관리

- 서버의 자료를 자신의 PC로 복사하여 작업 후 변경 내용을 서버에 반영

- 모든 버전 관리는 서버에서 수행

 

분산 저장소 방식

- 버전 관리 자료가 하나의 원격 저장소와 분산된 PC의 로컬 저장소에 함께 저장되어 관리

- 원격 저장소의 자료를 자신의 로컬 저장소로 복사하여 작업 후 변경 내용을 로컬 저장소에서 버전 관리 후 이를 원격 저장소에 반영

 

Subversion(SVN)

- 아파치 소프트웨어 재단에서 2000년에 발표

- 클라이언트/서버 방식

- 모든 작업은 trunk 디렉토리에서 추가 작업은 branches 디렉토리 안에 별도의 디렉토리를 만들어 작업 후 trunk 디렉토리와 병합

- 커밋 시 커밋의 버전인 리버전이 1씩 증가

- 서버는 주로 유닉스에서 사용

- 명령어

    -> add : 새로운 파일이나 디렉토리를 관리 대상으로 지정

    -> commit : add한 소스파일을 서버의 소스파일에 적용

    -> update : 서버의 최신 commit 이력을 클라이언트 소스에 적용

    -> checkout : 서버에서 버전 관리 정보와 소스 파일을 받아옴

    -> import : 아무것도 없는 서버의 저장소에 맨 처음 소스 파일을 저장

    -> export : 버전 관리 정보 빼고 소스 파일만 서버에서 받아옴

    -> info : 지정된 파일에 대한 정보를 표시

    -> diff : 지정된 파일이나 경로에 대해 이전 리버전과의 차이를 표시

    -> merge : 다른 디렉토리에서 작업된 버전 관리 내역을 기본 개발 작업과 병행

 

Git

- 리누스 토발즈가 2005년에 개발

- 분산 저장소 방식

- 버전 관리가 지역 저장소에서 진행되어 버전 관리가 신속하게 처리되고, 원격 저장소나 네트워크에 문제가 있어도 작업 가능

- 브랜치를 이용하여 기본 버전 관리 틀에 영향을 주지않으면서 다양항 형태의 테스팅 가능

- 파일의 변화를 스냅샷으로 저장하고 이전 스냅샷의 포인터를 가져 버전의 흐름 파악 가능

- 명령어

    -> add : 작업 내역을 스테이징 영역에 추가하여 버전 관리 대상으로 지정

    -> commit : 작업 내역을 지역 저장소에 저장

    -> branch : 새로운 브런치 생성 / 삭제

    -> checkout : 지정한 브런치로 이동

    -> merge : 두 브랜치 병합

    -> init : 지역 저장소 생성

    -> remote add : 원격 저장소에 연결

    -> push : 로컬 저장소의 변경 내용을 원격 저장소에 반영

    -> fetch : 원격 저장소의 변경 이력만 지역 저장소에 반영

    -> clone : 원격 저장소의 전체 내용을 지역 저장소로 복제

    -> fork : 지정한 원격 저장소의 내용을 자신의 원격 저장소로 복제

 

빌드 자동화 도구

빌드 자동화 도구의 개념

- 소스 코드를 컴파일한 후 여러 개의 모듈로 묶어 실행 파일로 만드는 과정을 포함하여 테스트 및 배포를 자동화하는 도구

 

Jenkins

- Java 기반의 오픈소스

- 서블릿 컨테이너에서 실행되는 서버 기반 도구

- 형상 관리 도구와 연동 가능

- Web GUI 제공으로 사용이 쉬움

- 여러 대의 컴퓨터를 이용한 분산 빌드나 테스트 가능

 

Gradle

- Groovy를 기반으로 한 오픈 소스 형태의 자동화 도구

- 안드로이드 앱 개발 환경에 사용

- Java, C/C++, Python 등의 언어도 빌드 가능

- Groovy를 사용해서 만든 DSL을 스크립트 언어로 사용

- 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행

- 이전의 태스크를 재사용하거나 다른 시스템의 태스크를 공유하여 빌드의 속도를 향상시킬 수 있음

실기 정리

 

2021 정보처리기사 실기 정리

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 실기 수험생들의 궁금증을 100% 반영시험에 나올만한 내

1d1cblog.tistory.com

 

728x90
728x90

신기술 관련 용어

네트워크 관련 신기술 용어

- IoT(Internet of Things, 사물인터넷) : 정보 통신 기술을 기반으로 실세계와 가상 세계의 다양한 사물과 사람을 인터넷으로 소로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술

- M2M(Machine to Machine, 사물 통신) : 무선 통신을 이용한 기계와 기계 사이의 통신

- 모바일 컴퓨팅 : 휴대형 기기로 이동하면서 자유롭게 네트워크에 접속하여 업무를 처리할 수 있는 환경

- 클라우딩 컴퓨팅 : 각종 컴퓨터 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 환경

- 모바일 클라우딩 컴퓨팅 : 모바일 컴퓨팅과 클라우딩 컴퓨팅을 혼합하여 클라우드 서비스를 이용하여 모바일 기기로 클라우딩 컴퓨팅 인프라를 구성하여 여러 가지 정보와 자원을 공유하는 ICT 기술

- 인터클라우드 컴퓨팅 : 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술

- 매시 네트워크 : 차세대 이통통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술로 대규모 디바이스의 네트워크 생성에 최적화

- 와이선 : 장거리 무선 통신을 필요로 하는 사물인터넷 서비스를 위한 저전력 장거리 통신 기술

- NDN(Named Data Networking) : 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술

- NGN(Next Generation Network, 차세대 통신망) : 유선망 기반의 차세대 통신망으로 유선망뿐만 아니라 이동 사용자를 목표로 하며 이동 통신에서 제공하는 완전하 이동성 제공을 목표로 개발

- SDN(Software Defined Networking) : 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크

- NFC(Near Field Communication) : 고주파를 이용한 근거리 무선 통신 기술 

- UWB(Ultra WideBand) : 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고도 함

- 피코넷 : 여러 개의 독립된 통신 장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술

- WBAN(Wireless Body Area Network) : 웨어러블 또는 몸에 심는 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술

- GIS(Geographic Information System) : 지리적인 자료를 수집, 저장, 분석, 출력할 수 있는 컴퓨터 응용 시스템으로 위성을 이용해 모든 사물의 위치 정보를 제공해줌

- USN(Ubiquitous Sensor Network) : 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성하는 네트워크

- SON(Self Organizing Network) : 주변 상황에 맞추어 스스로 망을 구성하는 네트워크

- 애드 혹 네트워크 : 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크

- 네트워크 슬라이싱 : 여러 글로벌 이동통신 표준화 단체가 선정한 5G의 핵심기술 중 하나로 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술

- 저전력 블루투스 기술 : 일반 블루투스와 동일한 주파수 대역을 사용하지만 연결되지 않은 상태에서는 절전 모드를 유지하는 기술

- 지능형 초연결망 : 스마트 시티, 스마트 스테이션 등 4차 산업혁명 시대를 맞아 새로운 변화에 따라 급격하게 증가흐는 데이터 트래픽을 효과적으로 수용하기 위해 시행되는 정부 주관 사업

 

SW 관련 신기술 용어

- 인공지능 : 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간 지능적인 작업을 수행하는 시스템

- 뉴럴링크 : 테슬라의 CEO 일론 머스크가 사람의 뇌와 컴퓨터와 결합하는 기술을 개발하기 위해 설립한 회사

- 딥 러닝 : 인간의 두뇌를 모델로 만들어진 인공 신경망을 기반으로 하는 기계 학습 기술

- 전문가 시스템 : 특정 분야의 전문가가 수행하는 고도의 업무를 지원하기 위한 컴퓨터 응용 프로그램

- 증강현실 : 실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술

- 블록체인 : P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장하는 기술

- 분산 원장 기술 : 중앙 관리자나 중앙 데이터 저장소가 존재하지 않고 P2P 망내의 참여자들에게 모든 거래 목록이 분산 저장되어 거래가 발생할 때마다 지속적으로 갱신되는 디지털 원장

- 해시 : 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환

- 양자 암호키 분배 : 양자 통신을 위해 비밀키를 분배하여 관리하는 기술

- 프라이버시 강화 기술 : 개인 정보 위험 관리 기술

- 공통 평가 기준 : ISO 15408 표준으로 채택된 정보 보호 제품 평가 기준

- 개인정보 영향평가 제도 : 개인정보를 활용하는 새로운 정보 시스템의 도입 및 기존 정보시스템의 중요한 변경 시 시스템의 구축, 운영이 기업의 고객은 물론 국민의 사생활에 미칠 영향에 대해 미리 조사, 분석, 평가하는 제도

- 그레이웨어 : 소프트웨어를 제공하는 입장에서는 악의적이지 않은 유용한 소프트웨어 일지라도 사용자 입장에서는 유용할 수도 있고 악의적일 수도 있는 악성 코드나 공유 웨어

- 매시업 : 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스 데이터베이스 등을 만드는 기술

- 리치 인터넷 애플리케이션 : 플래스 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML보다 역동적인 웹페이지를 제공하는 플래시 웹페이지 제작 기술

- 시맨틱 웹 : 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹

- 증발품 : 판매 계획 또는 배포 계획은 발표되었으나 실제로 고객에게는 판매되거나 배포하지 않고 있는 소프트웨어

- 오픈 그리드 서비스 아키텍처 : 애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준

- 서비스 지향 아키텍처 : 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중신으로 구축하는 정보기술 아키텍처

- 서비스형 소프트웨어(SaaS) : 소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어

- 소프트웨어 에스크로 : 소프트웨어 개발자의 지적재산권을 보호하고 사용자는 저렴한 비용으로 소프트웨어를 안정적으로 사용 및 유지보수받을 수 있도록 소스 프로그램과 기술 정보 등을 제3의 기관에 보관하는 것

- 복잡 이벤트 처리 : 실시간으로 발생하는 많은 사건들 중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법

- 디지털 트윈 : 현실속의 사물을 소프트웨어로 가상화한 모델

 

HW 관련 신기술 용어

- 고가용성 : 긴 시간동안 안정적인 서비스 운영을 위해 장애 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘

- 3D 프린팅 : 평면에 출력하는 것이 아닌 얇은 두께로 한층 한층 적재시켜 하나의 형태를 만들어내는 기술

- 4D 프린팅 : 특정 시간이나 환경 조건이 갖추어지면 스스로 형태를 변화시키거나 제조되는 자가 조립 기술이 적용된 제품을 3D 프린팅 하는 기술

- RAID : 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크들에 분산 저장하는 기술

- 앤 스크린 : N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스

- 컴패니언 스크린 : TV 방송 시청 시 방송 내용을 공유하며 추가적인 기능을 수행할 수 있는 디바이스

- 씬(Thin) 클라이언트 PC : 하드디스크나 주변 장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터

- 멤스 : 초정밀 반도체 기술을 바탕으로 센서나 액추에이터 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치

- 패블릿 : 태블릿 기능을 포함한 5인치 이상의 대화면 스마트폰

- 트러스트존 기술 : ARM에서 개발한 하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술

- 엠디스크 : 한 번의 기록만으로도 자료를 영구 보관할 수 있는 광 저장 장치

- 멤리스터 : 메모리와 레지스터의 합성어로 전류의 방향과 양 등 기존의 경험을 모두 기억하는 소자

 

DB 관련 신기술 용어

- 빅데이터 : 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 / 비정형 데이터 집합

- 브로드 데이터 : 다양한 채널에서 소비자와 상호 작용을 통해 생산 되었거나 기업 마케팅에 있어 효율적이고 다양한 데이터, 이전에 사용하지 않거나 몰랐던 새로운 데이터나 기존 데이터에 새로운 가치가 더해진 데이터

- 메타 데이터 : 일련의 데이터를 정의하고 설명해주는 데이터

- 디지털 아카이빙 : 디지털 정보 자원을 장기적으로 보존하기 위한 작업

- 하둡 : 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼

- 타조 : 우리나라가 주도적으로 개발 중인 하둡 기반의 분산 데이터 웨어하우스 프로젝트

- 데이터 다이어트 : 데이터를 삭제하는 것이 아닌 압축하고 중복된 정보를 배제하고 새로운 기분에 따라 나누어 저장하는 작업

실기 정리

 

2021 정보처리기사 실기 정리

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 실기 수험생들의 궁금증을 100% 반영시험에 나올만한 내

1d1cblog.tistory.com

 

728x90
728x90

네트워크 구축

네트워크 설치 구조 

- 정보를 전달하기 위해 통신 규약에 의해 연결한 통신 설비의 집합

 

성형(중앙 집중형)

- 중앙 컴퓨터에 단말 장치들이 연결되는 구조

- Point-to-Point 방식으로 연결

- 중앙 집중식이므로 교환 노드의 수가 가장 적음

- 단말장치가 고장이나도 전체에 영향을 주지 않지만 중앙 장치가 고장이 나면 전체에 영향을 줌

 

링형(루프형)

- 컴퓨터와 단말장치들을 서로 이웃하는 것끼리 Point-to-Point 방식으로 연결

- 데이트는 단방향 또는 양방향으로 전송 가능

- 하나의 단말장치라도 고장이나면 전체에 영향을 줌

 

버스형

- 한 개의 통신 회선에 여러 대의 단말 장치가 연결되어 있는 형태

- 단말장치가 고장이나도 전체에 영향을 주지 않음

 

계층형(분산형)

- 중앙 컴퓨터와 일정 지역의 단말 장치까지는 하나의 회선으로 연결시키고 이웃하는 단말장치는 일정 지역 내 설치된 중간 단말장치로부터 다시 연결

- 분산처리 시스템을 구성하는 방식

 

망형(메쉬형)

- 모든 지점의 컴퓨터와 단말장치를 서로 연결시킨 상태

- 많은 양의 통신을 필요로 하는 경우 사용

- 필요한 포트의 수 = 노드 수 - 1

- 필요한 회선의 수 = 노드 수(노드 수 -1) / 2

포트 수 = 4 / 회선 수 = 5x4/2 = 10

 

네트워크 분류

- 근거리 통신망(LAN)

    -> 비교적 가까운 거리에 있는 노드들을 연결하여 구성

    -> 주로 버스형이나 링형 구조 사용

- 광대역 통신망(WAN)

    -> 국가와 국가, 대륙과 대륙 등 멀리 떨어진 사이트들을 연결하여 구성

    -> 일정 지역은 LAN으로 연결하고 각 LAN을 연결하는 방식을 사용

 

스위치

스위치의 정의

- LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치

 

스위치의 분류

- L2 스위치

    -> OSI 2계층에 속함

    -> 일반적으로 부르는 스위치를 말함

    -> MAC주소를 기반으로 프레임 전송

    -> 동일 네트워크 간 연결만 가능

- L3 스위치

    -> OSI 3계층에 속함

    -> L2 스위치에 라우터 기능이 추가

    -> IP 주소를 기반으로 패킷 전송

    -> 서로 다른 네트워크 연결 가능

- L4 스위치

    -> OSI 4계층에 속함

    -> L3 스위치에 로드밸런서(트래픽 분산 장치) 추가

    -> IP 주소 및 TCP/UDP를 기반으로 사용자들의 요구를 서버의 부하가 적은 곳에 배분하는 로드밸런싱 기능 제공

- L7 스위치

    -> OSI 7계층에 속함

    -> IP 주소, TCP/UDP 포트 ㅈ어보에 패킷 내용까지 참조하여 세밀하게 로드밸런싱함

 

스위칭 방식

- 스위치가 프레임을 전달하는 방식에 따라 나뉨

- Store and Forwarding : 데이터를 모두 받은 후 스위칭

- Cut-through : 데이터의 목적지 주소만 확인 후 바로 스위칭

- Fragment Free : 위의 두 방식의 장점만을 결합한 방식

 

백본 스위치

- 여러 네트워크들을 연결할 때 중추적 역할을 하는 네트워크인 백본에서 스위칭하는 장비

- 모든 패킷이 지나가는 네트워크 중심에 배치

- 주로 L3 스위치가 백본 스위치 역할을 함

 

경로 / 트래픽 제어

경로 제어의 개요

- 전송 경로 중 어느 한 경로에 데이터의 양이 집중되는 것을 피하면서 최저의 비용으로 최단 시간에 송신할 수 있는 경로인 최적 패킷 교환 경로를 결정

- 경로 제어표를 참조해서 라우터에 의해 수행

- 경로 제어 요소 : 성능 기준, 경로의 결정 시간 / 장소, 정보 발생지, 경로 정보의 갱신 시간

 

경로 제어 프로토콜

- 효율적인 경로 제어를 위해 네트워크를 제어하는 프로토콜

- IGP(내부 게이트웨이 프로토콜)

    -> 하나의 자율 시스템(AS) 내의 라우팅에 사용

    -> RIP : 현재 가장 널리 사용되며 소규모 네트워크에서 효율적인 방법

    -> OSPF : 대규모 네트워크에서 많이 사용되는 프로토콜

- EGP(외부 게이트웨이 프로토콜)

    -> 자율 시스템 / 게이트웨이 간 라우팅에 사용되는 프로토콜 

- BGP

    -> 자율 시스템 간의 라우팅 프로토콜

    -> EGP의 단점을 보완하기 위해 만들어짐

    -> 초기 연결 시 라우팅 테이블을 교환하고 이후에는 변화된 정보만을 교환

 

트래픽 제어의 개요

- 네트워크의 보호, 성능 유지, 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름, 양을 조절하는 기능

 

흐름 제어

- 네트워크 내의 원활한 흐름을 위해 송수신 사이 전송되는 패킷의 양이나 속도를 규제

- 송수신간 처리 속도 또는 버퍼 크기의 차이에 의해 생길 수 있는 버퍼 오버플로우를 방지

- 정지-대기 : 수신 측에서 확인 신호를 받아야 다음 패킷을 전송

- 슬라이딩 윈도우

    -> 확인 신호를 이용하여 송신 데이터의 양을 조절

    -> 수신 측의 확인 신호를 받지 않아도 정해진 패킷 수만큼 연속적으로 전송하는 방식

    -> 한 번에 여러 개의 패킷을 전송할 수 있음

 

혼잡 제어

- 네트워크 내의 패킷 수를 조절하여 네트워크의 오버플로우를 방지

 

교착상태 방지

- 교환기 내에 패킷들을 축적하는 기억 공간이 꽉 차있을 때 다음 패킷들을 이 기억 공간에 들어가기 위해 무한정 기다리는 현상을 방지

 

소프트웨어 개발 보안

소프트웨어 개발 보안의 개요

- 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 보안 활동

- 데이터의 기밀성, 무결성, 가용성을 유지하는 것이 목표

 

소프트웨어 개발 보안 관련 기관

- 행정안전부(정책기관), 한국인터넷진흥원(전문기관), 행정기관(발주기관), 사업자(개발기관), 감리법인(보안 약점 진단)

 

소프트웨어 개발 직무별 보안 활동

소프트웨어 개발 직무별 보안 활동

- 프로젝트 관리자 : 보안 전략을 조직 구성원에게 전달하고 모니터링

- 요구사항 분석가 : 아키텍트가 고려해야 할 보안 관련 비즈니스 요구사항을 설명

- 아키텍트 : 보안 오류가 발생하지 않도록 보안 기술 문제를 충분히 이해하고 시스템에 사용되는 모든 리소스 정의 및 보안 요구사항 적용

- 설계자 : 특정 기술에 대해 보안 요구사항의 만족성 여부를 파악하고 소프트웨어에서 발견된 보안 위협에 대해 적절히 대응

- 구현 개발자 : 개발 환경에서 프로그램을 구현할 수 있도록 시큐어 코딩 표준을 준수하여 개발

- 테스트 분석가 : 개발 요구사항과 구현 결과를 반복적으로 확인

- 보안 감시자 : 개발 프로젝트의 전체 단계에서 활동하며 현재 상태와 보안을 보장

 

Secure OS

Secure OS의 개요

- 기존 운영체제에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식한 운영체제

- TCB를 기반으로 참조모니터의 개념을 구현하고 집행

    -> 참조 모니터와 보안 커널의 특징 : 격리성, 검증 가능성, 완전성

- 보호 대상 : 메모리, 보조 기억장치 및 저장된 데이터, 하드웨어 장치, 자료 구조, 명령어, 각종 보호 메커니즘 등

 

Secure OS의 보안 기능

- 식별 및 인증, 임의적 접근통제, 강제적 접근 통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소

 

회복 / 병행제어

회복

- 트랜잭션을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 복구하는 작업

- 장애의 유형 : 트랜잭션 장애, 시스템 장애, 미디어 장애

- 회복 관리기 : 트랜잭션이 실행이 완료되지 못하면 트랜잭션이 데이터베이스에 생성했던 모든 변화를 취소(Undo)시키고 이전의 원래 상태로 복구하는 역할을 담당

 

병행 제어

- 동시에 여러 개의 트랜잭션을 수행할 때 데이터베이스의 일관성을 유지할 수 있도록 트랜잭션 간 상호작용을 제어

- 병행 제어의 목적

    -> 데이터베이스의 공유 및 시스템의 활용도 최대화

    -> 데이터베이스 일관성 유지

    -> 응답 시간 최소화

 

병행 수행의 문제점

- 갱신 분실 : 두 개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 때 갱신 결과의 일부가 없어짐

- 비 완료 의존성 : 하나의 트랜잭션이 실패한 후 회복되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조

- 모순성 : 병행 수행될 때 원치 않는 자료를 이용하여 문제가 발생

- 연쇄 복귀 : 트랜잭션 중 하나에 문제가 생겨 ROLLBACK 하는 경우 다른 트랜잭션도 같이 ROLLBACK 됨

 

데이터 표준화

데이터 표준화의 정의

- 시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 정의

 

데이터 표준

- 데이터 모델이나 데이터베이스에서 정의할 수 있는 모든 오브젝트를 대상으로 수행

- 표준 단어 : 업무에서 사용하는 일정한 의미를 가진 최수 단위의 단어

- 표준 도메인 : 칼럼을 성질에 따라 그룹핑함

- 표준 코드 : 선택할 수 있는 값을 기준에 맞게 이미 정의된 코드값

- 표준 용어 : 표준 단어 / 도메인 / 코드를 바탕으로 표준 용어 구성

 

데이터 표준화 절차

 

데이터 표준화의 대상

- 데이터 명칭 : 데이터를 유일하게 구별, 의미 전달, 업무적 보편성을 갖는 이름을 가져야 함

- 데이터 정의 : 제3자의 입장에서도 쉽게 이해할 수 있도록 데이터가 의미하는 범위와 자격 요건을 규정

- 데이터 형식 : 데이터를 형식을 일관적으로 정의함으로써 데이터 입력 오류 및 통제 위험 등을 최소화

- 데이터 규칙 : 데이터 값을 사전에 지정해 데이터의 정합성 및 완전성 향상

 

데이터 표준화의 기대효과

- 데이터의 의미나 위치를 파악하고 의사소통하기 쉽다

- 데이터 유지보수 및 운용에 있어 여러 이점이 있음

실기 정리

 

2021 정보처리기사 실기 정리

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 실기 수험생들의 궁금증을 100% 반영시험에 나올만한 내

1d1cblog.tistory.com

 

728x90
728x90

스케줄링

스케줄링의 개요

- 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

- 프로세스가 생성되어 완료될 때까지 여러 종류의 스케줄링 과정을 거침

- 그 종류에는 장기, 중기, 단기 스케줄링이 있음

- 문맥 교환

    -> 하나의 프로세스에서 다른 프로세스로 CPU가 할당되는 과정에서 발생되는 것

    -> 새로운 프로세스에 CPU를 할당하기 위해 현재 CPU가 할당된 프로세스의 상태 정보 저장

    -> 새로운 프로세스의 상태 정보를 설정한 후 CPU를 할당하여 실행하도록 하는 작업

 

스케줄링의 목적

- CPU나 자원을 효율적으로 사용하기 위한 정책

- 공정성 : 모든 프로세스에게 공정하게 할당

- 처리율(처리량) 증가 : 단위 시간당 프로세스를 처리하는 비율 혹은 양을 증가

- CPU 이용률 증가 : CPU의 낭비 시간을 줄이고 CPU가 순수 프로세스를 실행하는 데 사용되는 시간 비율 증가

- 우선순위 제도 : 우선순위가 높은 프로세스를 먼저 실행

- 오버헤드 최소화 : 어떤 처리를 하기 위해 들어가는 간접적인 처리시간이나 메모리를 최소화

- 응답 시간 최소화 : 작업을 지시하고 반응하기 시작하는 시간을 최소화

- 반환 시간 최소화 : 프로세스를 제출한 시간부터 실행이 완료될 때까지 걸리는 시간 최소화

- 대기 시간 최소화 : 프로세스가 준비상태 큐에서 대기하는 시간 최소화

- 균형 있는 자원의 사용

- 무한 연기 회피

 

프로세스 스케줄링의 기법

- 비선점 스케줄링

    -> 강제 종료 불가능

    -> 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없음

    -> 프로세스가 CPU를 할당받으면 완료될 때 까지 사용

    -> 프로세스 응답 시간 예측이 용이

    -> 일괄 처리 방식에 적합

    -> 중요한(짧은) 작업이 중요하지 않은(긴) 작업을 기다리는 경우가 발생할 수 있음

    -> FCFS, SJF, 우선순위, HRN, 기한부 등의 알고리즘

- 선점 알고리즘

    -> 강제 종료 가능

    -> 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있음

    -> 우선순위가 높은 프로세스를 빠르게 처리할 수 있음

    -> 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 사용

    -> 많은 오버헤드를 초래함

    -> 선점이 가능하도록 일정 시간 배당에 대한 인터럽트용 타이머 클록이 필요

    -> Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등의 알고리즘

 

환경변수

환경변수의 개요

- 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임

 

Windows 환경 변수

- Windows에서 환경 변수를 명령어나 스크립트에서 사용하기 위해서는 변수명 앞뒤에 %를 붙여야 함

 

UNIX / LINUX 환경 변수

- UNIX나 LINUX에서 환경 변수를 사용하기 위해서는 변수명 앞에 $를 붙여야 함

 

운영체제 기본 명령어

운영체제 기본 명령어의 개요

- CLI(Command Line Interface) : 키보드로 명령어를 입력하여 작업을 수행하는 인터페이스

- GUI(Graphic User Interface) : 마우스로 아이콘이나 메뉴를 선택하여 작업을 수행하는 인터페이스

 

Windows & UNIX / LINUX 기본 명령어

인터넷

인터넷의 개요

TCP/IP 프로토콜을 기반으로 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망

- 미 국방성의 ARPANET에서 시작

- 유닉스 운영체제를 기반으로 함

- 인터넷에 연결된 컴퓨터는 고유한 IP 주소를 가짐

- 인터넷을 구성하기 위해서는 브리지, 라우터, 게이트웨이가 사용됨

- 백본 : 네트워크를 연결하여 중추적 역할을 하는 네트워크로 인터넷의 주가 되는 기간망을 일컫는 용어

 

IP주소(Internet Protocol Address)

- 인터넷에 연결된 컴퓨터를 구분하기 위한 고유한 주소

- 8비트 씩 4부분으로 구성됨(IPv4)

데이터 통신과 네트워킹 5판, 18강 강의자료

서브네팅

- 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용

- IPv4의 주소 부족 문제를 해결하기 위한 방법

- 서브넷 마스크 : 네트워크 주소와 호스트 주소를 구분하기 위한 비트

 

IPv6

- IPv4의 주소 부족 문제를 해결하기 위해 개발됨

- 128비트의 긴 주소를 사용하여 주소 부족 문제를 해결할 수 있고, 자료 전송 속도가 빠름

- 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제 해결 가능

    -> 인증성 : 사용자의 식별과 접근 권한 검증

    -> 기밀성 : 시스템 내의 정보와 자료는 인가된 사용자에게만 접근 허용

    -> 무결성 : 시스템 내의 정보는 인가된 사용자만 수정 가능

- Traffic Class, Flow Label을 이용하여 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장이 용이

    -> Traffic Class : IPv6 패킷의 클래스나 우선순위를 나타내는 필드

    -> Flow Label : 네트워크 상에서 패킷들의 흐름에 대한 특성을 나타내는 필드

- 주소 체계

    -> 유니캐스트 : 1:1 통신

    -> 멀티캐스트 : 1:N 통신

    -> 애니캐스트 : 1:1 통신, 유니캐스트와 다르게 송신자와 가장 가까이 있는 수신자 간의 통신

참고용) IPv6 데이터그램

도메인 네임

- IP 주소 사람이 이해하기 쉬운 문자 형태로 표현한 것

ex) http://210.89.164.90/(IP주소) -> www.naver.com (도메인 네임

- 도메인 네임의 구성

- 도메인 네임을 IP 주소로 변환하는 역할을 하는 시스템을 DNS라고 하며 이런 역할을 하는 서버를 DNS 서버라고 함

 

OSI 참조 모델

OSI(Open System Interconnetion) 참조 모델의 개요

- 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(프로토콜)

출처 : http://www.a24s.com/data/jeongbotongsinhakseub/jbts/contents/ch2-4.htm

- Application / Presentation / Session / Transport / Network / Datalink / Physical => 아파서티난다 피

 

OSI 모델의 계층

- 물리 계층

    -> 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의

    -> 물리적 전송 매체와 신호 방식을 정의

    -> RS-232C, X.21 등의 표준

    -> 관련 장비 : 리피터, 허브

    -> 데이터 단위 : 비트

- 데이터 링크 계층

    -> 두 개의 인접 개방 시스템들 간의 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 함

    -> 주요 기능 : 흐름 제어, 프레임 동기화, 오류 제어, 순서 제어

    -> HDLC, LAPB, LLC, MAC, LAPD, PPP 등의 표준

    -> 관련 장비 : 브리지

    -> 데이터 단위 : 프레임

- 네트워크 계층

    -> 개방 시스템들 간의 네트워크 연결을 관리하고 데이터의 교환 및 중계 기능

    -> 네트워크 연결 설정, 유지, 해제

    -> 경로 설정, 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송 수행

    -> X.25, IP 등의 표준

    -> 관련 장비 : 라우터

    -> 데이터 단위 : 패킷

- 전송 계층

    -> 논리적 안정과 균일한 데이터 전송 서비스를 제공

    -> 종단 시스템 간의 투명한 데이터 전송을 가능하게 함

    -> 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능

    -> 주소 설정, 다중화, 오류 제어, 흐름 제어

    -> TCP, UDP 등의 표준

    -> 관련 장비 : 게이트웨이

    -> 데이터 단위 : 세그먼트

- 세션 계층

    -> 송수신 측 간의 관련성을 유지하고 대화 제어를 담당

    -> 동기점 : 송수신 측간의 대화 동기를 위해 전송하는 정보를 일정한 부분에 두어 정보의 수신 상태를 체크하는 포인트

    -> 데이터 단위 : 메시지

 - 표현 계층

    -> 데이터를 응용 계층, 세션 계층에 보내기 전에 계층에 맞게 변환

    -> 서로 다른 데이터 표현 형태를 갖는 시스템 간 상호 접속을 위해 필요한 계층

    -> 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥 관리 기능

    -> 데이터 단위 : 메시지

- 응용 계층

    -> 사용자가 OSI 환경에 접속할 수 있도록 서비스 제공

    -> 프로세스 간의 정보 교환, 전자 사서함, 가상 터미널 등의 서비스 제공

 

네트워크 관련 장비

네트워크 인터페이스 카드(Network Interface Card)

- 컴퓨터를 연결하는 장치로 정보 전송 시 정보가 케이블을 통해 전송될 수 있도록 정보 형태를 변경

- 이더넷 카드 혹은 네트워크 어댑터라고도 함

 

허브(hub)

- 가까운 거리의 컴퓨터를 연결하는 장치

- 각 회선을 통합적으로 관리하며 신호 증폭 기능을 하는 리피터의 역할도 포함

- 더미 허브

    -> 네트워크에 흐르는 모든 데이터를 단순히 연결만 함

    -> LAN이 보유한 대역폭을 나누어 제공

- 스위칭 허브

    -> 네트워크상에 흐르는 데이터의 유무 및 흐름을 제어하여 각각의 노드가 허브의 최대 대역폭을 사용할 수 있는 지능형 허브

 

리피터(Repeater)

- 전송되는 신호가 원래의 형태와 다르게 왜곡되거나 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할

- 근접한 네트워크 사이에 신호를 전송

- 전송 거리의 연장 또는 배선의 자유도를 높이는 용도

 

브리지(Bridge)

- LAN과 LAN을 연결하거나 LAN안에서 컴퓨터 그룹을 연결

- 데이터 링크 계층 중 MAC 계층에서 사용되므로 MAC 브리지라고도 함

 

스위치(Switch)

- LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치

- 포트마다 각기 다른 전송속도를 지원하도록 제어할 수 있음

- 수십 ~ 수백 개의 포트를 지원

 

라우터(Router)

- LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능을 추가

- 서로 다른 LAN이나 LAN과 WAN의 연결도 수행

- 접속 가능한 경로에 대한 정보를 Routing Table에 저장하여 보관

 

게이트웨이(Gateway)

- 전 계층의 프로토콜 구조가 다른 네트워크의 연결을 수행

- LAN에서 다른 네트워크에 데이터를 송수신하는 출입구 역할을 함

 

프로토콜의 개념

프로토콜의 정의

- 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약

 

프로토콜의 기본 요소

- 구문 : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정

- 의미 : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정

- 시간 : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정

 

프로토콜의 기능

- 단편화와 재결합

    -> 단편화 : 송신 측에서 전송할 데이터를 전송에 알맞은 작은 크기의 블록으로 자르는 작업

    -> 재결합 : 수신 측에서 수신한 단편화된 데이터를 다시 모으는 작업

- 캡슐화

    -> 단편화 된 데이터에 주소, 오류 검출 코드, 프로토콜 제어 정보를 부가하는 것

- 흐름 제어

    -> 수신 측에서 송신 측의 데이터 전송 속도나 전송 량을 제어할 수 있는 기능

    -> 정지-대기 방식이나 슬라이딩 윈도우 방식을 이용

- 오류 제어

    -> 전송 중에 발생하는 오류를 검출하고 정정하여 데이터나 제어 정보의 파손에 대비하는 기능

- 동기화

    -> 송수신 측이 같은 상태를 유지하도록 타이밍을 맞추는 기능

- 순서 제어

    -> 전송되는 데이터 블록에 전송 순서를 부여하여 연결 위주의 데이터 전송 방식에 사용

    -> 흐름 제어 및 오류 제어를 용이하게 함

- 주소 지정

    -> 데이터가 목적지까지 정확하게 전송될 수 있도록 목적지 이름, 주소, 경로를 부여하는 기능

- 다중화

    -> 한 개의 통신 회선을 여러 가입자들이 동시에 사용하도록 하는 기능

- 경로 제어

    -> 송수신 측간의 송신 경로 중에서 최적의 패킷 교환 경로를 설정하는 기능

- 전송 서비스

    -> 전송하려는 데이터가 사용하도록 하는 별도의 부가 서비스

 

TCP/IP

TCP/IP의 개요

- 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜

- 1960년대 말 ARPA에서 개발하여 ARPANET에서 사용하기 시작

- UNIX의 기본 프로토콜로 사용되었다가 현재는 인터넷 범용 프로토콜로 사용

- TCP(Transmission Control Protocol)과 IP(Internet Protocol)이 결합

 

TCP/IP의 구조

응용 계층의 주요 프로토콜

- FTP : 원격 파일 전송 프로토콜

- SMTP : 전자 우편 교환 서비스

- TELNET :

    -> 원격 접속 서비스

    -> 가상 터미널 기능 수행

- SNMP :

    -> TCP/IP의 관리 프로토콜                                                                                                          

    -> 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는 데 사용되는 프로토콜

- DNS : 도메인 네임을 IP주소로 매핑하는 시스템

- HTTP : WWW에서 HTML을 송수신하기 위한 표준 프로토콜

 

전송 계층의 주요 프로토콜

- TCP

    -> 양방향 연결형 서비스 제공

    -> 가상 회선 연결 형태의 서비스 제공

    -> 순서 제어, 오류 제어, 흐름 제어 기능을 함

    -> 스트림 위주의 패킷 단위 전달

- UDP

    -> 비연결형 서비스 제공

    -> 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용

- RTCP

    -> 패킷의 전송 품질을 제어하기 위한 제어 프로토콜

    -> 세션에 참여한 각 참여자들에게 주기적으로 제어 정보를 전송

    -> 데이터 전송을 모니터링하고 최소한의 제어와 인증 기능만을 제공

    -> 패킷은 항상 32비트의 경계로 끝남

 

인터넷 계층의 주요 프로토콜

- IP : 전송할 데이터에 주소를 지정하고 경로를 설정

- ICMP

    -> IP와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리

    -> 헤더는 8Byte로 구성

- IGMP : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용

- ARP : IP 주소를 MAC Address로 변환 (논리 주소 → 물리 주소)

- RARP : ARP의 반대로 MAC Address를 IP 주소로 변환 (물리 주소 → 논리 주소)

 

네트워크 액세스 계층의 주요 프로토콜

- IEEE 802 : LAN을 위한 표준 프로토콜

    -> IEEE 802.3(Ethernet) : CSMA/CD 방식의 LAN

    -> IEEE 802.4 : 토큰 박스

    -> IEEE 802.5 : 토큰링

    -> IEEE 802.11 : 무선 LAN

- HDLC : 비트 위주의 데이터 링크 제어 프로토콜

- X.25 : 패킷 교환망을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜

    -> DTE(신호 단말 장치), DCE(신호 통신 장비)

- RS-232C : 공중전화 교환망을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜

 

실기 정리

 

2021 정보처리기사 실기 정리

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 실기 수험생들의 궁금증을 100% 반영시험에 나올만한 내

1d1cblog.tistory.com

 

728x90
728x90

가상 기억장치 구현 기법 / 페이지 교체 알고리즘

가상 기억장치의 개요

- 보조기억장치의 일부를 주기억장치처럼 사용하는 것

- 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용할 수 있음

- 프로그램을 여러 작은 블록 단위로 나누어서 가상 기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리

- 주기억장치의 이용률과 다중 프로그래밍의 효율 상승

- 가상기억장치에 저장된 프로그램을 실행하려면 가상 기억장치의 주소를 주기억장치의 주소로 바꾸는 주소 변환(Mapping) 작업이 필요

- 연속 할당 방식에서 발생할 수 있는 단편화를 해결할 수 있음

 

페이징 기법

- 가상기억장치의 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법

- 프로그램을 일정한 크기로 나눈 크기를 페이지라 하고 페이지 크기로 일정하게 나누어진 주기억장치의 단위를 페이지 프레임이라고 함

- 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음

- Mapping 작업을 위해서 페이지 맵 테이블이 필요함

 

세그먼트 기법

- 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법

- 프로그램을 논리적인 크기로 나눈 단위를 세그먼트라고 함

- 내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있음

- Mapping 작업을 위해서 세그먼트 맵 테이블이 필요함

- 세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침범할 수 없으며 이를 위해 기억장치 보호키가 필요

가상 메모리

- 고정크기 분할 : 페이지

- 가변크기 분할 : 세그먼트

ex) 5명이 펜션에 놀러갈 때 

- 페이지 : 고정된 크기인 2인실 방을 3개를 주면 1명의 자리가 남게 됨 -> 내부 단편화 발생

- 세그먼트 : 5인실 방을 만들어서 주면 6명의 인원이 놀러올 때 모두가 못 들어가게 됨 -> 외부 단편화 발생

가상 메모리
- 고정크기 분할 : 페이지
- 가변크기 분할 : 세그먼트
ex) 5명이 펜션에 놀러갈 때 
- 페이지 : 고정된 크기인 2인실 방을 3개를 주면 1명의 자리가 남게 됨 -> 내부 단편화 발생
- 세그먼트 : 5인실 방을 만들어서 주면 6명의 인원이 놀러올 때 모두가 못 들어가게 됨 -> 외부 단편화 발생

페이지 교체 알고리즘

- 페이지 부재가 발생했을 때 가상 기억장치의 필요한 페이지를 주기억장치에 적재해야 하는데 이럴 경우 주기억장치의 모든 페이지 프레임이 사용 중이면 어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 기법

- OPT(OPTimal replacement, 최적 교체)

    -> 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체(예상)

- FIFO(First In First Out)

    -> 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 오래 있었던 페이지를 교체

    -> 먼저 들어온 것이 먼저 나감

- LRU(Least Recently Used)

    -> 최근에 가장 오랫동안 사용하지 않은 페이지를 교체

    -> 페이지마다 Counter나 Stack을 두어 현시점에서 가장 오래전에 사용된 페이지 교체

- LFU(Least Frequently Used)

    -> 사용 빈도가 가장 적은 페이지를 교체

- NUR(Not Used Frequency)

    -> 최근에 사용하지 않은 페이지를 교체

    -> 최근 사용 여부를 확인하기 위해 페이지마다 참조 비트와 변형 비트를 사용

    -> 교체 우선순위

 

가상 기억장치 기타 관리 사항

페이지 크기에 따른 특징

- 페이지 크기가 작을 경우

    -> 단편화와 주기억장치로 이동하는 시간 감소

    -> 불필요한 내용이 적재될 확률이 낮아 워킹 셋이 효율적으로 유지

    -> Locality에 더욱 일치하여 기억장치에 효율 상승

    -> 페이지 맵 테이블 크기가 커지므로 매핑 속도가 늦어짐

    -> 디스크 접근 횟수가 많아져 전체적인 입출력 시간이 늘어남

- 페이지 크기가 클 경우

    -> 단편화와 주기억장치로 이동하는 시간이 증가

    -> 프로세스 수행에 불필요한 내용까지 적재될 수 있음

    -> 페이지 맵 테이블 크기가 작아지므로 매핑 속도가 빨라짐

    -> 디스크 접근 횟수가 줄어들어 전체적인 입출력 시간이 줄어듦

 

Locality

- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론

- 스래싱을 방지하기 위한 워킹 셋 이론의 기반

- 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법

- 시간 구역성

    -> 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스 하는 현상

    -> 시간 구역성이 이루어지는 기억 장소 : 반복, 스택, 부프로그램, 1씩 증감, 집계에 사용되는 변수

- 공간 구역성

    -> 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상

    -> 공간 구역성이 이루어지는 기억 장소 : 배열 순회, 순차적 코드의 실행, 프로그래머들이 관련된 변수들을 서로 근처에 선언하여 할당되는 기억 장소

 

워킹 셋

- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합

- 자주 참조되는 워킹 셋을 주기억장치에 상주시켜 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정됨

- 워킹 셋은 시간에 따라 변화

 

페이지 부재 빈도 방식

- 페이지 부재 빈도는 페이지 부재가 일어나는 횟수

- 페이지 부재율에 따라 주기억장치에 있는 페이지 프레임 수를 조정하여 적정 수준으로 유지하는 방식

- 운영체제는 프로세스 실행 초기에 임의의 페이지 프레임 할당 후 페이지 부재율에 따라 프레임을 할당하거나 회수

 

프리 페이징

- 처음의 과도한 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재하는 기법

 

스래싱

- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

- 다중 프로그래밍 시스템이나 가상 기억장치를 사용하는 시스템에서 하나의 프로세스 수행 중 자주 페이지 부재가 발생하면서 나타나는 현상

- 전체 프로세스 선응이 저하됨

- 다중 프로그래밍의 정도가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지는 높아지지만 다중 프로그래밍의 정도가 더욱 커지면 스래싱이 나타나고 CPU의 이용률은 급격히 감소됨

- 스래싱 현상 방지 방법

    -> 다중 프로그래밍의 정도를 적정 수준으로 유지

    -> 페이지 부재 빈도를 조절하여 사용

    -> 워킹 셋 유지

    -> 부족한 자원 증설, 일부 프로세스 중단

    -> CPU 성능에 대한 자료의 지속적 관리 및 분석으로 임계치를 예상하여 운영

 

프로세스의 개요

프로세스의 정의

- 프로세서에 의해 처리되는 사용자 프로그램이나 시스템 프로그램을 의미

- 실행 중인 프로그램을 의미하며 작업 혹은 태스크라고도 함

- 프로세스의 또 다른 형태

    -> PCB를 가진 프로그램

    -> 실기억 장치에 저장된 프로그램

    -> 디스패치가 가능한 단위

    -> 프로시저(부 프로그램)가 활동 중인 것

    -> 비동기적 행위(다수의 프로세스가 서로 독립적으로 실행)를 일으키는 주체

    -> 지정된 결과를 얻기 위한 일련의 계통적 동작

    -> 목적 또는 결과에 따라 발생되는 사건들의 과정

    -> 운영체제가 관리하는 실행 단위

 

PCB(Process Control Block)

- 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳

- 프로세스가 생성될 때마다 고유의 PCB를 생성하고 프로세스 완료 시 제거됨

- PCB에 저장되는 정보

    -> 프로세스 현재 상태

    -> 포인터

    -> 프로세스 고유 식별자

    -> 스케줄링 및 프로세스의 우선순위

    -> CPU 레지스터 정보

    -> 주기억장치 관리 정보

    -> 입출력 상태 정보

    -> 계정 정보

 

프로세스 상태 전이

- 제출 : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태

- 접수 : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장한 상태

- 준비

    -> 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태

    -> 프로세스는 준비상태 큐에서 실행 준비

    -> Job 스케줄러에 의해 수행

- 실행

    -> 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태

    -> 프로세스 수행이 완료되기 전에 프로세스에게 주어진 할당 시간이 종료되면 프로세스는 준비 상태로 전이

    ->실행 중인 프로세스에 입출력 처리가 필요하면 실행중인 프로세스는 대기상태로 전이

    -> CPU 프로세스에 의해 수행

- 대기 : 프로세스에 입출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태

- 종료 : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

 

프로세스 상태 전이 관련 용어

- Dispatch : 준비 상태에 대기하고 있는 프로세스 중 하나가 프로세스를 할당받아 실행 상태로 전이되는 과정

- Wake up : 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정

- Spooling : 입출력 장치의 공유 및 상대적으로 느린 입출력장치의 처리 속도를 보완하기 위해 입출력할 데이터를 직접 장치에 보내지 않고 나중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정

- 교통량 제어기 : 프로세스의 상태에 대한 조사와 통보를 담당

 

스레드(Thread)

- 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로세스 단위

- 프로세스의 일부 특성을 가지고 있어 경량 프로세스라고도 함

- 동일 프로세스 환경에서 독립적인 다중 수행 가능

- 스레드의 분류

    -> 사용자 수준의 스레드 : 사용자가 만든 라이브러리를 사용하여 운용하기 때문에 속도는 빠르지만 구현이 어려움

    -> 커널 수준의 스레드 : 운영체제의 커널에 의해 스레드를 운영하기 때문에 속도는 느리지만 구현이 쉬움

- 스레드 사용의 장점

    -> 하나의 프로세스를 여러 개의 스레드로 생성하여 병행성을 증진할 수 있음

    -> H/W, O/S의 성능과 응용 프로그램의 처리율을 향상시킬 수 있음

    -> 응용프로그램의 응답 시간을 단축시킬 수 있음

    -> 프로세스들 간의 통신이 향상

    -> 공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신

실기 정리

 

2021 정보처리기사 실기 정리

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 실기 수험생들의 궁금증을 100% 반영시험에 나올만한 내

1d1cblog.tistory.com

 

728x90
728x90

운영체제의 개념

운영체제의 정의

- 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임

운영체제의 목적

- 처리 능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등

- 운영체제의 성능을 평가하는 기준

    -> 처리능력 : 일정 시간 내에 시스템이 처리하는 일의 양

    -> 반환 시간(≒응답 시간) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸리는 시간

    -> 사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도

    -> 신뢰도 : 주어진 문제를 정확하게 해결하는 정도

 

운영체제의 기능

- 프로세서(처리기 / Processor / CPU), 기억장치(주기억, 보조기억), 입 출력 장치, 파일 및 정보 등의 자원 관리

- 자원을 효율적으로 관리하기 위해 스케쥴링 기능 제공

- 사용자와 시스템 간 편리한 인터페이스 제공

- 각종 하드웨어와 네트워크를 관리 제어

- 데이터 관리, 데이터 및 자원의 공유 기능 제공

- 시스템의 오류 검사 및 복구

- 자원 보호 기능 제공

- 입 출력에 대한 보조 기능 제공

- 가상 계산기 기능 제공

 

운영체제의 주요 자원 관리

- 프로세스 관리 : 프로세스 스케쥴링 및 동기화 관리

- 기억장치 관리 : 프로세스에게 메모리 할당 및 회수 관리

- 주변장치 관리 : 입 출력장치 스케쥴링 및 전반적인 관리

- 파일 관리 : 파일의 생성과 삭제, 변경, 유지 등의 관리

 

운영체제의 종류

- Windows, UNIX, LINUX, MacOS, MS-DOS 등

 

Windows

Windows의 개요

- 마이크로소프트에서 개발한 운영체제

 

Windows 시스템의 특징

- 그래픽 사용자 인터페이스(GUI, Graphci User Interface) : 키보드로 명령어를 수행하지 않고 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행

- 선점형 멀티태스킹 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환

- Pnp(Plug and Play) : 하드웨어를 설치할 때 해당 하드웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 기능

- OLE(Object Linking and Embedding) : 다른 응용 프로그램에서 작성된 문자나 그림 등의 개체 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있는 기능

- Single User 시스템 : 컴퓨터 한대를 한 사람이 독점 사용

 

UNIX / LINUX / MacOS

UNIX의 개요 및 특징

- 1960년대 AT&T 벨(Bell) 연구소, MIT, General Electric이 공동 개발한 운영체제

- 시분할 시스템을 위해 설계된 대화식 운영체제

- 소스코드가 개방형 시스템로 구성되어 있음

- 대부분 C언어로 작성되어 이식성이 높으며 장치, 프로세스 간 호환성이 높음

- 다중 사용자(Multi-User) 및 다중 작업(Multi-Tasking)을 지원

- 트리 구조의 파일 시스템을 가짐

 

UNIX 시스템의 구성

- 커널(Kernel)

    -> 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됨

    -> 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 담당

    -> 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러 가지 기능 수행

- 쉘(Shell)

    -> 명령어를 인식하여 수행하는 명령어 해석기

    -> 시스템과 사용자 간의 인터페이스 담당

    -> DOS의 COMMAND.COM과 같은 기능 수행

    -> 주기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 존재

    -> 보조기억장치에서 교체 처리 가능

    -> 파이프라인 기능 지원

    -> 파이프라인 : 둘 이상의 명령을 함께 묶어 처리한 결과를 다른 명령의 입력으로 전환하는 기능

    -> 입출력 재지정을 통해 입력과 출력의 방향을 변경할 수 있음

    -> 공용 Shell이나 사용자가 만들 Shell을 사용할 수 있음

- 유틸리티(Utility Program)

    -> 사용자가 작성한 외부 프로그램을 처리

    -> DOS에서의 외부 명령어에 해당

    -> 에디터, 컴파일러, 인터프리터, 디버거 등

 

LINUX의 개요 및 특징

- 1991년 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제

- 프로그램 소스 코드가 무료로 공개되어 있어 사용자가 원하는 기능을 추할 수 있고 다양한 플랫폼에 설치하여 사용이 가능하여 재배포가 가능

- UNIX와 완벽하게 호환

- 대부분의 특징이 UNIX와 동일

 

MacOS의 개요 및 특징

- 1980년대 애플사가 UNIX를 기반으로 개발한 운영체제

- 애플사에서 생산하는 제품에서만 사용 가능

- 드라이버 설치 및 install / uninstall 과정이 단순

 

저장장치 관리의 개요

저장장치 계층 구조의 특징

- 주기억장치는 각기 자신의 주소를 가지는 워드 또는 바이트들로 구성되어 주소를 이용하여 접근

- 보조기억장치에 있는 프로그램이나 데이터는 CPU가 직접 액세스 할 수 없음

- 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 액세스

기억장치의 관리 전략의 개요

- 3치 : Fetch(반입), 배치(Placement), 재배치(Replacement) 전략

 

반입(Fetch) 전략

- 보조기억장치에 보관중인 데이터를 언제 주기억장치에 적재할 것인지를 결정하는 전략

- 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재

- 예상 반입 : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재

 

배치(Placement) 전략

- 새로 반입되는 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략

- 최초 적합(First Fit) : 배치가 가능한 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치

- 최적 적합(Best Fit) : 배치가 가능한 크기의 빈 영역 중에서 단편화를 가장 적게 남기는 분할 영역에 배치

- 최악 적합(Worst Fit) : 배치가 가능한 크기의 빈 영역중에서 단편화를 가장 많이 남기는 분할 영역에 배치

- 단편화

    -> 내부 단편화 : 배치 후 남은 공간

    -> 외부 단편화 : 배치를 못해 빈 공간으로 남아있는 공간

재배치(Replacement) 전략

- 주기억장치의 모든 영역이 이미 사용중인사용 중인 상태에서 새로운 프로그램이나 데이터가 배치하려고 할 때, 이미 사용 중인 영역에서 어느 영역을 교체할 것인지를 결정하는 전략

- FIFO, OPT, LRU, LFU, NUR, SCR 등

 

주기억장치 할당 기법

주기억장치 할당의 개념

- 프로그램이나 데이터를 실행시키기 위해 주기억장치에 어떻게 할당할 것인지에 대한 내용

- 연속 할당 기법

    -> 프로그램을 주 기억장치에 연속으로 할당하는 기법

    -> 단일 분할 할당 기법 : 오버레이, 스와핑

    -> 다중 분할 기법 : 고정 분할 할당 기법, 동적 분할 할당 기법

- 분산 할당 기법

    -> 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법

    -> 페이징 기법, 세그먼테이션 기법

 

단일 분할 할당 기법

- 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법

- 오버레이 기법

    -> 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법

    -> 보조기억장치에 저장된 하나의 프로그램을 여러개의 조각으로 분할한 후 필요한 조각을 차례로 주기억장치에 적재하여 프로그램을 실행

- 스와핑 기법

    -> 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법

다중 분할 할당 기법

- 고정 분할 할당 기법 : 프로그램에 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비 중인 프로그램을 각 영역에서 할당하여 수행하는 기법

- 가변 분할 할당 기법 : 미리 주기억장치에 분할해 놓는 것이 아닌 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할

실기 정리

 

2021 정보처리기사 실기 정리

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 실기 수험생들의 궁금증을 100% 반영시험에 나올만한 내

1d1cblog.tistory.com

 

728x90

+ Recent posts