✔운영체제의 개념
운영체제의 정의
컴퓨터 시스템의 자원들을 효율적으로 관리하여, 사용자가 컴퓨터를 편리하고 효과적으로
사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
사용자 |
응용프로그램 |
유틸리티 |
운영체제 |
하드웨어 |
운영체제의 목적
-처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등
-운영체제의 성능을 평가하는 기준
-> 처리능력(Throughput): 일정 시간 내에 시스템이 처리하는 일의 양
-> 반환시간(Turn Around Time)(= 응답시간): 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때 까지 걸리는 시간
-> 사용가능도(Availability): 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
-> 신뢰도(Reliability): 주어진 문제를 정확하게 해결하는 정도
-> 비용이나 반환시간의 최대화로 보기 나옴
운영체제의 기능
-프로레서(처리기, Processor/cpu), 기억장치, 입 출력장치, 파일 및 정보 등의 자원 관리
-자원을 효율적으로 관리하기 위해 스케쥴링 기능 제공
-사용자와 시스템 간 편리한 인터페이스 제공
-각종 하드웨어와 네트워크를 관리 제어
-데이터 관리, 데이터 및 자원의 공유 기능 제공
-시스템의 오류 검사 및 복구
-자원 보호 기능 제공
-입 출력에 대한 보조 기능 제공
-가상 계산기 기능 제공
운영체제의 주요 자원 관리
-프로레스 관리: 프로세스 스케쥴링 및 동기화 관리
-기억장치 관리: 프로세스에게 메모리 할당 및 회수 관리
-주변장치 관리: 입 출력 장치 스케쥴링 및 전반적인 관리
-파일관리: 파일의 생성과 삭제,변경,유지 등의 관리
운영체제의 종류
-windows, UNIX, LINUX, MacOS, MS-DOC
✔Windows
window의 개요
-마이크로소프트에서 개발한 운영체제 1990
window 시스템의 특징
-그래픽사용자 인터페이스(GUI , Graphci User Interface): 키보드로 명령어를 수행하지 않고 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행
-선점형 멀티태스킹(Preemptive Multi - tasking): 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환
-Pnp(Plug and Play, 자동감지기능): 하드웨어를 설치할 때 해당 하드웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 기능
-Single User시스템: 컴퓨터 한대를 한 사람이 독점 사용
-OLE(Object Linking and Embedding): 다른 응용 프로그램에서 작성된 문자나 그림 등의 개체 현재 작성 중인 문서에 연결하거나 삽입하여 편집할 수 있는 기능
✔Unix/ LINUX / MacOS
Unix의 개요 및 특징
-1960년대 AT&T 벨 연구서, MIT, General Electirc 이 공동 개발한 운영체제
-시분할 시스템을 위해 설계된 대화식 운영체제
-소스코드가 개방형 시스템으로 구성되어 있음
-대부분 C언어로 작성되어 이식성이 높으며 장치, 프로세스 간 호환성이 높음
-다중 사용자 및 다중 작업을 지원
-트리 구조의 파일 시스템을 가짐
-> Unix의 장점은?
수행중인 명령문이 끝나기 전에 다른 명령문을 줄 수 있다
Unix 시스템의 구성
커넬(Kernel)
-> 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됨
-> 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 담당
-> 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러가지 기능 수행
->시스템호출은 프로세스가 커널에 접근하기 위한 인터페이스를 제공하는 명령어
쉘(Sheel)
-> 명령어를 인식하여 수행하는 명령어 해석기
->시스템과 사용자간의 인터페이스 담당
-> DOS의 COMMAND.COM 과 같은 기능 수행
-> 주기억 장치에 상주하지 않고 명령어가 포함된 파일 형태로 존재
-> 보조 기억장치에서 교체 처리 가능
-> 파이프라인 기능 지원
-> 파이프라인: 둘 이상의 명령을 함께 묶어 처리한 결과를 다른 명령의 입력으로 전환가능
->두 프로세스를 연결하여 프로세스간 통신을 가능하게 하고, 정보교환가능
-> 입출력 재지정을 통해 입력과 출력의 방향을 변경 할 수 있음
-> 공용 shell이나 사용자가 만들 shell을 사용할 수 있음
유틸리티(U)
->사용자가 작성한 외부 프로그램을 처리
-> DOS에서의 명령어에 해당
-> 에디터, 컴파일러, 인터프리터, 디버거 등
LINUX의 개요 및 특징
-1991년 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
-프로그램 소스 코드가 무료로 공개되어 있어 사용자가 원하는 기능을 추가할 수 있고 다양한 플랫폼에 설치하여 사용이 가능하여 재배포가 가능
-UNIX와 완벽하게 호환
-대부분의 특징이 UNIX와 동일
MacOS 개요 및 특징
-1980년대 애플사가 UNIX를 기반으로 개발한 운영체제
-애플사에서 생산하는 제품에서만 사용가능
-드라이버 설치 및 install uninstall 과정이 단순
✔기억장치 관리의 개요
기억장치 계층 구조의 특징
-계층구조에서 상위로 갈수록 접근 속도와 접근 시간은 빠르지만, 기억장치 용량이 적은 고가이다
-> 접근 속도 높을수록 고가
-주기억장치는 각기 자신의 주소를 갖는 워드 또는 바이트들로 구성되어 있으며 주소를 이용하여 액세스 할 수 있다
-레지스터: 의 프로그램과 데이터는 CPU 가 직접 엑세스 가능
-캐시 기억장치: 의 프로그램과 데이터는 CPU 가 직접 엑세스 가능
-주기억장치: 의 프로그램과 데이터는 CPU 가 직접 엑세스 가능
-보조기억장치: 보조기억장치에 있는 데이터, 프로그램은 직접 엑세스할 수 없다
-> 보조기억장치에 있는 데이터는 주기억장치에 적재 된 후 에 CPU에 의해 엑세스 가능
기억장치의 관리 전략의 개요
보조기억장치에 있는 프로그램이나 데이터를 주기억 장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 것으로 반입(Fetch), 배치(Placement), 교체(Replacement) 전략
반입전략(Fetch)전략 // 언제 적재할지
-보조기억장치에 보관중인 데이터를 언제 주기억장치에 적재할 것인지를 결정하는 전략
-요구 반입: 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재
-예상 반입: 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재
배치전략(Placement)전략✨✨✨// 어디에 위치
-새로 반입되는 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략
- 최초 적합(First Fit): 배치가 가능한 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치(배치결정 제일 빠름)
- 최적 적합(Best Fit): 배치가 가능한 크기의 빈 영역 중에서 단편화(빈 기억공간)를 가장 적게 남기는 분할 영역에 배치
- 최악 적합(Worst Fit): 배치가 가능한 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치
- 단편화
-> 내부 단편화: 배치 후 남은공간
-> 외부 단편화: 배치를 못해 빈 공간으로 남아있는 공간
교체전략(Replacement) 전략
- 주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터가 배치하려고 할 때,
이미 사용 중인 영역에서 어느 영역을 교체 할 것인지를 결정하는 전략
-> 주기억 장치 내의 빈 공간 확보를 위해 제거할 프로그램/데이터를 선택하는 전략
FIFO, OPT, LRU, LFU, NUR, SCR
✔주기억장치 할당 기법
주기억장치 할당의 개념
- 프로그램이나 데이터를 실행시키기 위해 주기억장치에 어떻게 할당할 것인지에 대한 내용
-연속 할당 기법
-> 프로그램을 주 기억장치에 연속으로 할당하는 기법
-> 단일 분할 할당 기법: 오버레이, 스와핑
-> 다중 분할 기법: 고정 분할 할당 기법(정적 할당), 가변 분할 할당 기법(동적 할당)
-분산 할당 기법
-> 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법
-> 페이징 기법, 세그먼테이션 기법
-단일 분할 할당 기법
-주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법
-오버레이 기법
-> 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법
-> 보조기억장치에 저장된 하나의 프로그램을 여러개의 조각으로 분할 한 후 필요한 조각을 차례로 주기억장치에 적재하여 프로그램을 실행
-스와핑 기법
-> 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법
다중 분할 할당 기법 // 여러가지 할당
-고정 분할 할당 기법: 프로그램에 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러개의 고정된 크기로 분할하고 준비상태 큐에서 준비 중인 프로그램을 각 영역에서 할당하여 수행하는 기법
-가변 분할 할단 기법: 미리 주기억장치에 분할 해 놓은 것이 아닌 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할
'정보처리기사' 카테고리의 다른 글
3장// 제품 소프트웨어 패키징 - 배포 (0) | 2021.08.13 |
---|---|
2장// 통합구현 -실무에 유용 (0) | 2021.08.13 |
1장// 데이터 입 출력 구현 (0) | 2021.08.12 |
응용 SW 기초 기술 활용(2) (0) | 2021.08.12 |
응용 SW 기초 기술 활용(2) (0) | 2021.08.08 |