운영체제(OS, OPERATING SYSTEM)
- 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 시스템 소프트웨어의 일종
- 프로세서(CPU), 기억장치(메모리), 입출력장치, 파일 및 정보 등의 자원을 관리한다
운영체제의 목적
- 처리능력 : 일정 시간 내에 시스템이 처리하는 일의 양
- 반환시간 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도: 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도
UNIX
- UNIX는 AT&T 벨(BELL) 연구소, MIT, GENERAL ELECTRIC이 공동 개발한 운영체제
- 시분할 시스템을 위해 설계된 대화식 운영체제
- 대부분 C언어로 작성 되어있어 이식성 높음
- 트리 구조의 파일 시스템
UNIX 시스템의 구성
- 커널(KERNEL)
- 하드웨어를 보호하고, 프로그램과 하드웨어 인터페이스 담당
- 프로세스 관리, 기억 장치 관리
- 쉘(SHELL)
- 사용자의 명령어 인식, 프로그램 호출, 명령을 수행하는 명령어 해석기
- 시스템과 사용자간 인터페이스 담당
LINUX
- 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
- 소스코드 무료로 공개되어있음
ANDROID
- 구글 사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
- 자바와 코틀린으로 애플리케이션 작성
기억장치 관리 - 반입(FETCH) 전략
- 반입 전략은 보조기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략
- 요구 반입(DEMAND FETCH) : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
- 예상 반입(ANTICIPATORY FETCH) : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법
기억장치 관리 - 배치(PLACEMENT) 전략
- 프로그램이나 데이터를 주기억 장치의 어디에 위치시킬 것인지를 결정하는 전략
- 최초 적합(FIRST FIT) : 빈 영역 중에서 첫번째 분할 영역에 배치
- 최적 적합(BEST FIT) : 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치
- 최악 적합(WORST FIT) : 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치
주기억장치 할당기법
- 프로그램이나 데이터를 실행시키기 위해 주기억 장치에 어떻게 할당할 것인지를 결정하는 기법
- 연속할당 기법 : 프로그램을 주기억장치에 연속으로 할당하는 기법(단일 분할 할당 기법, 다중 분할 할당 기법)
- 분산할당 기법 : 프로그램을 특정 단위의 조각으로 나누어 주기억 장치 내에 분산하여 할당하는 기법(페이징 기법, 세그먼테이션 기법)
단일 분할 할당기법
- 한 순간에는 오직 한 명의 사용자만이 주 기억장치의 사용자 영역을 사용하는 기법
- 오버레이(OVERAY) 기법 : 주기억 장치보다 큰 사용자 프로그램을 실행하기 위한 기법
- 스와핑 기법 : 하나의 프로그램 전체를 주기억장치에 할 당하여 사용핟 ㅏ필요에 따라 다른 프로그램과 교체하는 기법
다중 분할 할당기법
- 고정 분할 할당 기법 = 정적 할당 기법
- 주기억장치의 영역을 여러 개 고정된 크기로 분할하고, 프로그램을 각 영역에 할당하여 수행하는 기법
- 가변 분할 할당 기법 = 동적 할당 기법
- 프로그램을 주기억 장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법
가상기억장치(VIRTUAL MEMORY)
- 보조기억 장치의 일부를 주기억 장치처럼 사용하는 것
- 가상기억장치의 구현 방법 : 페이징 기법, 세그먼테이션 기법
가상기억장치 구현 기법
- 페이징(PAGING) 기법
- 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후, 주기억장치의 영역에 적재시켜 실행하는 기법
- 세그먼테이션(SEGMENTATION) 기법
- 프로그램을 다양한(가변적) 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법
페이지 교체 알고리즘
- 페이지 부재가 발생하고, 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법
페이지 교체 알고리즘 - OPT(OPTIMAL REPLACEMENT)
- 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
- 페이지 부재 횟수가 가장 적게 발생하는 효율적인 알고리즘
페이지 교체 알고리즘 - FIFO(FIRST IN FIRST OUT)
- 가장 먼저 들어와서 가장 오래있었던 페이지를 교체하는 기법(P455)
페이지 교체 알고리즘 - LRU(LEAST RECENTLY USED)
- 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
페이지 교체 알고리즘 - LFU(LEAST FREQUENTLY USED)
- 사용 빈도가 가장 적은 페이지를 교체하는 기법
페이지 교체 알고리즘 - NUR(NOT USED RECENTLY)
- 최근에 사용하지 않은 페이지를 교체하는 기법
- 각 페이지마다 두개의 비트, 참조 비트와 변형비트가 사용된다.
페이지 교체 알고리즘 - SCR(SECOND CHANCE REPLACEMENT, 2차 기회 교체)
- 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법
LOCALITY
- 프로세스가 실행되는 동안 주기억 장치를 참조할 때, 일부페이지만 집중적으로 참조하는 성질이 있다는 이론
- 시간 구역성(TEMPORAL LOCALITY) : 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스하는 현상
- 공간 구역성(SPATIAL LOCALITY) : 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상
워킹셋(WORKING SET)
- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 자주 참조되는 워킹ㅇ셋을 주 기억 장치에 상주시킴으로써 페이지 부재및 페이지 교체현상이 줄어들어 프로세스의 기억장치 사용이 안정된다.
스래싱(THRASHING)
- 프로세스의 처리시간 보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 시스템 성능 저하 야기
프로세스
- 실행 중인 프로그램
- PCB를 가진 프로그램
- 실 기억장치에 저장된 프로그램
- 비동기적 행위를 일으키는 주체
- 프로시저가 활동중인 것
PCB(PROCESS CONTROL BLOCK, 프로세스 제어 블록)
- 운영체제가 프로세스에 대한 중요한 정보를 저장해놓는 곳
- PCB에 저장되어 있는 정보
- 프로세스 현재 상태
- 포인터
- 프로세스 고유 식별자
- CPU 레지스터 정보
- 주기억장치 관리정보
- 입출력 상태 정보
- 계정 정보
프로세스 상태 전이
- 프로세스 상태 전이는 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것을 말한다.
프로세스 상태 전이 관련 용어
디스패치(DISPATCH)
준비 상태에서 대기하고 있는 프로세스 중 하나의 프로세서를 할당 받아 실행상태로 전이되는 과정WAKE UP
입,출력 작업이 완료되어 프로세스가 대기 상태에서 준비상태로 전이되는 과정SPOOLING(스풀링)
다중 프로그래밍 시스템의 성능을 향상시키기 위해 입출력할 데이터를 직접 보내지 않고, 나중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정
스레드
시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위, 또는 프로세스 내에서의 작업 단위
스케줄링
시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
비선점 스케줄링(NON-PREEMPTIVE SCHEDULING)
- 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수없는 스케줄링 기법
- 일괄처리 방식에 적합
- 종류 : FCFS, SJF, 우선순위, HRN, 기한부 등
선점 스케줄링
- 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법
- 빠른 응답시간을 요구하는 대화식 시분할 시스템에 사용
- ROUND ROBIN, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등
FCFS(FIRST COME FIRST SERVICE)(P459 계산문제)
준비상태 큐에 도착한 순서에 따라 차례대로 CPU를 할당하는 기법
SJF(SHORTEST JOB FIRST, 단기 작업 우선)
준비상태 큐에 실행시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
HRM(HIGHEST RESPONSE-RATIO NEXT)
대기시간과 서비스(실행) 시간을 이용하는 기법
환경 변수(ENVIRONMENT VARIABLE)
- 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임
- 환경변수는 변수명과 값으로 국성된다.
- UNIX나 LINUX에서는 set, env, printenve, setenv 중 하나를 입력하면 모든 환경변수와 값을 표시한다.
WINDOWS 기본 명령어
- dir : 현재 디렉터리 파일 목록 표시
- copy : 파일을 복사함
- del : 파일을 삭제함
- type : 파일의 내용을 표시함
- ren : 파일의 이름을 변경함
- md : 디렉터리를 생성함
- cd : 동일한 드라이브에서 디렉터리 위치를 변경함
- cls : 화면의 내용을 지움
- attrib : 파일의 속성을 변경함
- find : 파일에서 문자열을 찾음
- chkdsk : 디스크 상태를 점검함
- format : 디스크 표면을 트랙과 섹터로 나누어 초기화함
- move : 파일을 이동함
UNIX/LINUX 기본 명령어
- cat : 파일 내용을 화면에 표시함
- cd : 디렉터리의 위치를 변경함
- chown : 파일 소유자와 그룹을 변경함
- cp : 파일을 복사함
- rm : 파일을 삭제함
- find : 파일을 찾음
- kill : pid(프로세스 고유 번호)를 이용하여 프로세스 종료
- fork : 새로운 프로세스 생성
- ls : 현재 디렉터리의 파일 목록을 표시함
- mkdir : 디렉터리 생성
- rmdir : 디렉터리 삭제
- mv : 파일 이동
- ps : 현재 실행중인 프로세스 표시
- pwd : 현재 작업중인 디렉터리 경로를 화면에 표시
- who : 현재 시스템에 접속해있는 사용자를 표시
chmod
- 파일의 보호모드를 설정하여 파일의 사용허가를 지정하는 UNIX 명령어
- 8진법 숫자를 이용한 방법으로 파일의 보호모드를 설정할 수 있다.
- -rwx rwx r-x
- 파일구분(-) : 파일을 의미
- 소유자(rwx) : 읽기, 쓰기, 실행 가능
- 그룹(rwx) : 읽기, 쓰기, 실행 가능
- 기타 사용자(r-x) : 읽기, 실행만 가능
- chmod 추가 공부
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 실기 대비 요약 정리 - 제품 소프트웨어 패키징 (4) | 2023.04.05 |
---|---|
[정보처리기사] 실기 대비 요약 정리 - 응용 SW 기초 기술 활용2 (0) | 2023.04.05 |
[정보처리기사] 실기 대비 요약 정리 - 소프트웨어 개발 보안 구축 (0) | 2023.04.04 |
[정보처리기사] 실기 대비 요약 정리 - SQL 응용 (0) | 2023.04.03 |
[정보처리기사] 실기 대비 요약 정리 - 애플리케이션 테스트 관리 (0) | 2023.04.03 |