응용 SW 기초 기술 활용

작성일

HRN

  • 대기 중인 프로세스 중 우선순위가 가정 높은것을 선택하는 기법

유닉스

  • 데니스 리치와 켄 톰슨등이 함께 벨 연구소를 통해 만든 운영체제이며, 90% 이상 C 언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능하며 계층적 트리 구조를 가짐으로써 통합적인 파일 관리가 용이한 운영체제

운영체제

  • 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어

CLI

  • 사용가 직접 명령어를 입력, 컴퓨터에게 명령을 내리는 방식

GUI

  • 마우스로 화면을 클릭하여 그래픽 위주로 컴퓨터를 제어하는 방식

ATTRIB

  • 파일 속성을 표시하거나 바꿈

CALL

  • 한 일괄 프로그램에서 다른 일괄 프로그램을 호출

CD

  • 현재 디렉터리 이름을 보여주거나 바꿈

CHKDSK

  • 디스크를 검사하고 상태 보고서를 표시

CLS

  • 화면을 지움

CMD

  • Windows 명령 프롬프트 창을 열어줌

COMP

  • 두 개 이상의 파일을 비교

DISKPART

  • 디스크 파티션 속성을 표시하거나 구성

ECHO

  • 메시지를 표시하거나 ECHO를 사용 또는 사용하지 않음

ERASE

  • 하나 이상의 파일을 지움

EXIT

  • CMD, EXE 프로그램를 마침

응답시간

  • 프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간

서비스 시간

  • 프로세스가 결과를 산출하기까지 소요되는 시간

ls

  • 자신이 속해있는 폴더 내에서의 파일 및 폴더들의 표시하는 명령어

pwd

  • 현재 작업 중인 디렉토리의 절대 경로를 출력하는 명령어

rm

  • 파일 삭제 명령어

cp

  • 파일 복사 명령어

mv

  • 파일 이동 명령어

가상화

  • 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술

컴퓨팅 가상화

  • 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술

스토리지 가상화

  • 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술

I/O 가상화

  • 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술

컨테이너

  • 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술

분산처리기술

  • 여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술

네트워크 가상화 기술

  • 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치(라우터, 스위치 등)의 가상화를 통한 가상 네트워크를 지원하는 기술

사설 클라우드

  • 기업 또는 조직 내부에서 보우하고 있는 컴퓨팅 자원(IDC, 서버 등)을 사용하여 내부에 구축되어 운영되는 클라우드
  • 자체 컴퓨팅 자원으로 모든 하드웨어, 소프트웨어, 데이터를 수용
  • 직접적인 통제가 가능하며 보안성을 높일 수 있음

공용 클라우드

  • 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드
  • 일정한 비용을 지불하고 하드웨어, 소프트웨어 등을 사용
  • 확장성, 유연성 등이 뛰어남

하이브리드 클라우드

  • 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드 모두 사용하는 클라우드
  • 사실 클라우드의 약점인 구축 비용 문제와 공용 클라우드의 약점인 보안성 확보 문제를 해결
  • 사용 업무의 중요도, 보안성 확보의 중요도 등에 따라 이용 형태 변경가능

IaaS

  • 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스

선점형 스케줄링

  • 하나의 프로세스가 CPU를 차지하고 있을 때, 우선 순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링

라운드 로빈

  • 프로세스는 같은 크기의 CPU 시간을 할당, 프로세스가 할당된 시간 내에 처리 완료를 못 하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어가는 알고리즘

SRT

  • 가장 짧은 수행시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점되는 알고리즘

다단계 큐

  • 작업들을 여러 종류 그룹으로 분할, 여러개의 큐를 이용하여 상위단계 작업에 의한 하위 단계 작업이 선점 당하는 알고리즘
  • 각 큐는 자신만의 독자적은 스케줄링을 가짐

기아 현상

  • 시스템 부하가 많아서 준비 큐에 있는 낮은 등급의 프로세스가 무한정 기다리는 현상

