반응형
자격증 준비하면서 내가 이해하기 편하게, 다시 보기 좋게 정리하는 정보처리기사의 내용 (자격증 상세 내용은 아래)
http://www.q-net.or.kr/crf005.do?id=crf00505&gSite=Q&gId=
운영체제, 페이지 기법 및 환경변수 명령어 부분을 정리한 것
운영체제
- 컴퓨터 시스템의 자원들을 효율적으로 관리
- 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 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에서의 외부 명령어에 해당
- 에디터, 컴파일러, 인터프리터, 디버거
- 커널(kernel)
LINUX
- 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
- 대부분 UNIX와 특징이 동일
MacOS
- 애플사가 UNIX를 기반으로 개발한 운영체제
- 드라이버 설치과정이 단순
Android
- 구글 사에서 개발한 모바일 운영체제
- 자바와 코틀린의 애플리케이션을 작성
IOS
- 애플사에서 개발한 모바일 운영체제
- 애플사 고유의 모바일 운영체제 제품에 탑재 불가
기억장치의 관리 전략
- 반입 전략 : 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정
- 요구 반입 : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
- 예상 반입 : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법
- 배치 전략 : 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정
- 최초 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법
- 최적 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
- 최악 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법
- 교체 전략
- 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정
- FIFO, OPT, LRU, LFU, NUR , SCR
연속 할당 기법
- 단일 분할 할당 기법
- 한순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법
- 오버레이 기법 : 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법
- 스와핑 기법 : 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법
- 다중 분할 할당 기법
- 고정 분할 할당 기법 : 프로그램을 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비 중인 프로그램을 각 영역에 할당하여 수행하는 기법
- 가변 분할 하당 기법 : 주기억장치를 미리 분할해 놓지 않고 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법
- 분산 할당 기법
- 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법
- 페이징 기법, 세그먼테이션 기법
기억장치기법
- 보조기억장치의 일부를 주기억장치처럼 사용하는 것
- 페이징 기법
- 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 주기억장치의 영역에 적재시켜 실행
- 외부 단편화는 발생하지 않으나 내부 단편화를 발생할 수 있음
- 세그먼테이션 기법
- 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행
- 기억공간을 절약하기 위해서 사용
페이지 교체 알고리즘
- 페이지 부재가 발생하면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 페이지 교체 알고리즘
- OPT (최적 교체)
- 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체
- 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘
- FIFO(First In First Out)
- 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체
- LRU(Least Recently Used)
- 최근에 가장 오랫동안 사용하지 않은 페이지를 교체
- 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 신기술 정리 (0) | 2023.04.20 |
---|---|
[정보처리기사 실기] 프로그래밍 언어 활용 정리 (0) | 2023.04.20 |
[정보처리기사 실기] 소프트웨어 보안과 공격 종류 정리 (0) | 2023.04.19 |
[정보처리기사 실기] 프로시저, 트리거 및 ORM 정리 (0) | 2023.04.18 |
[정보처리기사 실기] DDL, DCL, DML 정리 (0) | 2023.04.18 |
댓글