728x90

운영체제의 개념

운영체제의 정의

- 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임

운영체제의 목적

- 처리 능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등

- 운영체제의 성능을 평가하는 기준

    -> 처리능력 : 일정 시간 내에 시스템이 처리하는 일의 양

    -> 반환 시간(≒응답 시간) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸리는 시간

    -> 사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도

    -> 신뢰도 : 주어진 문제를 정확하게 해결하는 정도

 

운영체제의 기능

- 프로세서(처리기 / Processor / CPU), 기억장치(주기억, 보조기억), 입 출력 장치, 파일 및 정보 등의 자원 관리

- 자원을 효율적으로 관리하기 위해 스케쥴링 기능 제공

- 사용자와 시스템 간 편리한 인터페이스 제공

- 각종 하드웨어와 네트워크를 관리 제어

- 데이터 관리, 데이터 및 자원의 공유 기능 제공

- 시스템의 오류 검사 및 복구

- 자원 보호 기능 제공

- 입 출력에 대한 보조 기능 제공

- 가상 계산기 기능 제공

 

운영체제의 주요 자원 관리

- 프로세스 관리 : 프로세스 스케쥴링 및 동기화 관리

- 기억장치 관리 : 프로세스에게 메모리 할당 및 회수 관리

- 주변장치 관리 : 입 출력장치 스케쥴링 및 전반적인 관리

- 파일 관리 : 파일의 생성과 삭제, 변경, 유지 등의 관리

 

운영체제의 종류

- Windows, UNIX, LINUX, MacOS, MS-DOS 등

 

Windows

Windows의 개요

- 마이크로소프트에서 개발한 운영체제

 

Windows 시스템의 특징

- 그래픽 사용자 인터페이스(GUI, Graphci User Interface) : 키보드로 명령어를 수행하지 않고 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행

- 선점형 멀티태스킹 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환

- Pnp(Plug and Play) : 하드웨어를 설치할 때 해당 하드웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 기능

- OLE(Object Linking and Embedding) : 다른 응용 프로그램에서 작성된 문자나 그림 등의 개체 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있는 기능

- Single User 시스템 : 컴퓨터 한대를 한 사람이 독점 사용

 

UNIX / LINUX / MacOS

UNIX의 개요 및 특징

- 1960년대 AT&T 벨(Bell) 연구소, MIT, General Electric이 공동 개발한 운영체제

- 시분할 시스템을 위해 설계된 대화식 운영체제

- 소스코드가 개방형 시스템로 구성되어 있음

- 대부분 C언어로 작성되어 이식성이 높으며 장치, 프로세스 간 호환성이 높음

- 다중 사용자(Multi-User) 및 다중 작업(Multi-Tasking)을 지원

- 트리 구조의 파일 시스템을 가짐

 

UNIX 시스템의 구성

- 커널(Kernel)

    -> 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됨

    -> 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 담당

    -> 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러 가지 기능 수행

- 쉘(Shell)

    -> 명령어를 인식하여 수행하는 명령어 해석기

    -> 시스템과 사용자 간의 인터페이스 담당

    -> DOS의 COMMAND.COM과 같은 기능 수행

    -> 주기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 존재

    -> 보조기억장치에서 교체 처리 가능

    -> 파이프라인 기능 지원

    -> 파이프라인 : 둘 이상의 명령을 함께 묶어 처리한 결과를 다른 명령의 입력으로 전환하는 기능

    -> 입출력 재지정을 통해 입력과 출력의 방향을 변경할 수 있음

    -> 공용 Shell이나 사용자가 만들 Shell을 사용할 수 있음

- 유틸리티(Utility Program)

    -> 사용자가 작성한 외부 프로그램을 처리

    -> DOS에서의 외부 명령어에 해당

    -> 에디터, 컴파일러, 인터프리터, 디버거 등

 

LINUX의 개요 및 특징

- 1991년 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제

- 프로그램 소스 코드가 무료로 공개되어 있어 사용자가 원하는 기능을 추할 수 있고 다양한 플랫폼에 설치하여 사용이 가능하여 재배포가 가능

- UNIX와 완벽하게 호환

- 대부분의 특징이 UNIX와 동일

 

MacOS의 개요 및 특징

- 1980년대 애플사가 UNIX를 기반으로 개발한 운영체제

- 애플사에서 생산하는 제품에서만 사용 가능

- 드라이버 설치 및 install / uninstall 과정이 단순

 

저장장치 관리의 개요

저장장치 계층 구조의 특징

- 주기억장치는 각기 자신의 주소를 가지는 워드 또는 바이트들로 구성되어 주소를 이용하여 접근

- 보조기억장치에 있는 프로그램이나 데이터는 CPU가 직접 액세스 할 수 없음

- 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 액세스

기억장치의 관리 전략의 개요

- 3치 : Fetch(반입), 배치(Placement), 재배치(Replacement) 전략

 

반입(Fetch) 전략

- 보조기억장치에 보관중인 데이터를 언제 주기억장치에 적재할 것인지를 결정하는 전략

- 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재

- 예상 반입 : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재

 

배치(Placement) 전략

- 새로 반입되는 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략

- 최초 적합(First Fit) : 배치가 가능한 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치

- 최적 적합(Best Fit) : 배치가 가능한 크기의 빈 영역 중에서 단편화를 가장 적게 남기는 분할 영역에 배치

- 최악 적합(Worst Fit) : 배치가 가능한 크기의 빈 영역중에서 단편화를 가장 많이 남기는 분할 영역에 배치

- 단편화

    -> 내부 단편화 : 배치 후 남은 공간

    -> 외부 단편화 : 배치를 못해 빈 공간으로 남아있는 공간

재배치(Replacement) 전략

- 주기억장치의 모든 영역이 이미 사용중인사용 중인 상태에서 새로운 프로그램이나 데이터가 배치하려고 할 때, 이미 사용 중인 영역에서 어느 영역을 교체할 것인지를 결정하는 전략

- FIFO, OPT, LRU, LFU, NUR, SCR 등

 

주기억장치 할당 기법

주기억장치 할당의 개념

- 프로그램이나 데이터를 실행시키기 위해 주기억장치에 어떻게 할당할 것인지에 대한 내용

- 연속 할당 기법

    -> 프로그램을 주 기억장치에 연속으로 할당하는 기법

    -> 단일 분할 할당 기법 : 오버레이, 스와핑

    -> 다중 분할 기법 : 고정 분할 할당 기법, 동적 분할 할당 기법

- 분산 할당 기법

    -> 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당하는 기법

    -> 페이징 기법, 세그먼테이션 기법

 

단일 분할 할당 기법

- 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법

- 오버레이 기법

    -> 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법

    -> 보조기억장치에 저장된 하나의 프로그램을 여러개의 조각으로 분할한 후 필요한 조각을 차례로 주기억장치에 적재하여 프로그램을 실행

- 스와핑 기법

    -> 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법

다중 분할 할당 기법

- 고정 분할 할당 기법 : 프로그램에 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비 중인 프로그램을 각 영역에서 할당하여 수행하는 기법

- 가변 분할 할당 기법 : 미리 주기억장치에 분할해 놓는 것이 아닌 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할

실기 정리

 

2021 정보처리기사 실기 정리

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 실기 수험생들의 궁금증을 100% 반영시험에 나올만한 내

1d1cblog.tistory.com

 

728x90

+ Recent posts