에이징 기법

  • 오랫동안 기다린 프로세스의 우선순위를 높여주는 기법

물리 계층

  • 비트를 전송하는 계층

OSPF

  • 대표적인 내부 라우팅 프로콜로 다익스트라 알고리즘을 이용한 대규모 네트워크에 적합한 링크 상태 라우팅 프로토콜

프로토콜

  • 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 뜻함

IPv6

  • IPv4의 확장형으로 IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 자원 등의 문제점을 해결하기 위해서 개발된 128비트 주소 체계를 갖는 차세대 인터넷 프로토콜

네트워크

  • 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라

X.25

  • 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
  • 고정된 대역폭을 갖고 신뢰성 있는 통신을 하지만 복잡한 기능으로 인해 ISDN 등의 고속망으로 대체되는 통신 기술

ATM

  • 비동기 전송모드라고 하는 광대역 전송에 쓰이는 스위칭 기법

단편화

  • 전송이 가능한 작은 블록으로 나누어지는 기법

재조립

  • 단편화되어 온 조각들을 원래 데이터로 복원하는 기법

캡슐화

  • 상위 계층의 데이터에 각정 정보를 추가하여 하위 계층으로 보내는 기법

연결 제어

  • 데이터의 전송량이나 속도를 제어하는 기법

오류 제어

  • 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법

동기화

  • 송신과 수신 축의 시점을 맞추는 기법

다중화

  • 하나의 통신 회선에 여러 기기들이 접속할 수 있는 기술

주소 지정

  • 송신과 수신지의 주소를 부여하여 정확한 데이터 전송을 보장하는 기법

TCP

  • 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, IP와 함께( )/IP라는 명칭으로 사용됨
  • 전송 계층에 위치하면서 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜

비신뢰성

  • 메시지가 제대로 도착했는지 확인하지 않음
  • 검사 합을 제외한 특별한 오류 검출 및 제어 없음

순서화되지 않은 데이터그램 서비스 제공

  • 수신된 메시지의 순서를 맞추지 않음
  • 흐름 제어를 위한 피드백을 제공하지 않음

실시간 응용 및 멀티캐스팅 가능

  • 빠른 요청과 응답이 필요한 실시간 응용에 적합
  • 여러 다수 지점에 전송 가능

단순 헤더

  • 헤더는 고정 크기의 8바이트만 사용

거리 벡터 알고리즘

  • 인접 라우터와 정보 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘
  • 벨만-포드 알고리즘 사용

링크 상태 알고리즘

  • 링크 상태 정보를 모든 라우터에 전달하여 최단 경로트리를 구성하는 라우팅 프로토콜 알고리즘
  • 다익스트라 알고리즘 사용

RIP

  • 최초의 라우팅 프로토콜
  • 거리 벡터 알고리즘 활용
  • 30초 주기로 전체 루아팅 정보 갱신
  • 변화 업데이트 시 많은 시간 소요
  • 라우팅 루프 발생 가능

OSPF

  • 링크 상태 알고르짐 사용
  • 발생한 변경 정보에 대해 RIP보다 빠른 업데이트
  • 토폴리지에 대한 정보가 전체 라우터에 동일하게 유지

프로토콜

  • 서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신규약

Debian GNU/Linus

  • 개발자 패키지와 메뉴얼이 활성화되어 있어 개발자에게 최적화되어 있음

Ubuntu

  • 가정 광범위하게 쓰이는 Linus 운영 체제
  • 다양한 개발자용 패키지 제공
  • Software Center를 통해 응용 소프트웨어 공급

Fedora

  • 스마트 설정과 업데이트로 사용자 편의성 제공
  • 안정화된 운영과 다양한 하드웨어 지원

CentOS

  • 프로그래밍에 최적화된 환경 제공
  • RHEL 소스로 컴파일되어 해당 계열의 프로그램 대다수 사용 가능

openSUSE

  • 안정화된 버전과 테스트 중인 버전을 동시에 공급
  • YaST 패키지를 통해 태스크 자동화 지원

