• 운영체제
    • 시스템의 자원들을 효율적으로 관리하며, 효과적으로 사용할 수 있도록 환경을 제공하는 프로그램의 모임
  • 성능평가기준
    • 처리능력 : 일정 시간내에 시스템이 처리하는 일의 양
    • 번환시간 : 의뢰한 시간부터 처리 완료까지 거린 시간
    • 사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
    • 신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도
  • 운영체제 운용 기법
    • 일괄 처리->다중 프로그래밍, 시분할, 다중처리, 실시간 처리, -> 다중모드 -> 분산 처리
    • 일괄 처리(Batch Processing)
      • 초기의 컴퓨터 시스템에서 사용하는 형태
      • 일정 기간 동안 모은 데이터를 한 번에 처리하는 방식
      • 효율적 사용 가능
      • 응답 시간이 늦지만 하나의 작업에 모든 자우너을 사용하므로 CPU 휴지 시간이 줆어듬
      • 급여 계산, 기불 계산, 연말 결산 등에 사용
    • 다중 프로그래밍
      • 하나의 CPU와 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
      • 하나의 주기억장치에 2개 이상의 프로그램을 기억시킨 후 하나의 CPU와 대화하면서 동시에 처리함.
    • 시분할(Time Sharing)
      • 여러 사용자가 사용하는 시스템에서 각 사용자들의 프로그램을 번갈아 가며 처리해 줌으로 독립된 컴퓨터를 사용하는 느낌을 줌
    • 다중 처리
      • 여러개의 CPU와 하나의 주기억장치를 이용하여 여러개의 프로그램을 동시 처리하는 방식
      • 하나의 CPU가 고장나도 다른 CPU가 처리할 수 있어 시스템의 신뢰성과 안정성이 높다.
    • 실시간 처리
      • 데이터 처리를 즉시 처리하여 결과 산출하는 방식
      • 제어 업무 등 시간에 제한을 두고 수행되어야 하는 작업에 사용
    • 다중 모드 처리 
      • 일괄 처리, 다중 처리, 시분할, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식
    • 분산 처리
      • 여러 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식
      • 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 CPU, 메모리를 가지고있음
    • 프로세스
      • CPU에 의해 처리되는 사용자 프로그램이나 시스템 프로그램을 의미하며 프로세스는 각종 자원을 요구한다.
      • 실행중인 프로그램, PCB를 가진 프로그램, 실기억장치에 저장된 프로그램
      • 프로시저가 활동중인 것
      • 프로세서가 할당하는 개체로서 디스패치가 가능한 단위
    • 프로세스의 주요 상태
      • 준비
      • 실행
      • 대기,보류 블럭
    • 스레드(=경량프로세스)
      • 하나의 프로세스 내에서 병행성을 증대시키기 위한 메커니즘으로 시스템의 여러 자원을 할당받아 실행하는 프로그램 단위
      • 독립적인 스케줄링의 최소 단위로서 독립적인 다중 수행이 가능함 
        • 하나의 스레드가 존재할 경우 단일 여러개일 경우 다중 스레드라고 함
    • PCB(Process Control Block)
      • 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳으로 프로세스가 생성될 때마다 PCB가 생성되고, 완료되면 제거됨.
    • 스케줄링
      • 프로세스가 생성 실행될 때 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
    • 상호 배제
      • 프로세스 공유 자원을 사용할 경우 다른 프로세스가 해당 공유자우넝르 사용하지 못하게 하는 기법
      • 임계 구역 내에서는 인터럽트, 교착상태, 무한반복이 발생되지 않도록 해야한다.
    • 상호 배제 구현 기법
      • SW적 구현 방법
        • 2개의 프로세스 기준
          • 데커, 피터슨 알고리즘
        • 그 이상의 프로세스
          • Test&Set 기법, Swap 명령어 기법
    • 세마포어(Semaphore)
      • 각 프로세스에 제어 신호를 전달하여 순서대로 작업하는 기법
      • 다익스트라가 제안 했으며 P와 V라는 2개의 연산에 의해 동기화를 유지하고 상호 배제의 원리를 보장한다. 
      • S는 P와 V연산으로만 접근 가능한 세마포어 변수로 공유자원 갯수를 나타내고 1과 0 혹은 0과 양의 값을 가질 수있다.
        • P연산
          • 자원을 사용하려는 프로세스들의 진입 여부를 자원개수(S)를 통해 결정하는 것으로 자원 갯수를 감소 시켜 (S=S-1) 자원이 점유 되었음을 알림
        • V연산
          • 대기중인 프로세스를 깨우는 신호로 자원의 갯수를 증가시켜 (S=S+1) 자원이 반남되었음을 알림
  • 교착상태 발생 조건
    • 상호배제
    • 점유와 대기
    • 비선점
    • 환형대기 
  • 교착상태 해결 방법
    • 예방(Prevention)
      • 상호배제, 점유와 대기, 비선점, 환형대기 중 어느 하나를 발생하지 않게 하는 방법
    • 회피(Avoidance) 기법
      • 교착 상태가 발생할 가능성을 배제하지 않고 발생 시 피해가는 방법으로 주로 은행원 알고리즘이 사용됨
        • 은행원 알고리즘
          • 다익스트라가 제안한 것으로 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는데서 유래
          • 교착상태가 발생하지 않을 경우 안전 상태, 교착 상태가 발생시 불안정 상태
    • 회복(Recovery)
      • 교착상태를 일으킨 프로세스 종료
    • 배치 전략(Placement) 전략
      • 주기억 장치 프로그램이나 데이터 내에 위치를 정하는 전략
        • 최초 적합(Best fir)
          • 주기억 장치의 빈 공간 중 순서대로 첫 번 째 주소에 배치하는 전략
        • 최적 적합(Best Fit)
          • 빈 공간이 가장 적게 남는 위치에 배치하는 전략
        • 최악 적합(Worst Fit)
          • 빈 공간이 가장 많이 남는 위치에 배치하는 전략
    • 단편화
      • 분할된 주기억장치에 할당하고 반납하는 과정을 반복하면서 사용되지 안혹 빈 공간 조각을 의미한다.
        • 내부 단편화 : 분할된 영역에 프로그램이 할당된 후 사용되지 않고 남아 있는 빈 공간
        • 외부 단편화 : 분할된 영역보다 프로그램이 커서 사용되지 않고 남아 있는 빈 공간
        • 해결 방법 : 통합, 압축
    • 가상 기억 장치
      • 보조 기억장치의 일부르 주기억 장치 처럼 사용함으로써 용량이 작은 주기억장치를 마치 큰 용량 처럼 사용하지는 것
        • 페이지 기법
          • 일정하게 나눠서 적재
        • 세그먼테이션 기법
          • 다양한 크기의 논리적인 단위로 나눠서 적재
    • 파일의 구조 
      • 순차 파일(Sequential File)
        • 레코드를 논리적 처리 순서에 따라 연속된 물리적 저장공간에 기록하는 것
          • 장점 
            • 파일의 구성요이, 기억 공간 이용 효유르 처리속도, 처리비용, good
          • 단점
            • 새 레코드를 삽입하거나 삭제하는 겨웅 파일 전체를 복사한 후 수행해야 하므로 시간이 많이 걸림
            • 검색 효율이 낮음, 접근 및 응답 시간이 느림
      • 색인 순차 파일
        • 순차 파일과 직접 파일에서 지원하는 편성 방법이 결합된 형태
        • 장점
          • 순차, 임의 처리가 모두 가능 효율적인 검색 가능, 삭제, 삽입, 갱신이 용이함
        • 단점
          • 색인, 오버플로, 처리를 위한 추가 기억공간이 필요 접근 시간이 직접 파일보다 느림
      • 직접 파일
        • 파일을 구성하는 레코드를 임의의 물리적 저장공간에 기록하는 것
        • 장점
          • 각 레코드에 직접 접근하거나, 기록, 접근 시간, 레코드 삽입, 삭제가 용이함
        • 단점
          • 레코드 주소 변환 과정이 필요하고 이로인한 시간 소요, 기억공간의 효율이 저하, 물리적 구조에 대한 지식이 필요
    • 분산 처리 시스템
      • 장점
        • 투명성 보장
        • 연산 속도, 신뢰도 사용 가능도가 향상
      • 단점
        • 보아넹 취약하다
        • 소프트웨어 개발이 어려워 구축 비용이 어렵고 복잡한다. 
    • 분산 처리 시스템의 종류 
      • 스타형
        • 모든 사이트가 하나의 중앙 노드에 직접 연결
        • 중앙 노드 과부하 시 현격한 성능 저하
      • 링형
        • 각 사이트는 다른 두 사이트와 물리적인 연결
        • 단방향 또는 양방향으로 정보 전달 가능
      • 트리형
        • 상위 사이트가 고장 나면 그 하위 사이트 들은 통신 불가능
      • 다중 접근 버스 연결형
        • 하나의 버스가 스시템의 내의 모든 노드와 연결
        • 노드의 추가 삭제가 용이
      • 망형
        • 각 사이트 내 모든 사이트오 ㅏ연결된 구조
        • 설치비용은 많지만 통신 비용은 적다.

 

 

+ Recent posts