본문 바로가기
자격증/정보처리기사

[정보처리기사 실기] 운영체제, 페이지 기법 및 환경변수 명령어 정리

by char_lie 2023. 4. 20.
반응형

자격증 준비하면서 내가 이해하기 편하게, 다시 보기 좋게 정리하는 정보처리기사의 내용 (자격증 상세 내용은 아래)

http://www.q-net.or.kr/crf005.do?id=crf00505&gSite=Q&gId=

 

http://www.q-net.or.kr/crf005.do?gId=&gSite=Q&id=crf00505

 

www.q-net.or.kr

운영체제, 페이지 기법 및 환경변수 명령어 부분을 정리한 것


운영체제

  • 컴퓨터 시스템의 자원들을 효율적으로 관리
  • 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
  • Windows, UNIX, LINUX, MacOS, MS-DOS 등

운영체제의 목적

  • 처리 능력 향상 : 일정 시간 내에 시스템이 처리하는 일의 양
  • 변환 시간 향상 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 대까지 걸린 시간
  • 사용 가능도 향상 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
  • 신뢰도 향상 : 시스템이 주어진 무제를 정확하게 해결하는 정도

Windows

  • 그래픽 사용자 인터페이스(GUI) : 키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식
  • 선점형 멀티태스킹 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 직업의 CPU 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식
  • PnP(plug and Play) : 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능
  • OLE : 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능
  • 255자의 긴 파일명 : \ / * ? “ <> |를 제외한 모든 문자 및 공백을 사용하여 최대 255자까지 파일 이름을 지정할 수 있음
  • Signle-User 시스템 : 컴퓨터 한 대를 한 사람만이 독점해서 사용함

UNIX

  • AT &T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제
  • 이식성이 높으며 장치, 프로세스 간의 호환성이 높다.
    • 커널(kernel)
      • 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당
      • UNIX의 가장 핵심적인 부분임
      • 프로세서(CPU 스케쥴링) 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행
    • 쉘(Shell)
      • 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기임
      • 시스템과 사용자 간의 인터페이스를 담당함
      • Borune Shell, C shell, Korn shell
    • 유틸리티 프로그램
      • 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용함
      • DOS에서의 외부 명령어에 해당
      • 에디터, 컴파일러, 인터프리터, 디버거

LINUX

  • 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
  • 대부분 UNIX와 특징이 동일

MacOS

  • 애플사가 UNIX를 기반으로 개발한 운영체제
  • 드라이버 설치과정이 단순

Android

  • 구글 사에서 개발한 모바일 운영체제
  • 자바와 코틀린의 애플리케이션을 작성

IOS

  • 애플사에서 개발한 모바일 운영체제
  • 애플사 고유의 모바일 운영체제 제품에 탑재 불가

기억장치의 관리 전략

  • 반입 전략 : 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정
    • 요구 반입 : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
    • 예상 반입 : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법
  • 배치 전략 : 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정
    • 최초 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법
    • 최적 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
    • 최악 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법
  • 교체 전략
    • 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정
    • FIFO, OPT, LRU, LFU, NUR , SCR

연속 할당 기법

  • 단일 분할 할당 기법
    • 한순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법
    • 오버레이 기법 : 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법
    • 스와핑 기법 : 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법
  • 다중 분할 할당 기법
    • 고정 분할 할당 기법 : 프로그램을 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비 중인 프로그램을 각 영역에 할당하여 수행하는 기법
    • 가변 분할 하당 기법 : 주기억장치를 미리 분할해 놓지 않고 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법
  • 분산 할당 기법
    • 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법
    • 페이징 기법, 세그먼테이션 기법

기억장치기법

  • 보조기억장치의 일부를 주기억장치처럼 사용하는 것
  • 페이징 기법
    • 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 주기억장치의 영역에 적재시켜 실행
    • 외부 단편화는 발생하지 않으나 내부 단편화를 발생할 수 있음
  • 세그먼테이션 기법
    • 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행
    • 기억공간을 절약하기 위해서 사용

페이지 교체 알고리즘

  • 페이지 부재가 발생하면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 페이지 교체 알고리즘
  • OPT (최적 교체)
    • 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체
    • 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘
  • FIFO(First In First Out)
    • 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체

그림출처 :&nbsp;https://doh-an.tistory.com/28

  • LRU(Least Recently Used)
    • 최근에 가장 오랫동안 사용하지 않은 페이지를 교체