Slackware

  • 다양한 소트웨어와 그래픽 유저 인터페이스가 미리 설치
  • 시스템 관리자를 위한 복구 툴 내장

서버 운영체제 운용 기준

  • 운용 아키텍처 및 기능 파악
  • 네트워크 구성 현황 및 장비 매뉴얼 확보
  • 장비 가동 및 중지 매뉴얼 확인
  • 백업 주기, 보안 업데이트 주기 설정 및 점검
  • 트러블 발생 시 대처 방안 마련

개별 PC용 운영체제 운용 기준

  • 정기워인 데이터 백업
  • 주기적 보안 업데이트
  • 시스템 백업 정례화
  • 트러블 발생 시 문의처 정보 확인

설계

  • ERD를 통한 자동화된 데이터 모델링, UML 자동 생성

형상 관리

  • 개발 산출물 관리, 변경통제

프로젝트 관리

  • 일정 관리를 위한 간트 차트, 네트워크 다이어그램, WBS 등 제공

온프레미스 방식

  • 외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식

클라우드 방식

  • 아마존, 구글, 마이크로소프트 등 클라우드 공급 서비스를 하는 회사들의 서비스를 임대하여 개발환경을 구축하는 방식

하이브리드 방식

  • On-Premise와 클라우드 방식을 혼용하는 방식

스토리지

  • 대규모 데이터를 저장, 관리, 전송, 이중화하기 위한 저장 장치 세팅
  • 클라우드 기반 스토리지 세팅
  • 데이터 안정성 향상을 위한 아카이브 스토리지 세팅
  • 페타/엑사 바이트 단위 전송이 가능한 전송 스토리지 세팅

데이터 베이스

  • 실데이터를 저장하고 관리하기 위한 데이터 베이스 세팅
  • 고성능 관계형 데이터베이스 세팅
  • 인메모리 데이터베이스 세팅
  • 대규모 데이터 운영을 위한 웨어하우징 세팅
  • 그래픽, 음성 등 멀티미디어 데이터 처리를 위한 환경 세팅

네트워킹 전송

  • 구성된 서비스, 프로그램, 콘텐츠를 효율적으로 전달하기 위한 환경 세팅
  • 콘텐츠 전송용 CDN 구축
  • API 제공용 CDN 구축
  • 대규모 로드 밸런싱 환경 구축

유닉스 운영체제

  • 교육 및 연구 기관에서 사용되는 범용 사용 방식의 시분할 운영체제

안드로이드

  • 휴대 전화를 비롯한 휴대용 장치를 위한 운영 체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용프로그램을 포함하고 있는 운영체제

chmod

  • 특정 파일 또는 디렉토리의 퍼미션 수정 명령어

chown

  • 파일이나 디렉토리의 소유자, 소유 그룹 수정 명령어

컨테이너

  • 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술
  • 하이퍼바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음

네트워크 가상화 기술

  • 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치의 가상화를 통한 가상 네트워크를 지원하는 기술

클라우드 컴퓨팅의 개념

  • 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 기술

프로세스 관리기법

  • CPU와 데이터를 송수신하는 상황에서 현재 메모리 사용 부분, 메모리 입출력 순서, 메모리 공간 확보 등 수행
  • ‘일시 중지 및 재실행’, ‘동기화’, ‘통신’, ‘교착상태 처리’, ‘프로세스 생성 삭제’ 가 있음

응용 계층

  • 사용자 친화 환경 제공

표현 계층

  • 코드 문자 등을 번역하여 일관되게 전송하고 압축, 해제, 보안 기능도 담당

전송 계층

  • 송신, 수신 프로세스 간의 연결
  • 대표적으로 TCP, UDP 프로토콜이 있음

인프라형 서비스(IaaS)

  • 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
  • 컴퓨팅 자원에 운영체제나 애플리케이션 등의 소프트웨어 탑재 및 실행
  • 하위의 클라우드 인프라를 제어하거나 관리하지 않지만 스토리지, 애플리케이션에 대해서는 제어권을 가짐

