0 + Study/0 + 정보처리기사(실기)

[정보처리기사 실기] 응용 SW 기초 기술 활용#1 (운영체제(OS)의 특징)

힘들면힘을내는쿼카 2020. 10. 9. 19:22
728x90
반응형



[정보처리기사 실기] 응용 SW 기초 기술 활용#1 (운영체제(OS)의 특징)



1. 운영체제(OS)의 특징

2. 데이터베이스 기초 활용

3. 네트워크 기초 활용

4. 기본 개발환경 구축




1. 운영체제의 특징


1) 운영체제(OS : Operation System)?

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


운영체제의 특징

      • 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함

-> 사용자에게 편리성 제공

      • 컴퓨터 시스템과 사용자 간의 인터페이스 기능 담당




2) 운영체제의 종류

1. 윈도우즈(Wiindows)

2. 유닉스(+리눅스)

3. 맥(MAC)

4. 안드로이드


1. 윈도우즈(Windows)

-> MS-DOS의 멀티태스킹 기능과 GUI환경을 제공하는 응용 프로그램.


      • 윈도우즈(Windows)의 특징
        • 그래픽 사용자 인터페이스(GUI)
        • 선점형 멀티태스킹 방식
        • 자동감지 기능(Plug and Play)
        • OLE(Object Linking and Embedding)

특징 

설명 

그래픽 사용자 인터페이스(GUI) 

키보드 없이 마우스로 아이콘이나 메뉴를 선택하여 

선점형 멀티태스킹 방식

동시에 여러 프로그램을 실행하면서 운영체제가 각 작업의 CPU 이용 시간을 제어 

자동감지 기능(Plug and Play)

하드웨어를 설치 했을 때 필요한 시스템 환경을 운영체제가 자동으로 구성 

OLE(Object Linking Embedding) 

개체를 현재 작성 중인 문서에 자유롭게 연결 또는 삽입하여 편집 




2. 유닉스(Unix) 계열

-> 교육 및 연구 기관에서 사용되는 범용 다중 사용자 방식의 시분할 시스템 운영체제.

-> 처음부터 다양한 시스템에 서로 이식 및 멀티 태스킹과 다중 사용자 지원


    • 유닉스 계열 특징
      • 대화식 운영체제 기능
      • 다중 작업 기능 제공
      • 다중 사용자 기능 제공
      • 이식성 제공
      • 계층적 트리 구조 파일 시스템 제공

특징 

설명 

대화식 운영체제 기능 

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

다중 작업 기능 

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

다중 사용자 기능 

여러 대의 단말(키보드, 모니터)이 하나의 컴퓨터에 연결되어, 여러 사람이 동시에 시스템을 사용하여 각각의 작업을 수행할 수 있는 기능 제공 

이식성 

대부분 C언어로 구현되있고 시스템 프로그램이 모듈화 되어 있기 때문에 다른 하드웨어로 쉽게 이식 가능 

계층적 트리 구조 파일 시스템 제공 

계층적 트리 구조이기 때문에 통합적인 파일 관리 가능 

*프롬프트? -> 컴퓨터 터미널에서의(CLI) 명령대기 상태




유닉스 계열의 종류

    • 리눅스
    • Mac
    • 안드로이드


리눅스

-> 유닉스 기반으로 개발되고, 소스코드가 공개된 오픈소스 기반의 운영체제

-> 대화식 운영체제, 다중 작업 기능, 다중 사용자 기능, 이식성, 계층적 트리 구조 파일 시스템 제공


Mac

-> 애플이 유닉스 기반으로 개발한 그래픽 사용자 인트페이스 기반의 운영체제


안드로이드

-> 휴대전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어.

-> 웹 브라우저, 이메일 클라이언트 등 표준 응용 프로그램을 포함하고 있는 운영체제





3) 운영체제의 핵심기능

    • 메모리 관리
    • 프로세스 관리


