기록공간

11장. 응용 SW 기초 기술 활용 본문

자격증공부/정보처리기사_실기

11장. 응용 SW 기초 기술 활용

입코딩 2020. 11. 25. 23:18
반응형

#1 운영체제의 특징

운영체제 종류

1. 운영체제의 개념

 

■ 운영체제는 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어이다. 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써 사용자에게 편리성을 제공한다. 운영체제는 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당한다.

 

 

2. 운영체제 종류

 

■ 윈도즈(Windows) 운영체제 특징 (지선자 오)

- GUI 제공 : 키보드 없이 마우스로 아이콘이나 메뉴를 선택하여 작업을 수행하는 그래픽 기반의 인터페이스 방식

- 점형 멀티테스킹 방식 제공 : 동시에 여러 개의 프로그램을 실행하면서 운영체제가 각 작업의 CPU 이용 시간을 제어

- 동감지 기능 제공 : 하드웨어를 설치했을 때 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 자동감지 기능 제공

- OLE(Object Linking and Embedding) 사용 : 개체를 현재 작성 중인 문서에 자유롭게 연결 또는 삽입하여 편집할 수 있게 하는 기능 제공

 

■ 유닉스 운영체제 특징 (대다 사이계)

화식 운영체제 기능 제공 : 프롬프트가 나타난 상태에서 사용자가 명령을 입력하면 시스템은 그 명령을 수행하는 사용자 명령 기반의 대화식 운영체제 기능을 제공

- 중 작업 기능 제공 : 다수의 작업(프로세스)이 CPU와 같은 공용 자원을 나누어 사용하여 한 번에 하나 이상의 작업을 수행하는 기능 제공

- 다중 용자 기능 제공 : 여러 대의 단말이 하나의 컴퓨터에 연결되어서, 여러 사람이 동시에 시스템을 사용하여 각각의 작업을 수행할 수 있는 기능 제공

- 식성 제공 : 90% 이상 C 언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능

- 층적 트리 구조 파일 시스템 제공 : 유닉스는 계층적 트리구조를 가짐으로써 통합적인 파일 관리가 용이

 

운영체제 기본 명령어 활용

1. 운영체제 제어

 

■ CLI, GUI 두가지 제어 방법이 존재한다.

 

■ 윈도즈 운영체제 기본 명령어

- ATTRIB : 파일 속성을 표시하거나 바꿈

- CALL : 한 일괄 프로그램에서 다른 일괄 프로그램을 호출

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

- CHKDSK : 디스크를 검사하고 상태 보고서를 표시

- CLS : 화면을 지움

- CMD : Windows 명령 프롬프트 창을 열어줌

- COMP : 두 개 이상의 파일을 비교

- DISKPART : 디스크 파티션 속성을 표시하거나 구성

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

- ERASE : 하나 이상의 파일을 지움

- EXIT : CMD.EXE 프로그램을 마침

 

■ 리눅스/유닉스 운영체제의 기본 명령어

  • 시스템 관련

    • uname -a : 시스템의 모든 정보를 확인하는 명령어

    • uname -r : 운영체제의 배포버전을 출력하는 명령어

    • cat : 파일의 내용을 화면에 출력하는 명령어

    • uptime : 시스템의 가동 시간과 현재 사용자 수, 평균 부하량 등을 확인하는 명령어

  • 사용자

    • id : 사용자의 로그인명, id, 그룹 id 등을 출력하는 명령어

    • last : 시스템의 부팅부터 현재까지의 모든 사용자의 로그인과 로그아웃에 대한 정보를 표시하는 명령어

    • who : 현재 접속 사용자 정보를 표시하는 명령어

  • 파일 처리

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

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

    • rm : 파일 삭제 명령어

    • cp : 파일 복사 명령어

    • mv : 파일 이동 명령어

  • 프로세스

    • ps : 현재 실행되고 있는 프로세스 목록을 출력하는 명령어

    • pmap : 프로세스 ID를 기준으로 메모리 맵 정보를 출력하는 명령어

    • kill : 특정 PID 프로세스 종료 명령어

  • 파일 권한

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

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

  • 네트워크 

    • ifconfig : 네트워크 인터페이스를 설정하거나 확인하는 명령어

    • host : 도메인명은 알고 있는데 ip 주소를 모르거나 혹은 그 반대의 경우에 사용하는 명령어

  • 압축

    • tar : 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령어(압축은 불가능)

    • gzip : 파일을 묶거나 풀 수 는 없지만 압축을 담당하는 명령어

  • 검색

    • grep : 입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어

    • fing : 특정한 파일을 찾는 명령어

  • 파일 이동

    • cp : 디렉토리를 복사할 때 사용하는 명령어

    • rsync : 로컬 또는 원격에 파일과 디렉토리를 복사하고 동기화하는 명령어

  • 디스크 사용

    • df : 시스템에 마운트된 하드데스크의 남은 용량을 확인할때 사용하는 명령어

    • du : 파일 사이즈를 KB 단위로 보여주는 명령어

  • 디렉터리 이동

    • cd : 디렉터리를 이동하는 명령어

 

