mygomii

프로그램 언어 활용 - 서버 프로그램 구현 본문

정보처리기사

프로그램 언어 활용 - 서버 프로그램 구현

mygomii 2020. 8. 31. 20:00
반응형
  • 개발 환경 구축 개요

    • 응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것
    • 응용 소프트웨어가 운영될 환경과 유사한 구조로 구축
    • 개발 프로젝트의 분석 단계의 산출물을 바탕으로 개발에 필요한 소프트웨어와 하드웨어 성정
  • 배치프로그램

    • 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 작업을 일괄적으로 처리하는 것
    • 배치 프로그램의 필수 요소 : 대용량 데이터, 자동화, 견고성, 안정성, 신뢰성, 성능
    • 정기배치 : 정해진 기간에 정기적으로 수행
    • 이벤트성 배치 : 설정한 특정 조건이 충족될 때 수행
    • On-demand 배치 : 사용자 요청 시 수행
    • 배치 스케줄러
      • 일괄 처리 작업이 설정된 주기에 맞춰 자동을 수행되도록 지원해주는 도구
      • 잡 스케줄러라고도 함
      • 스프링 배치
      • Quatz
  • 운영체제

    • 정의

      • 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
    • 목적

      • 처리 능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등
      • 운영체제의 성능을 평가하는 기준
        • 처리능력
        • 반환시간
        • 사용 사능도
        • 신뢰도
    • 기능

      • 프로세서, 기억장치, 입 출력 장치, 파일 및 정보 등의 자원 관리
      • 자원을 효율적으로 관리하기 위해 스케줄링 기능 제공
      • 사용자와 시스템 간 편리한 인터페이스 제공
      • 각종 하드웨어와 네트워크를 관리 제어
      • 데이터 관리, 데이터 및 자원의 공유기능제공
      • 시스템의 오류 검사 및 복구
      • 자원 보호 기능 제공
      • 입 출력데 대한 보조 기능 제공
      • 가상 계산기 기능 제공
    • 주요 자원 관리

      • 프로세스 관리 : 프로세스 스케줄링 및 동기화 관리
      • 기억장치 관리 : 프로세스에게 메모리 할당 및 회수 관리
      • 주변장치 관리 : 입 출력장치 스케줄링 및 전반적인 관리
      • 파일 관리 : 파일의 생성과 삭제, 변경, 유지 등의 관리
    • 종류

      • Window, unix, linux, macOS, MS-DOS
    • Window

      • 마이크로소프트에서 개발한 운영체제
      • Gui : 키보드로 명령어를 수행하지 않고 마우스로 아이콘이나 메뉴를 선택하여모든 작업을 수행
      • 선점형 멀티캐스팅 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 가 작업의 cpu 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 장제 종료시키고 모든 시스템 자원을 반환
    • Unix

      • 시분할 시스템을 위해 설계된 대화식 운영체제
      • 소스코드가 개방형 시스템으로 구성되어 있음
      • 대부분 c언어로 작성되어 이식성이 높으며 장치, 프로세스 간 호환성이 높음
      • 다중 사용자(multi-user) 및 다중 작업 (multi-taskin)을 지원
      • 트리 구조의 파일 시스템을 가짐
        • 명령어를 인식하여 수행하는 명령어 해석기
        • 시스템과 사용자 간의 인터페이스 담당
        • Dos의 command com 같은 기능 수행
        • 주 기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 조재
        • 보조기억장치에서 교체 처리 기능
        • 파이프라인 기능 지원
        • 파이프라인 : 둘 이상의 명령을 함께 묶어 처리한 결과를 다른 명령의 입력으로 전환하는 기능
        • 입출력 재지정을 통해 입력과 출력의 방향을 변경할 수 있음
        • 공동 쉘이나 사용자가 만든 쉘을 사용할 수 있음
      • 커널
        • 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됨
        • 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 담당
        • 프로세스 관리, 기억장치 관리 ,파일 관리, 입출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러 가지 기능 수행
      • 유틸리티
        • 사용자가 작성한 외부 프로그램을 처리
        • Dos에서의 외부 명령어에 해당
        • 에디터, 컴파일러, 인터프리터, 디버거 등
    • Linux

    • MacOS

  • 저장장치 관리의 개요

    • 저장장치 계층 구조적 특징

      • 주 기억장치는 각기 자신의 주소를 가지는 워드 또는 바이트들로 구성되어 주소를 이용하여 접근
      • 보조기억장치에 있는 프로그램이나 데이터는 CPU가 직접 엑세스 할 수 없음
      • 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 엑세스
    • 반입(fecth) 전략

      • 보조기억장치에 보관중인 데이터를 언제 주기억장치에 적재할 것인지 결정하는 전략
      • 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재
      • 예상 반입 : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재
    • 배치(placement) 전략

      • 새로 반입되는 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략
      • First fit : 배치가 가능한 크기의 빈 영역 중에서 첫번쩨 분할 영역에 배치
      • Best fit : 배치가 가능한 크기의 빈 영역 중에서 단편화를 가장 적에 남기는 분할 영역에 배치
      • Worst fit : 배치가 가능한 크기의 빈 영역중에서 단편화를 가장 많이 남기는 분할 영역에 배치
    • 재배치(Replacement) 전략

      • 주 기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터가 배치하려고 할떄 이미 사용중인 영역에서 어느 영역을 교체할 것인지 결정하는 젼략
    • 주기억장치 할당의 개념

      • 연속 할당 기법 : 단일 분할 할당 기법, 다중 분할 기업
      • 분산 할당 기업 : 페이징, 세그먼테이션
    • 가상 기억장치의 개요

      • 보조 기억 장치의 일부를 주기억장치처럼 사용하는 것
      • 용량이 작은 주기억장치를 마치 큰용량을 가진 것처럼 사용할 수 있음
      • 프로그램을 여러 작은 블록 단위로 나누어서 가상 기억장치에 보관해 놓고 프로그램 실행시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리
      • 주기억장치의 이용률과 다중 프로그래밍의 효율 상승
      • 가상기억장치에 저장된 프로그램을 실행하려면 가상 기억장치의 주소를 주기억장치의 주소로 바꾸는 주소 변환 작업이 필요
      • 연속 할당 방식에서 발생할 수있는 단편화를 해결할 수 있음
    • 페이징 기법

      • 가상기억장치의 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 방법
      • 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음
      • 맵핑 작업을 위해서 페이지 맵 테이블이 필요함
    • 세그먼트 기법

      • 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법
      • 프로그램을 논리적인 크기로 나눈 단위를 세그먼트라고함
      • 맵핑 작업을 위해서 세그먼트 맵 테이블이 필요함
      • 세그먼트가 주기억장치에 적재될 떄 다른 세그먼트에게 할당된 영역을 침법할 수 없으며 이를 위해 기억장치 보호키가 필요

    고정크기 분할 : 페이지

    가변크기 분할 : 세그먼트

    • 페이지 교체 알고리즘

    • 페이지 크기에 따른 특징

반응형