본문 바로가기
정보처리기사/필기

[정보처리기사] Part04-03-1. 운영체제 기초 활용 (1)

by 채연2 2023. 1. 24.

 

Contents

     

    운영체제 기초 활용

    운영체제 (Operation System)

    개념

    하드웨어와 소프트웨어 자원 관리 및 컴퓨터 프로그램을 위한 공통 서비스 제공하는 소프트웨어를 의미. 사용자 편의성을 위한 인터페이스인 동시에 다양한 자원을 관리하는 자원 관리자.

     

    • 시스템을 제어하며 컴퓨터와 사용자 간 상호 교신을 담당
    • 자원 관리 및 사용자와 컴퓨터 간 인터페이스
    • 제한된 컴퓨터 시스템 자원을 보다 효율적으로 관리하고 운영

     

    운영체제 기능

    주요 기능 설명 주요 기술요소
    프로세스 관리 프로세스들에 대한 적절한 CPU 자원 배정을 통한 관리 - 스케줄링
    - 프로세스 생성 및 제고
    - 교착상태 방지
    보조기억장치 관리 주기억장치 공간적 제약으로 보조기억장치 이용해 주기억장치 내용 저장 및 관리 - 디스크 스케줄링
    - 저장소 할당
    - 유휴 공간관리
    파일 관리 디렉터리 구성, 다수 사용자에게 접근 제어 기능을 제공 - 파일과 디렉토리 생성, 제거
    - 보조기억장치 파일 매핑
    장치 관리 하드웨어 장치 운영 위한 인터페이스 제공 - 드라이버 인터페이스
    - 임시저장 시스템(버퍼)
    메모리 관리 기억공간에 어떤 프로세스 저장할지 결정 - 기억공간 할당과 회수
    시스템 보호 운영 체제에 있는 프로세스를 다른 사용자 프로그램으로부터 보호 - 세마포어
    네트워킹 네트워크 연결 경로, 접속 정책, 충돌, 보안 기능 제공 - 토큰 링 방식
    명령어 해석 프로그램 실행 위항 명령어 해석 기능 제공 - 컴파일러
    - 커널

    ※ 세마포어 : 둘 이상 프로세스 사이에서 공유 자원을 한 프로세스가 사용하고 있는 동안에 다른 포르세스를 대기시키고 사용이 끝나면 해제시키는 매커니즘

     

    운영체제 역할

    영역 역할 설명
    사용자 프로그램 수행 프로그램을 메모리에 적재하여 실행
    입출력 연산 입출력장치별 특화된 제어 기능 수행
    파일시스템 조작 파일 생성, 삭제 및 읽기, 쓰기 수행
    통신 프로세스 간 정보 교환 지원
    오류 탐지 다양한 HW, SW에서 발생하는 오류 탐지 및 복구 지원
    시스템 자원 할당 다수 사용자나 작업이 동시에 실행될 때, 이들 각각에 대한 자원 제공
    Accounting 사용되는 정보 자원 횟수 및 양 측정, 사용 통계 제공
    보호 소유자 이외에는 정보 사용 통제 수행

     

    운영체제 종류

    OS 저작자 시초(이전) 주요 용도
    Windows Microsoft OS/2, MS-DOS 중소 규모 서버, 개인용 PC, Tablet PC, Embedded System
    Unix IBM(AIX),
    HP(HP-UX),
    SUN(Solaris)
    UNIX System V,
    SunOS
    대용량 처리, 안정성 요구되는 서버, Server, NAS, Workstation
    - SUN Microsystems는 Oracle로 인수 합병됨
    Linux Linus Torvalds Linux Kernel 중/대규모 서버, Unix와 호환 Kernel
    iOS Apple OS X NeXTSTEP,
    BSD
    스마트폰, 태블릿 PC, Music 플레이어 등
    Android Google Linux 스마트폰, 태블릿 PC

     

    운영체제 유형

    유형 개념 개념도
    다중
    프로그래밍
    시스템
    CPU 효율 극대화위해 다수 프로그램이 마치 동시에 실행되는 것처럼 처리하는 방식. 메모리 관리 필요
    시분할
    시스템
    (Time Sharing
    System)
    프로세서 스케줄링과 다중 프로그래밍 사용해 각 사용자에게 컴퓨터를 시간을 나누어 분할 사용
    분산처리
    시스템
    시스템마다 운영체제와 메모리 가지고 독립적으로 운영되며 필요할 ㅅ때 통신하는 시스템
    다중처리
    시스템
    마이크로 프로세서 여러개를 연결해 다중 프로세서 생성

    일괄처리
    시스템
    일정량 데이터를 모아 한꺼번에 일괄 처리하는 방식
    실시간처리
    시스템
    (RealTime
    Processing
    System)
    데이터에 대한 처리요구 발생 시 즉시 처리 응답 시간 제한을 두고 수행하는 온라인 업무 적용

     

    분산 컴퓨팅 (Distributed Computing System)

    • 인터넷에 연결된 여러 컴퓨터 처리 능력 이용하여 거대한 계산 문제 해결하는 분산 처리 모델
    • 특정 자원 물리적 위치를 몰라도 그 자원 사용 가능
    • 자원은 각 노드에 분산되거나 중복되어 있음
    • 데이터, 컴퓨팅 자원 (CPU, 메모리 등) 공유

     

    분산 컴퓨팅 투명성

    유형 설명 지원 기법
    Access 데이터 표현 방식, 자원 접근 방법을 사용자에게 숨김 동기화 방식
    Location 하드웨어와 소프트웨어 자원이 어떤 컴퓨터에 있는지 알 필요 없이 이용 가능 미들웨어 레지스트리
    Relocation 사용자가 사용 중에도 자원 이동 가능하고 이 사실을 사용자에게 숨김
    Concurrency 객체 정보를 상호 공유, 여러 개 프로세스가 병행 수행 가능 동시성 제어(P2C)
    Replication 동일 자원이 다수 컴퓨터에 존재하더라도 사용자에게는 하나의 자원으로 보임
    (ex. 어떤 파일을 다수 컴퓨터에 중복하여 배치 > 신뢰성 향상)
    Failure 장애 시 전체 시스템 지속적으로 가동 보장 HA, FT
    Migration 자원 저장소 논리적 관리로 물리적 위치 변경 자유로움
    (ex. 파일이 다른 컴퓨터로 이동되어도 사용자는 프로그램을 변경하지 않고 이용)
    미들웨어 레지스트리
    Performance 시스템 성능 향상 및 재구성 유연함 가상화
    Scaling 분산 시스템 내에 있는 구성 요소 추가하거나 제거하는 등 변화에 대해서도 사용자는 이를 의식하지 않고 시스템 이용 가능 표준 인터페이스
    이기종 투명성 분산 시스템이 서로 다른 종류의 하드웨어와 소프트웨어로 구성되더라도 사용자는 이들의 상이함을 인식하지 않고 이용 가능
    (ex. 다른 CPU 가진 컴퓨터로 구성되어 있더라도 프로그램은 어떤 컴퓨터에서나 실행)

     

    분산 컴퓨팅 유형

    구분 기준 유형
    부하 분산 - 작업 많은 컴퓨터에서 작업이 적은 컴퓨터로 작업 이동
    - 시스템 전체 처리 효율 향상
    처리 분산 - 특정 장소에서 집중적으로 처리 수행하지 않음
    - 데이터 발생 장소나 서비스 요구 장소에서 처리
    - 통신 비용 감소와 서비스 향상 기능
    기능 분산 - 개별 기능 갖는 전용 컴퓨터 준비하여 시스템 전체에서 공유
    위험 분산 - 노드 일부가 고장이 나더라도 다른 노드에 의해 처리 가능
    - 시스템 신뢰성 향상
    관리 분산 - 시스템 운용과 관리를 각 조직에서 개별적으로 수행
    - 조직 내 실정에 맞는 이용과 서비스 제공
    확장 분산 - 대형 컴퓨팅 센터는 기능 변경이나 확장 어려움
    - 기능 추가와 진보된 기술 수용, 확장 용이

     

    분산 처리와 병렬 처리의 비교

    구분 병렬 처리 분산 처리
    구성도
    정의 프로세서를 늘려 다수 작업 동시 처리 컴퓨터를 네트워크로 상호 연결하여 전체적인 일의 일부 분산 처리
    구성 다수 프로세서와 하나의 메모리로 구성 다수 프로세서와 메모리로 구성
    특징 - 병렬처리는 프로세서 자체를 멀티코어로 병렬화하거나, 여러 개 프로세스 이용하여 다수 작업을 고속으로 처리 가능. 연산 장치를 병렬로 구성한 구조로는 벡터 계산이나 행렬 계산에 주로 사용되는 Array 프로세서나 벡터 프로세서, 여러 개 명령어 동시 수행하는 파이프라인 기법 등이 있음
    - 병렬처리 구조인 플린(Flynn)은 컴퓨터 명령어와 데이터 흐름 개수에 따라 단일 명령어-단일 데이터 흐름(SISD), 단일 명령어-다중 데이터 흐름(SIMD), 다중 명령어-다중 데이터 흐름(MIMD)으로 분류

     

    분산처리 시스템 분류

    구분 기준 분산 시스템 유형
    프로세서 모델 클라이언트/서버 모델, 프로세서 풀 모델, 하이브리드 모델
    네트워크 구조(위상 - Topology) Fully Connected, Partially Connected, Hierarchy, Star, Ring, Multi Access Bus
    분산 범위 광역 네트워크 분산구조(WAN), 근거리 네트워크 분산구조(LAN)

     

    01 프로세서 모델 - 클라이언트/서버 모델
    구분 설명
    구성도
    개념 비대칭적(Asymmertrical) 분산 시스템 구조
    특징 - 대부분 분산 시스템은 LAN 기반으로 한 이 모델로 구성
    - 다중사용자 시스템으로 사용자들 간 CPU 공유
    - 각 사용자는 프로그램 수행시키기 위해 강력한 서버 가지며, 서버는 공유된 다양한 시스템 기능과 자원 접근 제공

     

    02 프로세서 모델 - 프로세서 풀 모델
    구분 설명
    구성도
    개념 하나 이상 프로세서 풀이 통합된 워크스테이션-서버 모델로 구성
    특징 - 각 풀 프로세서는 워크스테이션과 서버가 독립적으로 네트워크와 연결
    - 풀에 있는 프로세서들은 단일 회로 보드로 구성
    - 사용자 워크스테이션이나 터미널은 시스템 자원 접근하는 수단 제공
    - 사용자 작업은 부분 혹은 전체적으로 풀 프로세서 상에서 수행
    - 사용자가 메인 태스크 초기화하면, 풀 프로세서가 각 태스크에 할당되고 병렬로 수행
    장점 - 융통성 : 시스템 서비스는 더 이상의 컴퓨터 설치하지 않고도 확장 가능
    - 호환성 : 기존 응용들은 간단한 수정으로 사용 가능
    - 다양한 프로세서들이 프로세서 풀을 사용

     

    03 프로세서 모델 - 혼합모델
    구분 설명
    구성도
    개념 앞의 두 모델(클라이언트/서버 모델 + 프로세서 풀 모델) 혼합
    특징 - 사용자 요구와 자원 처리가 매칭
    - 병렬 수행 : 여러 개 풀 프로세서가 과부하 걸린 처리 위해 할당
    - 사용자는 워크스테이션이나 터미널 통해 시스템에 접근

     

    04 위상에 따른 분산 컴퓨팅 구조 분류
    • 기본 비용 : 노드 연결 비용
    • 통신 비용 : 메시지 전달하는데 걸리는 시간 및 비용
    • 신뢰성 : 하나 고장 발생 시, 나머지 노드들이 계속 통신 가능 여부
    구분 토폴로지 설명
    완전 연결 구조
    (Fully Connected)
    - 각 노드가 시스템 내 모든 다른 노드와 직접 연결
    - 기본 비용 : 노드 숫자 제곱에 비례
    부분 연결 구조
    (Partially Connected)
    - 모든 노드 쌍에 대해 직접 연결이 존재하지는 않음
    - 비용은 완전 연결 네트워크보다 저렴
    - 통신 속도 저하
    - 완전 연결 네트워크보다 신뢰성 저하
    계층 구조
    (Hierarchy)
    - 각 노드가 트리 형태로 구성
    - 형제 중 하나가 다른 형제에게 메시지 전달하려면 부모 노드로 올라가서 다시 형제 노드로 내려감
    성형 구조
    (Star)
    - 중심 노드는 타 노드와 연결, 타 노드는 상호 간 연결되지 않는 방식
    - 기본 비용 : 노드 수에 비례, 일반적으로 통신 비용 낮음
    - 중심 노드에서 병목 현상 발생
    환형 구조
    (Ring)
    - 단방향, 양방향 통신 방법 존재
    - 단방향 : 한 방향으로만 정보 전달
    - 양방향 : 양쪽 이웃 노드에 정보 전달
    - 기본 비용 : 노드 수에 비례
    - 단일 연결, 이중 연결 방식 존재
    다중 접근 버스 구조
    (Multi-Access Bus)
    - 공유되는 하나의 버스가 존재
    - 기본 비용 : 노드 수에 비례, 버스 회선이 고장 나면 네트워크가 분할됨
    - 직선 버스, 환영 버스 유형 존재

     

    05 분산 범위 - 광역 네트워크 분산구조
    구분 설명
    구성도
    개념 넓은 지역에 각 노드들이 물리적으로 분산되어 있는 구조
    특징 - 대표적인 통신 회선 : 전화선, 마이크로웨이브, 통신 위성 채널
    - 통신 회선들은 특정 통신 프로세서들에 의해 조정
    - 프로세서는 여러 노드 간 정보 전송 뿐 아니라 노드들이 통신하는데 필요한 인터페이스 정의
    장점 다수 유휴 컴퓨팅 지원 사용 가능
    단점 통신 회선 전송 속도는 대체로 느리고 신뢰성 또한 낮음
    활용 원격지 간 화상 회의 및 원격 강의 시스템 구현

     

    06 분산 범위 - 근거리 네트워크 분산구조
    구분 설명
    구성도
    개념 한정된 지역에 각 노드들이 물리적으로 분산된 구조
    특징 통신 링크는 일반적인 컴퓨터 네트워크보다 속도 빠르고 오류 발생률 낮음
    장점 컴퓨터 네트워크보다 속도 빠르고 오류 발생률 낮음
    단점 보다 빠른 속도와 신뢰성 얻을 수 있고 양질 케이블 필요
    활용 한 빌딩 또는 인접된 빌딩과 같은 비교적 가까운 지역에 적용

     

     

     

     

     

     

     

     

     

     

     

     

     

    320x100

    댓글