플랫폼형 서비스(PaaS)

  • 인프라를 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
  • 소프트웨어형 서비스(SaaS)의 개념을 개발 플랫폼에도 확장한 방식으로 개발을 플랫폼을 구축할 필요 없이, 필요한 개발 요소를 웹에서 빌려 쓸 수 있게 하는 모델
  • OS, 애플리케이션과 애플리케이션 호스팅 환경 구성의 제어권을 가짐

소프트웨어형 서비스(SaaS)

  • 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스
  • 주문형 소프트웨어라고도 함

허브

  • 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비
  • 1계층 장비로 사용

브리지

  • 두 개의 근거리통신망(LAN)을 연결해 주는 통신망 연결 장치
  • 2계층 장비로 사용

라우터

  • LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비
  • PC 등의 로컬 호스트가 LAN에 접근할 수 있도록 하며, WAN 인터페이스를 사용하여 WAN에 접근하도록 함
  • 라우팅 프로토콜은 경로 설정을 하여 원하는 목적지까지 지정된 데이터가 안전하게 전달되도록 함
  • 3계층 장비로 사용

네트워크 프로토콜

  • 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계

연결 제어

  • 데이터의 전송량이나 속도를 제어하는 기법

오류 제어

  • 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법

동기화

  • 송신과 수신 측의 시점을 맞추는 기법

IPv4

  • 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소체계를 갖는 네트워크 계층의 프로토콜

UDP 프로토콜

  • 비연결성이고, 신뢰성이 없으며, 순서화되지 않음 데이터그램 서비스를 제공하는 전송계층(4계층)의 통신 프로토콜

Store and Forwarding

  • 데이터를 전부 받은 후 다음 처리를 하는 방식

Cut Through

  • 데이터의 목적지 주소만 확인 후 바로 전송 처리하는 방식

Fragment Free

  • 프레임의 앞 64바이트만을 읽어 에러를 처리하고 목적지 포트로 전송하는 방식

패킷 스위칭

  • 컴퓨터 네트워크와 통신 방식 중 하나로 작은 블록 단위로 데이터를 전송하며 데이터를 전송하는 동안만 네트워크 자원을 사용하는 통신 방식

AAL

  • 패킷을 작은 조각인 셀로 전송한 후 다시 조립하여 원래의 데이터로 복원하는 역할을 담당

ATM 계층

  • 셀과 셀 전송 역할을 담당
  • 셀의 레이아웃을 정의하고 헤더 필드가 의미하는것을 알려줌
  • 가상 회선의 연결 및 해제, 혼잡 제어 처리

물리 계층

  • 물리적인 전송 매체를 처리하는 담당

서킷 스위칭

  • 네트워크 리소스를 특정 사용층이 독점하도록하는 통신 방식

IGRP

  • RIP의 문제 개선을 위해 시스코에서 개발
  • 네트워크 상태를 고려하여 라우팅

BGP

  • 규모가 큰 네트워크의 상호 연결
  • 대형 사업자(ISP) 간의 상호 라우팅

거리 백터 알고리즘

  • 인접 라우터와 정보 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘

온프레미스

  • 외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식

개발자 도구

  • 프로그램을 실제 개발하기 위한 제반 환경 구축
  • 애플리케이션 개발 및 배포 환경 구축
  • 소스 코드를 손실 없이 관리하기 위한 저장소 구축
  • 코드 개발, 테스트를 위한 환경 구축
  • 코드 자동 배포, 형상 관리를 위한 환경 구축

보안 환경 구축

  • 외부의 칩임으로부터 시스템과 데이터를 보호하기 위한 환경 구축
  • 사용자 액세스 및 암호화 관리
  • 앱 자격 증명 환경 구축
  • 각종 인증서 프로비저닝, 관리 및 배포
  • 악성 트래픽 필터링 서비스 관리
  • 해킹 공격으로부터의 방어 환경 구축