그림출처 :&nbsp;https://doh-an.tistory.com/28

  • LFU(Least Frequently Used)
    • 사용 빈도가 가장 적은 페이지를 교체하는 기법
  • NUR(Not Used Recently)
    • 최근에 사용하지 않은 페이지를 교체하는 기법
  • SCR
    • 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지와 교체를 방지하는 기법

페이지 크기가 작을 경우의 페이징 기법

  • 페이지 단편화가 감소되고, 한 개의 페이지를 주기억장치로 이동시키는 시간이 줄어듦
  • 불필요한 내용이 주기억장치에 적재될 확률이 적으므로 효율적인 워킹 셋 유지 가능
  • 페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어짐
  • 디스크 접근 횟수가 많아져서 전체적인 입출력 시간은 늘어남

페이지 크기가 클 경우

  • 페이지 정보를 갖는 페이지 맵 테이블의 크기가 작아지고, 매핑 속도가 빨라짐
  • 디스크 접근 횟수가 줄어들어 전체적인 입출력의 효율성이 증가
  • 페이지 단편화가 증가되고 한 개의 페이지를 주기억장치로 이동시키는 시간이 늘어 남

Locality

  • 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
  • 시간 구역성 : 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스 하는 현상
  • 공간 구역성 : 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상

워킹 셋

  • 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
  • 자주 참조되는 워킹 셋을 주기억자치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용 안정

스래싱

  • 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
  • 다중 프로그래밍의 정도가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지 높아짐
  • 다중 프로그래밍의 정도가 더욱 커지면 스래싱이 나타나 CPU의 이용률 급격히 감소

PCB

  • 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
  • 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거
  • 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, 스케줄링 및 프로세스의 우선순위, CPU 레지스터 정보 등이 저장되어 있음

프로세스 상태 전이

  • 제출 : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
  • 접수 : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
  • 준비 : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
  • 실행 : 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
  • 대기, 블록 : 프로세스에 입출력처리가 필요하면 현재 실행 중인 프로세스가 중단되고 입출력 처리가 완료될 때까지 대기하고 있는 상태
  • 종료 : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

프로세스 상태 전이 관련 용어

  • Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정
  • Wake up : 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정
  • Spooling : 입출력장치의 공유 및 상대적으로 느린 입출력장치의 처리 속도를 보완하고 다중 프로그래밍 시스템의 성능을 향상시키기 위해 입출력 데이터를 직접 입출력장치에 보내지 않고 나중에 한 번에 입출력하기 위해 디스크에 저장하는 과정
  • 교통량 제어기 : 프로세스의 상태에 대한 조사와 통보

스레드

  • 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
  • 프로세스의 일부 특성을 갖고 있기에 경량 프로세스라고도 함

스케줄링

  • 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
  • 장기 스케줄링 : 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 준비상태 큐로 보내는 작업
  • 중기 스케줄링 : 어떤 프로세스들이 CPU를 할당받을 것인지를 결정하는 작업
  • 단기 스케줄링 : 프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업

스케줄링의 목적

  • 공정성, 처리율 증가, CPU 이용률 증가, 우선순위 제도, 오버헤드 최소화, 응답 시간 최소화, 반환 시간 최소화, 대기 시간 최소화, 균형 있는 자원의 사용, 무한 연기 회피 등

비선점 스케줄링

  • 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
  • 프로세스 응답 시간의 예측 용이 및 일괄 처리 방식에 적합
  • FCFS, SJF, 우선순위, HRN, 기한부 등

선점 스케줄링

  • 순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법
  • 우선순위가 높은 프로세스를 빠르게 처리 가능
  • Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등

FCFS(FIFO, 선입선출)

  • 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
  • p1 = 20, p2 = 4, p3 =6 일 때
  • 평균 실행 시간 : (20+4+6) /3 =10
  • 평균 대기 시간 : (0+20+24)/3 = 14.6
  • 평균 반환 시간 : (20+24+30)/3 = 24.6

SJF(단기 작업 우선)

  • 준비상태 큐에서 실행시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
  • p1 = 20, p2 = 4, p3 =6 일 때
  • 평균 실행 시간 : (4+6+20) /3 =10
  • 평균 대기 시간 : (0+4+10)/3 = 4.6
  • 평균 반환 시간 : (4+10+30)/3 = 14.6

NRN

  • 대기 시간과 서비스(실행) 시간을 이용하는 기법
  • 우선순위 계산 → (대기 시간 + 서비스시간)/서비스 시간
  • p1 = 실행시간 20, 대기시간 10 p2 = 실행시간 4, 대기 시간 20, p3 =실행 시간 6 일 때

