운영체제 개요
운영체제
운영체제란 (OS : Operating System) 는 컴퓨터 하드웨어가 컴퓨터 소프트웨어와 통신하고 작동하도록하는 소프트웨어 프로그램이다.
- 하드웨어 자원들과 정보를 최대한 효율적 으로 운영하기 위해 하드웨어와 사용자 프로그램 사이에 존재하는 시스템 프로그램을 의미한다.
- 컴퓨터를 부팅시키고 운영하는 프로그램이다.
- 운영체제의 선택에 따라 사용하는 응용프로그램이 달라진다.
- 운영체제의 종류에 의하여 PC, 서버등으로 컴퓨터의 용도가 결정된다.
컴퓨터를 운영하는 프로그램의 분류
- 소프트웨어
- 애플리케이션
- 워드
- 게임
- 그래픽
- 기타 애플리케이션
- 운영체제
- Windows
- UNIX
- Linux
- MacOS
- 기타 OS
- 애플리케이션
시스템 소프트웨어
컴퓨터를 운영하기 위한 프로그램과 프로그래밍 언어를 해석하는 컴파일러 등을 시스템 소프트웨어라고 한다.
- 예) 운영체제
응용 소프트웨어
사용자가 실제 업무 처리를 하기 위해 사용하는 프로그램을 응용 소프트웨어라고 한다.
- 예) 워드프로세서, 스프레드시트, 데이터베이스, 컴퓨터 그래픽 소프트웨어, 게임 소프트웨어 등
드라이버
컴퓨터에 설치된 하드웨어를 구동하는 프로그램을 드라이버리고 한다.
- 예) 비디오카드 드라이버, 사운드카드 드라이버, 모뎀 드라이버 등
운영체제의 주요 목적
운영 체제의 두 가지 주요 목적이 있다.
- 컴퓨터 시스템의 계산 활동을 관리하여 컴퓨터 시스템이 제대로 작동하도록 한다.
- 프로그램 개발 및 실행을 위한 환경을 제공한다.
운영체제의 목표
운영체제는 사용자의 편의성을 향상시키고, 시스템 성능을 극대화를 목표로 한다.
- 처리능력 향상 : 정해진 시간 내에 최대한 많은 양의 데이터를 처리
- 응답시간 단축 : 처리 요청에서 처리 완료까지 걸리는 시간을 최소화
- 신뢰도 향상 : 시스템 장애의 처리
- 사용 편리성 향상 : 사용자의 사용 환경의 편리성 추구
운영체제의 구성
운영체제를 구성하는 두 가지 요소는 컴퓨터를 제어하는 프로그램과 프로그램을 수행하고 데이터를 처리하는 처리 프로그램이다.
-
제어프로그램
- 시스템 전체의 작동 및 프로그램 실행 상태를 감시
- 사용자가 의뢰한 작업의 시작, 실행 등 작업의 흐름을 관리하고 처리하기 위한 프로그램
- 입출력과 관련된 데이터를 총괄하여 관리하는 프로그램
-
처리프로그램
- 어셈블러(Assembler), 컴파일러(Compiler), 인터프리터(Interpreter)등 고급언어로 작성한 원시 프로그램을 기계가 이해할 수 있는 기계어로 번역하기 위한 프로그램
- 응용소프트웨어
- 유틸리티
파티션의 이해
파티션이란 논리분할영역이란 의미를 가진다. 물리적인 하드디스크는 OS에 의한 논리적인 드라이브로 인식되는 절치가 필요하 며 파티션이란 OS가 하드디스크라는 물리적인 장치에 자신이 사용할 논리 영역 을 설정하는 작업이다.
하나의 OS가 하드디스크를 이용하려면 크게 두 가지의 절차를 거쳐야 한다. 하나 는 디스크 공간의 일부 또는 전부를 자신의 영역으로 선언하는 파티션 설정이고 또 다른 하나는 FORMAT을 통한 파일의 입출력 구조를 만드는 것이다.
파티션이 설정되지 않은 디스크는 인식할 수 없다.
하드디스크를 여러 개의 논리 드라이브로 분할 사용하는 것은 사용자의 선택이 다.두 가지의 OS를 복합 설치하는 경우에는 필히 분할한다.
커널
커널은 OS의 모든 부분에 대한 기본 서비스를 제공하는 컴퓨터 운영 체제의 핵심이자 가장 중요한 부분이다.
CPU, GPU
- CPU(central processing unit)
- 입출력장치, 기억장치, 연산 장치 등을 포함한 컴퓨터 리소스를 관리하는 최상위 계층의 중앙처리장치이다.
- GPU(graphics processing unit)
- 그래픽 처리 장치
- 반복적이고 비슷한 대량의 연산을 수행하며 이를 병렬적(parallel)으로 나누서 작업하기 때문에 CPU에 비해 속도가 압도적으로 빠르다.
메모리
- 컴퓨터에서 작업을 수행하기 위해 처리 대상이나 결과 등을 저장하기 위한 공간이다.
- 프로그램을 실행하기 위한 정보들을 메모리에 저장되어 처리된다.
힙 영역과 스택 영역의 차이점
프로그램이 실행되기 위해 프로그램이 메모리에 로드가 되어야 한다. 따라서 운영 체제에서 프로그램의 실행을 위한 다양한 메모리 공간을 제공한다.
- 코드, 데이터 스택, 힙 영역이 할당되고 각 역활은 다음과 같다.
- 코드
- 실행할 프로그램의 코드가 저장되는 텍스트 영역이다.
- CPU는 코드 영역에서 저장된 명령어를 하나씩 가져가서 처리한다.
- 데이터
- 전역 변수와 정적 변수가 이에 해당된다.
- 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸된다.
- 스택
- 스택 영역은 함수의 호출과 관계되는 지역 변수와 매개 변수가 저장되는 영역이다.
- 함수의 호출과 함께 할당되며, 함수의 호출이 종료될 때 해제된다.
- 힙
- 힙 영역은 사용자가 직접 관리할 수 있는 메모리 영역이다.
- 힙 영역은 사용자에 의해 메모리 공간이 동작으로 할당되고 해제된다.
- 코드