컴퓨터 하드웨어 바로 위에 설치 되는 사용자 및 다른 모든 소프트웨어를 하드웨어와 연결하는 소프트웨어 계층이다.
커널
운영체제의 핵심 부분으로 메모리에 상주하는 부분을 말한다. 커널은 부팅이 일어난 이후 항상 메모리에 상주하고 있다.
운영체제는 이러한 커널 뿐만 아니라 다양한 유틸리티를 포함하여 더 넓은 개념의 포함한 운영체제로 설명하기도 한다.
운영체제의 목적
운영체제의 가장 큰 목적은 사용자와 하드웨어 사이에 위치하여 사용자가 하드웨어를 보다 더 편리하게 사용할 수 있는 환경을 제공하는 것이다. 또한 컴퓨터 시스템의 자원을 효율적으로 관리하는 환경을 제공해준다. 또한 이러한 컴퓨터 시스템 자원이 다수의 프로세스를 사용할 때 형평성 있게 분배되어야 한다. 이 또한 운영체제의 부가적인 목적이라 할 수 있다.
컴퓨터 자원이란?
프로세서, 메모리, 입출력 장치 등을 말한다.
운영체제의 분류
동시 작업 가능 여부
단일 작업 (Single Tasking): 한 번에 하나의 작업만 처리한다. MS-DOM 프롬프트의 경우 한 명령의 수행이 끝내기 전에 다른 명령을 수행할 수 없다.
다중 작업 (Multi Tasking): 동시에 두 개 이상의 작업을 처리한다. UNIX, MS Windows 등은 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있다.
현대의 대부분의 운영체제는 다중 작업을 지원하고 있다.
사용자의 수
단일 사용자 (Single User): MS-DOS, MS Windows 등
다중 사용자 (Multi User): UNIX, NT Server 등
처리 방식
일괄 처리 (Batch Processing): 작업 요청이 일정량 모이면 한꺼번에 처리한다. 작업이 완전히 종료될 때 까지 기다려야 한다. 예시로 Punch Card 처리 시스템이 있다.
시분할 (Time Sharing): 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용한다. 일관 처리 시스템에 비해 짧은 응답 시간을 가진다. 예시로 UNIX가 있다.
실시간 (Realtime OS): 정해진 시간 안에 어떠한 일이 반드시 종료됨을 보장되어야 하는 실시간 시스템을 위한 OS이다. 예시로 원자로/공장 제어, 미사일 제어 등이 존재한다.
멀티 태스킹이란? 여러 작업이 동시에 실행되는 것을 말한다. 좀 더 범용적인 용어이다. 엄밀히 말하면 CPU에서는 특정 순간에 하나의 작업만 진행하고 있다. 이것을 시분할을 통해 동시에 작업을 처리하는 것 처럼 보이게 한다. (동시성). 멀티 프로그래밍은 여러 프로그램이 메모리에 올라가 있는 것을 말한다. 멀티 프로세스는 여러 프로그램이 메모리에 상주하는 것을 의미한다. 세 단어 모두 비슷한 의미로 활용된다.
운영체제란?
컴퓨터 하드웨어 바로 위에 설치 되는 사용자 및 다른 모든 소프트웨어를 하드웨어와 연결하는 소프트웨어 계층이다.
커널
운영체제의 핵심 부분으로 메모리에 상주하는 부분을 말한다. 커널은 부팅이 일어난 이후 항상 메모리에 상주하고 있다.
운영체제는 이러한 커널 뿐만 아니라 다양한 유틸리티를 포함하여 더 넓은 개념의 포함한 운영체제로 설명하기도 한다.
운영체제의 목적
운영체제의 가장 큰 목적은 사용자와 하드웨어 사이에 위치하여 사용자가 하드웨어를 보다 더
편리하게 사용
할 수 있는 환경을 제공하는 것이다. 또한 컴퓨터 시스템의자원을 효율적으로 관리
하는 환경을 제공해준다. 또한 이러한 컴퓨터 시스템 자원이 다수의 프로세스를 사용할 때형평성
있게 분배되어야 한다. 이 또한 운영체제의 부가적인 목적이라 할 수 있다.운영체제의 분류
동시 작업 가능 여부
단일 작업 (Single Tasking)
: 한 번에 하나의 작업만 처리한다. MS-DOM 프롬프트의 경우 한 명령의 수행이 끝내기 전에 다른 명령을 수행할 수 없다.다중 작업 (Multi Tasking)
: 동시에 두 개 이상의 작업을 처리한다. UNIX, MS Windows 등은 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있다.현대의 대부분의 운영체제는
다중 작업
을 지원하고 있다.사용자의 수
단일 사용자 (Single User)
: MS-DOS, MS Windows 등다중 사용자 (Multi User)
: UNIX, NT Server 등처리 방식
일괄 처리 (Batch Processing)
: 작업 요청이 일정량 모이면 한꺼번에 처리한다. 작업이 완전히 종료될 때 까지 기다려야 한다. 예시로Punch Card
처리 시스템이 있다.시분할 (Time Sharing)
: 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용한다. 일관 처리 시스템에 비해 짧은 응답 시간을 가진다. 예시로 UNIX가 있다.실시간 (Realtime OS)
: 정해진 시간 안에 어떠한 일이 반드시 종료됨을 보장되어야 하는 실시간 시스템을 위한 OS이다. 예시로 원자로/공장 제어, 미사일 제어 등이 존재한다.예상 면접 질문
References.
https://core.ewha.ac.kr/publicview/C0101020140307151724641842?vmode=f