프로세스 -> 현재 실행중인 프로그램


기능 

설명 

메모리 관리 

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

메모리에 있는 프로그램은 중앙처리장치(CPU)로 이동하여 처리

※CPU는 가상 주소를 메모리는 물리주소를 사용하는데 *MMU가 주소를 매핑하는 역할 수행한다. 

프로세스 관리

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


*MMU(Memory Mangement Unit) -> CPU가 메모리에 접근하는 것을 관리하는 컴퓨터 하드웨어 부품
(가상 메모리 주소를 실제 메모리 주소로 변환하는 장치)



메모리 관리 기법 종류

    • 반입 기법(when)

    • 배치 기법(where)

    • 할당 기법(how)

    • 교체 기법(what)


기법

설명 

기법 세부 종류

반입 기법(when)

주기억장치에 저장할 다음 프로세스의 반입 시기를 결정하는 기법

-> 메모리 적재 시기 결정

요구 반입 기법

호출 반입 기법 

배치 기법(where) 

디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장 할 것인지 결정하는 기법

-> 메모리 저장 위치 결정(where)

최초 적합(first fit)

최적 적합(best fit)

최악 적합(worst fit) 

할당 기법(how)

실행해야 할 프로세스를 주기억장치에 어떤 방법으로 저장 할 것인지 결정하는 기법

-> 메모리 저장 방법 결정(how) 

연속 할당 기법

분산 할당 기법 

교체 기법(what) 

재배치 기법으로 주기억장치에 있는 프로세스 중 어떤 프로세스를 제거할 것인지 결정하는 기법

-> 메모리 교체(제거) 대상 결정(what)

프로세스의 Swap in/oout

FIFO, Optimal, LRU, LFU, 시계 알고리즘, MFU





프로세스 관리 상태 종류
    • 생성(Create)
    • 준비(Ready)
    • 실행(Running)
    • 대기(Waiting)
    • 완료(Complete)

※프로세스는 여러가지 이벤트에 의해 일련의 서로 구분되는 상태 변화(상태 전이)를 갖는다.




A. 프로세스 상태

프로세스 상태 

설명 

생성(Create)

사용자에 의해 프로세스가 생성

준비(Ready)

CPU를 할당 받을 수 있는 상태

준비 리스트(Ready List)
-> 각각 우선순위를 부여하여 가장 높은 우선순위를 갖는 프로세스가 다음 순서에 CPU를 할당 받음 

실행(Running) 

프로세스가 CPU를 할당받아 동작 중인 상태 

대기(Waiting) 

프로세스 실행 중 입/출력 처리 등으로 인해 CPU를 양도하고 입/출력 처리 완료까지 대기 리스트(Waiting List)에서 기다리는 상태

대기 리스트(Waiting List)
-> 우선 순위가 존재하지 않음

완료(Complete)

프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태 




B. 프로세스 상태 전이
-> 하나의 작업이 컴퓨터 시스템에 입력되어 완료되기 까지 프로세스의 상태가 준비, 실행 및 대기 상태로 변하는 활동.

활동 상태?
-> 프로세스가 기억장치를 할당 받은 상태

지연상태?
-> 프로세스가 기억장치를 할당 받지 못한 상태(활동 상태의 반대)






프로세스 상태전이 

설명 

디스패치(Dispatch) 

준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정(Scheduling)하여 CPU를 할당(Dispatching)
-> 문맥교환 발생

준비 -> 실행

타이머 런 아웃(Timer Run Out)

CPU를 할당 받은 프로세스는 지정된 시간이 초과되면 스케쥴러에 의해 PCB 저장, CPU 반납 후 다시 준비 상태로 전이

타임 슬라이스(Time Slice)만료, 선점(Preemption)시 타임아웃 발생

실행 -> 준비

블록(Block) 

실행 상태에 있는 프로세스가 지정된 할당 시간을 초과하기 전에 입출력이 완료될 때 까지 대기 상태로 전이