운영체제 핵심 기능 파악

1. 운영체제 핵심 기능

 

■ 메모리 관리

- 프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지 및 관리하는 기능

- 메모리가 꽉차게 되는 시스템 속도가 느려지고 때로는 시스템이 멈추는 현상 발생

 

■ 프로세스 관리

- CPU와 데이터를 송수신하는 상황에서 현재 메모리 사용 부분, 메모리 입출력 순서, 메모리 공간 확보 등 프로세스에 대한 종합적인 관리 기법

 

■ 메모리 관리 기법 (반배할교)

- 입 기법 : 메모리에 적재할 다음 프로세스의 반입 시기를 결정하는 기법

- 치 기법 : 디스크에 있는 프로세스를 메모리 어느 위치에 저장할 것인지 결정하는 기법

- 당 기법 : 실행해야 할 프로세스를 메모리에 어떤 방법으로 할당할 것인지 결정하는 기법

- 체 기법 : 재배치 기법으로 메모리에 있는 프로세스 중 어떤 프로세스를 제거할 것인지 결정하는 기법

 

■ 프로세스 상태 전이 (디타 블웨스)

- 스패치 : 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU를 할당 → 문맥교환

- 이머 런 아웃 : CPU에 할당된 프로세스는 지정된 시간이 초과하면 스케줄러에 의해 PCB저장, CPU 반납 후 다시 준비 상태로 전이.. 타임 슬라이스 만료, 선점시 타임아웃 발생

- : 실행 상태에 있는 프로세스가 지정된 할당시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 CPU를 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 전이

- 이크 업 : 입출력이 종료되면 대기 상태의 프로세스에게 종료 사실을 알려주고, 준비상태로 전이

- Swap-in : 프로세스에게 다시 기억장치가 할당될 경우

- Swap-out : 프로세스가 기억장치를 잃은 경우

 

■ 프로세스 스케줄링 주요 종요

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

- 응답시간 (= 대기시간+수행시간) : 프로세스들이 입려되어 수행하고 결과를 산출하기까지 소요되는 시간

- 대기시간 : 프로세스가 프로세서에 할당 대기까지 큐에 대기하는 시간, 할당되면 0이 된다.

- 종료시간 : 요구되는 Processing time을 모두 수행하고 종료된 시간

- 시간 할당량 : 한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스되는 시간 할당량

- 응답률 (= (대기시간+서비스시간) / 서비스시간)

 

■ 선점형 스케줄링 알고리즘 유형

- 라운드 로빈(Round Robin) : 프로세스는 같은 크기의 CPU 시간을 할당, 프로세스가 할당된 시간 내에 처리 완료를 못면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어간다.

