응용 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) 간의 상호 라우팅
거리 백터 알고리즘
- 인접 라우터와 정보 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘
온프레미스
- 외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식
개발자 도구
- 프로그램을 실제 개발하기 위한 제반 환경 구축
- 애플리케이션 개발 및 배포 환경 구축
- 소스 코드를 손실 없이 관리하기 위한 저장소 구축
- 코드 개발, 테스트를 위한 환경 구축
- 코드 자동 배포, 형상 관리를 위한 환경 구축
보안 환경 구축
- 외부의 칩임으로부터 시스템과 데이터를 보호하기 위한 환경 구축
- 사용자 액세스 및 암호화 관리
- 앱 자격 증명 환경 구축
- 각종 인증서 프로비저닝, 관리 및 배포
- 악성 트래픽 필터링 서비스 관리
- 해킹 공격으로부터의 방어 환경 구축