즉시 실행이 불가능한 시스템 콜, I/O작업 시작, 프로레스간 통신 시 Block이 발생

실행 -> 대기 

웨이크 업(Wake up) 

입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을 Wait & Signal등에 의해 알려주고, 준비 상태로 전이

대기 -> 준비

Swap-in 

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

지연 준비 -> 준비 or 지연 대기 -> 대기

Swap-out 

프로세스가 기억장치를 잃을 경우

준비 -> 지연 준비 or 대기 -> 지연 대기




4) 가상화, 클라우드

가상화?
-> 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러개로 보이게 하는 기술
-> 가상화를 통해 서버의 가동률을 60~70% 정도 향상 시킬수 있다.




가상화의 종류
  • 플랫폼 가상화
  • 리소스 가상화

종류 

설명 

플랫폼 가상화 

하드웨어 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어, 마치 독립된 환경을 만들어 낸 것 처럼 보이게 하는 방법 

리소스 가상화 

게스트 소프트웨어 위에서, 사용자는 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용하는 기법

메모리, 네트워크, 주기억장치 등을 결합하거나 나누기 때문에 사용자는 가상화 된 물리적 장치들이 어떤 위치에 있는기 알기 어려움





가상화 기술 요소 종류
  • 컴퓨팅 가상화
  • 스토리지 가상화
  • I/O 가상화
  • 컨테이너
  • 분산처리 기술(Distributed Computing)
  • 네트워크 가상화 기술

기술요소 

설명 

컴퓨팅 가상화 

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

서버 가상화를 통해 하나의 시스템에서 1개 이상의 OS를 동시에 가동 -> 서버 이용률 향상

ex) 하이퍼 바이저 

스토리지 가상화 

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

다른 기종의 스토리지 시스템의 통합을 가능하게 함

ex) 분산 파일 시스템

I/O가상화

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

ex) 가상 네트워크 인터페이스 카드 

컨테이너 

컨테이너화된 애플리케이션들의 단일 OS상에서 실행되도록 해주는 기술

하이퍼바이저 없이 OS가 격리된 프로레스로 동작하기 때문에 오버헤드가 낮음

ex) 도커(Docker) 

분산처리 기술
(Distributed Computing) 

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

네트워크 가상화 기술 

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





클라우드 컴퓨팅(Cloud Computing)

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




클라우드 컴퓨팅 분류
    • 사설 클라우드
    • 공용 클라우드
    • 하이브리드 클라우드

분류 

설명 

사설 클라우드 

기업 또는 조직 내부에서 보유하고 있는 컴퓨터 자원(IDC, Server)을 사용하여 내부에 구축되어 운영되는 클라우드

자체 컴퓨팅 자원으로 모든 H/W, S/W, 데이터 수용

직접적인 통제로 보안성 뛰어남 

공용 클라우드 

클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드 

확장성, 유연성이 뛰어남

하이브리드 클라우드 

사설 클라우드와 공용 클라우드 둘다 사용하는 클라우드

보안성, 확장성, 유연성 우수




클라우드 컴퓨팅 유형
  • 인프라형 서비스 : IaaS(Infrastructure as a Service)
  • 플랫폼형 서비스 : PaaS(Platfrom as a Service)
  • 소프트웨어형 서비스 : SaaS(Software as a Service)

유형 

설명 

인프라형 서비스(IaaS) 

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

컴퓨팅 자원에 운영체제나 애플리케이션 등의 소프트웨어 탑재 및 실행

하위의 클라우드 인프라를 제어하거나 관리하지 않지만 스토리지, 애플리케이션에 대해 제어권이 있다. 

플랫폼형 서비스(PaaS) 

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

SaaS의 개념을 개발 플래폼에도 확장한 방식

OS, 애플리케이션과 애플리케이션 호스팅 환경 구성의 제어권이 있다.

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

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

주문형 소프트웨어




728x90
반응형