- SRT(Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프레스가 준비 큐에 생기면 언제라도 선점됨.

- 다단계 큐(Multi Level Queue) : 작업들을 여러 종류의 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점 당함.

- 다단계 피드백 큐(MLFQ) : 입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량을 부여, 마지막에는 라운드 로빈 방식으로 처리

 

■ 비선점형 스케줄링 알고리즘 유형

- 우선순위(Priority) : 프로세스별로 우선순위가 주어지고 우선순위에 따라 CPU 할당

- 기한부(Deadline) : 작업들이 명시된 시간이나 기한 내에 완료하도록 계획

- FCFS(First Come First Service) : 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당, FIFO 알고리즘이라고도 함

- SJF(Short Job First) : 프로세스가 도작하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유

- HRN(Highest Response Ratio Next) : 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아현상을 최소화

 

 

2. 가상화, 클라우드

 

■ 가상화 개념

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

 

■ 가상화 기술요소 

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

- 스토리지 가상화 : 스토리지와 서버 사이의 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술

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

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

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

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

 

■ 클라우드 컴퓨팅 분류 (사공하)

- 설 클라우드 : 기업 및 조직 내에 보유하고 있는 컴퓨팅 자원을 사용하여 내부에 구축되어 운영되는 클라우드. 직접적인 통제가 가능하며 보안성을 높일 수 있다.

- 용 클라우드 : 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드. 확장성, 유연성 등이 뛰어나다.

- 이브리드 클라우드 : 사설 클라우드 + 공용 클라우드. 사실 클라우드 약점인 구축 비용 문제와 공용 클라우드 약점인 보안성 확보 문제를 해결

 

■ 클라우드 컴퓨팅 유형 (인플소)

- 인프라형 서비스(IaaS) : 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스

- 플랫폼형 서비스(PaaS) : 인프라 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스

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

 

#2 데이터베이스 기초 활용하기

데이터베이스 종류

1. 데이터베이스

 

■ 데이터베이스 개념

데이터베이스는 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합이다. 

 

■ 데이터베이스 종류

  • 파일 시스템 : 파일에 이름을 부여하고 저장이나 검색을 위해 그것들을 어디에 위치시켜야 하는 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식 (중요성 떨어짐)

    • ISAM, VSAM

  • 계층형 데이터베이스 관리시스템(HDBMS) : 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스. 데이터에 대한 접근 속도는 빠르나, 종속적인 구조로 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않다.

    • IMS, System2000

  • 망형 데이터베이스 관리시스템(NDBMS) : 데이터 구조를 네트워크상의 망 형태로 표현한 데이터 모델. HDBMS 보다 유연하지만 설계가 복잡하다.

    • IDS, IDMS

  • 관계형 데이터베이스 관리시스템(RDBMS) : 관계형 모델을 기반으로 하는 가장 보편적인 데이터베이스 관리시스템이다. 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이하다.

    • Oracle : 오라클사에서 개발한 DBMS로 유료이다. 대부분의 운영체제를 제공하고 대형 시스템에서 많이 쓰임

    • SQL Server : MS에서 개발한 DBMS. MS에서만 사용 가능하며, C#등과 호환됨

    • MySQL : 오라클의 관계형 데이터베이스 시스템. 오픈 소스 기반으로 개발

    • Maria DB : MySQL 출신 개발자가 만든 DB로 MySQL과 완벽히 호환

 

2. DBMS

 

■ DBMS(Database Management System) 개념

DBMS는 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어이다.

 

■ DBMS 유형 (키컬도그)

- -값 DBMS

- 럼 기반 데이터 저장 DBMS

- 문서(Document) 저장 DBMS

- 래프 DBMS

 

■ DBMS 특징

- 데이터 무결성

- 데이터 일관성

- 데이터 회복성

- 데이터 보안성

- 데이터 효율성

 

관계형 데이터베이스 활용

1. ERD(E-R Diagram) 개념

 

■ ERD는 업무 분석 결과로 도출된 실체(엔티티)와 엔티티 간의 관계를 도식화한 다이어그램이다. 데이터의 흐름과 연관성을 공통적으로 쉽게 확인할 수 있다.

 

데이터베이스 관리

1. 트랜잭션

 

■ 트랜잭션의 개념

DBMS가 가져야 하는 특성으로, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위이다.

 

■ 트랜잭션의 특성 (ACID)

- 원자성(Atomicity) : 연산 전체가 성공 또는 실패. 하나라도 실패하면 전체가 취소되어야 함.

- 일관성(Consistency) : 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 함

- 격리성(Isolation) : 트랜잭션 실행 중 발생하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가

- 영속성(Durability) : 성공이 완료된 트랜잭션 결과는 영속적으로 데이터베이스에 저장

 

■ 트랜잭션 상태 설명 (활부완실철)

- 동 상태 : 초기 상태, 트랜잭션 실행 중 가지는 상태

- 분 완료 상태 : 마지막 명령문이 실행된 후 가지는 상태

- 료 상태 : 트랜잭션이 성공적으로 완료된 후 가지는 상태

- 패 상태 : 정상적인 실행이 더 이상 진행될 수 없을 때 가지는 상태

- 회 상태 : 트랜잭션이 철회되고 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태

 

 

2. 데이터베이스 기술 트랜드

 

■ 빅데이터 개념

빅데이터는 시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트(PB) 크기의 비정형 데이터이다. 

 

■ 빅데이터 특성

데이터의 양, 데이터의 다양성, 데이터의 속도

 

■ NoSQL 개념 

NoSQL은 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS이다.

 

■ 데이터 마이닝 개념

대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술이다. 

 

#3 네트워크 기초 활용하기

네트워크 계층 구조 파악

1. 네트워크 개념

 

네트워크란 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라이다.

 

■ 거리에 따른 네트워크 분류 

- WAN (광대역 네트워크)

- LAN (근거리 네트워크)

 

 

2. OSI 7계층

 

■ 국제 표준화 기구인 ISO에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다.

 

■ 7 Layer

- 응용 계층

- 표현 계층

- 세션 계층

- 전송 계층 (L4 스위치)

- 네트워크 계층 (라우터)

- 데이터 링크 계층 (브리지, 스위치)

- 물리 계층 (허브, 리피터)

 

 

3. 네트워크 장비

 

■ 1계층 장비

- 허브 : 여러 대의 컴퓨터를 연결하여 네트워크를 보내거나, 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비

- 리피터 : 디지털 신호 증폭 장비

 

■ 2계층 장비

- 브리지 : 두 개의 LAN을 서로 연결해 주는 장비

- L2 스위치 : 느린 전송속도의 브리지, 허브의 단점을 개선하기 위해 나옴. 출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신장치

- NIC(Network Interface Card) : 외부 네트워크와 접속하여 가장 빠른 속도로 데이터를 주고받을 수 있게 컴퓨터 내에 설치되는 장치

- 스위칭 허브 : 스위치 기능을 지닌 허브. 사용되는 대부분의 허브가 이것이다. 

 

■ 3계층 장비

- 라우터 : LAN과 LAN을 연결하너가 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비, 알고리즘을 통한 최적의 경로로 원하는 목적지까지 안전하게 전달.

- 게이트웨이 : 프로토콜을 서로 다른 통신망에 접속할 수 있게 해주는 장치

- L3 스위치 : 3계층에서 네트워크 단위들을 연결하는 통신 장비

- 유무선 인터넷 공유기 : 외부로 들어오는 인터넷 라인을 연결하여 유선 혹은 무선으로 여러 대의 기기를 연결하여 인터넷 라인을 공유할 수 있도록 하는 네트워크 장비

- 망(백본) 스위칭 허브 : 광역 네트워크를 커버하는 스위칭 허브, 대단위 지역을 커버함 

 

■ 4계층 장비

- L4 스위치 : 4계층에서 네트워크 단위들을 연결하는 통신장비. TCP/UDP 등 스위칭 수행. 로드밸런싱 가능

 

네트워크 프로토콜 파악

1. 프로토콜

 

■ 프로토콜 개념

프로토콜은 서로 다른 시스템이나 기기들 간의 데이터 교환을 원할히 하기 위한 표준화된 통신규약이다.

 

■ 프로토콜의 기본요소 (구의타)

- 구문(Syntax) : 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정

- 의미(Semantic) : 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정

- 타이밍(Timing) : 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정

 

 

2. TCP

 

■ TCP(Transmission Control Protocol) 개념

전송 제어 프로토콜은 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로 사용된다.

 

■ TCP의 특징 (신연흐혼)

- 신뢰성 보장

- 연결 지향적 특징

- 흐름제어

- 혼잡제어

 

 

3. UDP

 

■ UDP(User Datagram Protocol) 개념

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

 

■ UDP의 특징

- 비신뢰성

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

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

- 단순 헤더

 

 

4. IPv4, IPv6

 

■ IPv4

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

 

■ IPv4 전송방식

- 유니캐스트

- 멀티캐스트

- 브로드캐스트

 

■ IPv6

현재 IPv4가 가지고 있는 주소고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해 개발된 128bit 주소체계를 갖는 차세대 인터넷 프로토콜이다.

 

■ IPv6 전송방식

- 유니캐스트

- 멀티캐스트

- 애니캐스트

반응형
Comments