환경변수

  • 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임
  • 시스템 전반에 걸쳐 작용되는 시스템 환경 변수와 사용자 계정 내에서만 적용되는 사용자 환경 변수로 구분

Widnows 주요 환경 변수

  • %ALLUSERPROFILE% : 모든 사용자의 프로필이 저장된 폴더
  • %AAPDATA% : 설치된 프로그램의 필요 데이터가 저장된 폴더
  • %COMSPEC% : 기본 명령 프롬프트로 사용할 프로그램명
  • %HOMEDRIVE% : 로그인한 계정의 정보가 저장된 드라이브
  • %HOMEPATH% : 로그인한 계정의 기본 폴더
  • %LOGONSERVER% : 로그인한 계정이 접속한 서버명
  • %PATH% : 실행 파일을 찾는 경로
  • %PATHEXT% : cmd에서 실행할 수 있는 파일의 확장자 목록
  • %PROGRAMFILES% : 기본 프로그램의 설치 폴더
  • %SYSTEMDRIVE% : Windows가 부팅된 드라이브
  • %SYSTEMROOT% : 부팅된 운영체제가 들어 있는 폴더
  • %TEMP% or %TMP% : 임시 파일 저장되는 폴더
  • %USERDOMAIN% : 로그인한 시스템의 도메인명
  • %USERNAME% : 로그인한 계정 이름
  • %USERNAME% : 로그인한 계정 이름
  • %USERPROFILE% : 로그인한 유저의 프로필이 저장된 폴더명

UNIX/LINUS 주요 환경 변수

  • $DISPLAY : 현재 X윈도 디스플레이 위치
  • $HOME : 사용자의 홈 디렉터리
  • $LANG : 프로그램 사용 시 기본적으로 지원되는 언어
  • $MAIL : 메일을 보관하는 경로
  • $PATH : 실행 파일을 찾는 경로
  • $PS1 : 쉘 프롬프트 정보
  • $PWD : 현재 작업하는 디렉터리
  • $TERM : 로긴 터미널 타입
  • $USER : 사용자의 이름

Windows 기본 명령어

  • DIR : 현재 디렉터리의 파일 목록을 표시함
  • COPY : 파일을 복사함
  • DEL : 파일을 삭제함
  • TYPE : 파일의 내용을 표시함
  • REN : 파일의 이름을 변경함
  • MD : 디렉터리를 생성함
  • CD : 동일한 드라이브에서 디렉터리의 위치를 변경함
  • CLS : 화면의 내용을 지움
  • ATTRIB : 파일의 속성을 변경함
  • FIND : 파일에서 문자열을 찾음
  • CHKDSK : 디스크 상태를 점검함
  • FORMAT : 디스크 표면을 트랙과 섹터로 나누어 초기화함
  • MOVE : 파일을 이동함

UNIX/LINUX 기본 명령어

  • cat : 파일 내용을 화면에 표시
  • cd : 디렉터의 위치를 변경
  • chmod : 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정
  • chown : 파일의 소유자와 그룹을 변경
  • cp : 파일을 복제
  • rm : 파일을 삭제
  • find : 파일을 찾음
  • fsck : 파일 시스템을 검사하고 보수
  • kill : PID를 이용하여 프로세스 종료
  • fork : 새로운 프로세스 생성
  • killall : 프로세스의 이름을 이용하여 프로세스 종료
  • ls : 현재 디렉터리의 파일 목록을 표시
  • mkdir : 디렉터리 생성
  • rmdir : 디렉터리 삭제
  • mv : 파일을 이동
  • ps : 현재 실행 중인 프로세스를 표시
  • pwd : 현재 작업 중인 디렉터리 경로를 화면에 표시
  • top : 시스템의 프로세서와 메모리 사용 현황 표시
  • who : 현재 시스템에 접속해 있는 사용자 표시

뒤로 이어지는 내용

https://edder773.tistory.com/208

 

[정보처리기사 실기] 프로토콜 및 IT 신기술 정리

자격증 준비하면서 내가 이해하기 편하게, 다시 보기 좋게 정리하는 정보처리기사의 내용 (자격증 상세 내용은 아래) http://www.q-net.or.kr/crf005.do?id=crf00505&gSite=Q&gId= http://www.q-net.or.kr/crf005.do?gId=&gSit

edder773.tistory.com

 

반응형

댓글