-
운영체제(OS) 기본지식 - 1. 운영체제의 정의 & 운영체제의 기능 & 운영체제의 분류Computer Basis/OS 2020. 9. 22. 20:13
1. 운영체제의 정의
# 하드웨어 관리 부분부터 사용자가 편히 시스템을 조작할 수 있도록 도와주는 소프트웨어
(하드웨어와 사용자를 이어주는 역할)
# 소프트웨어가 컴퓨터 시스템에서 실행되기 위해서는 메모리에 그 프로그램이 올라가 있어야 함
- 운영체제처럼 규모가 큰 프로그램을 모두 메모리에 올릴 수는 없으므로, 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려놓고 그렇지 않은 부분은 필요할때 메모리로 올려서 사용하게 된다
- 메모리에 상주하는 운영체제의 부분을 커널(Kernal)이라 지칭하며, 이를 좁은 의미에서의 운영체제라고도 부른다.
- MS Windows 의 파일복사(Copy) 프로그램이 커널이 아닌 넓은의미의 운영체제의 유틸리티의 예시라 할 수 있다.
2. 운영체제의 기능
# 하드웨어를 위한 기능
- 컴퓨터 시스템 내의 자원을 효율적으로 관리
- 자원 = (CPU, 메모리, 하드디스크 등 하드웨어 자원) + (소프트웨어 자원)
# 사용자를 위한 기능
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 (인터페이스)
# 운영체제가 고려해야 하는 점
- 효율성 : 시스템 자원을 효율적으로 관리해 가장 좋은 성능을 내도록 하는 것
- 형평성 : 전체적인 성능을 향상시키되, 일부 프로그램 또는 사용자가 지나친 희생을 당하지 않게 하는 것
- 보안성 : 악의성 프로그램으로부터 사용자와 운영체제 자신을 보호 해야하는 것
# 운영체제의 기능과 보안성에 대한 추가설명)
- 물리적 컴퓨터 한 대를 추상적인 여러 컴퓨터로 쪼개어 여러 사용자에게 제공할때, 각 사용자가 다른 사용자의 파일에 접근 또는 다른사용자의 프로그램이 올라가 있는 메모리영역을 참조하면 안됨.
- 실행중인 프로그램들에게 짧은 시간씩 CPU를 번갈아 할당하며, 메모리공간 또한 실행중인 프로그램들에게 적절히 분배한다.
3. 운영체제의 분류
# 동시작업을 지원하는지의 여부가 기준일때
# 단일작업용 운영체제
- 한번에 하나의 프로그램만 실행시킬 수 있는 운영체제
- 초창기 운영체제는 대부분 단일작업용 운영체제였음
- DOS(Disk Operating System)는 하나의 프로그램이 실행되는 동안 명렁어 입력라인(Command Line) 이 뜨지 않아 한 번에 하나의 작업만 실행 할 수 있었음
# 다중작업용 운영체제
- 최근 대부분의 운영체제
- MS Windows & Unix 에서는 하나의 프로그램이 끝나기전에 다른프로그램을 실행시키는 것이 가능
- CPU가 하나밖에 없더라도 ms 이내의 짧은 시간 규모로 여러프로그램들이 CPU에서 번갈아 실행 되어 동시에 실행되는 것처럼 보임
- 메모리는 CPU와 달리 여러프로그램들이 조금씩 메모리 공간을 보유할수도 있음
- 시분할시스템, 다중프로그래밍 시스템, 대화형 시스템은 각 프로그램이 사용자의 입력에 대해 곧바로 응답한다는 측면에서
유사한의미로 사용되어짐
# 시분할시스템(time sharing system)
CPU의 작업 시간을 여러 프로그램들이 조금씩 나누어 쓰는 시스템
# 다중 프로그래밍 시스템(multi-programming system)
메모리 공간을 분할하여 여러 프로그램들을 동시에 메모리에 올려놓고 처리하는 시스템
# 대화형 시스템(interactive system)
사용자에게 각 프로그램에 대한 키보드 입력의 결과를 곧바로 화면에 보여주는 시스템 (다중작업용 운영체제에서)
서버도 여러 사용자가 사용하지만, 각 사용자 입장에서는 요청시 서버가 바로 응답하여 서버를 혼자 사용하는 것 처럼 느끼게 해주므로
대화형 시스템에 해당함
# 다중처리기 시스템(multi-processor system)
하나의 컴퓨터에 CPU가 여러개 설치된 시스템
CPU가 여럿 있는 컴퓨터는 서로 다른 CPU에서 여러 프로그램이 동시에 실행될 수 있어 처리가 더욱 빨라짐
운영체제 입장에서는 여러 CPU를 관리하기위한 더욱 복잡한 메커니즘을 필요
# 다중 사용자에 대한 동시지원이 기준일때
# 단일 사용자용 운영체제
한 번에 한 명의 사용자만이 사용하도록 허용하는 운영체제
단일작업용 운영체제의 경우와 MS Windows 처럼 혼자 사용하지만 다중작업이 가능한 경우로 나누어 볼 수 있음
최근에는 MS Windows에서도 서버기능을 지원하여 다중 사용자용 운영체제로 쓰이는 경우가 잦음
# 다중 사용자용 운영체제
여러사용자가 동시에 접속해 사용가능한 운영체제
서버라 부르는 컴퓨터들은 여러사용자가 동시에 접속해 사용할 수 있으므로 다중 사용자용 운영체제가 이용되는 예시이다.
# 작업을 처리하는 방식이 기준일때
# 일괄처리 방식(batch processing)
요청된 작업을 일정량씩 모아서 한꺼번에 처리하는 방식
일정량씩 모아서 처리됬을때 결과를 얻을 수 있으므로 사용자 입장에서는 응답시간이 길다는 단점
초창기 컴퓨터에 사용되던 펀치카드(punch card)처리 시스템이 예시
# 시분할 방식(time sharing processing)
여러 작업을 수행할 때, 컴퓨터의 처리능력을 일정한 시간단위로 분할해 사용하는 방식
현대의 범용 컴퓨터의 대부분이 채택
일괄처리 방식에 비해 짧은 응답시간을 갖게됨
사용자의 요청에 대한 결과를 곧바로 얻을 수 있으므로 대화형 시스템이라고도 표현됨
# 실시간 방식(real time processing)
정해진 시간 내에 어떠한 작업이 반드시 처리됨을 보장해야하는 시스템에서 사용
원자로, 공장제어 시스템, 미사일 제어 시스템이 예시
# 경성 실시간 시스템(hard realtime system)
주어진 시간을 지키지 못할 경우 매우 위험한 결과를 초래할 가능성이 있는 시스템
원자로, 로켓 제어 시스템이 예시
# 연성 실시간 시스템(soft realtime system)
데이터가 정해진 시간 단위로 전달되어야 올바른 기능을 수행할 수 있는 시스템
멀티미디어 스트리밍이 예시
- 시간이 지켜지지 않을 경우 동영상 재생이 끊기거나 정확히 내용이 전달되지 않을 우려가 있지만 위험한결과를 초래하진 않음
728x90'Computer Basis > OS' 카테고리의 다른 글
운영체제(OS) - 4. 프로세스 관리 (0) 2020.10.06 운영체제(OS) - 3. 프로그램 구조와 실행 (0) 2020.09.26 운영체제(OS) - 2. 컴퓨터 시스템 동작원리 (0) 2020.09.24 운영체제(OS) - 1. 운영체제 자원관리 개요(CPU & 메모리 관리) (0) 2020.09.23 운영체제(OS) 기본지식 - 2. MS Windows & Unix 개요 및 비교 (0) 2020.09.22