운영체제란 무엇을 의미할까?
오늘날 우리는 컴퓨터를 이용하며 window, mac등의 운영체제를 사용한다. 운영체제를 컴퓨터와 혼동하여 생각할 수 있지만 운영페제는 실체가 있는 소프트웨어를 가르킨다.
운영체제는 다양하게 정의 할 수 있는데
사용자와 컴퓨터 하드웨어 사이에서 중계 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어
컴퓨터의 모든 자원을 독점적으로 관리하는 특별한 소프트웨어
등으로 설명할 수 있다.
두번째 정의를 바탕으로 운영체제를 속성을 파악해 보자
컴퓨터에서 자원이란 다음을 말한다.
운영체제는 컴퓨터 자원이 모든 사용자와 모든 응용프로그램에 의해 잘 공유되도록 관리하는 소프트웨어이다
독점의 의미는 자원에 대한 접근, 관리 권한이 오직 운영체제에게 있다는 것을 의미한다.
우리가 컴퓨터를 이용할 때 파일을 만들고 저장하는 것을 우리가 직접한다고 착각하기 쉽다. 실은 이 파일이 하드디스크에 실제로 어디에 저장되는지 사용자는 알지 못한다. 이를 관리하는 것은 오로지 운영체제의 몫이다. 운영체제가 자원을 독점 하는 이유는 사용자와 응용프로그램들로 부터 자원의 훼손을 막고 효과적으로 공유하기 위해서 이다
관리는 크게 네가지로 구분한다.
운영체제는 소프트웨어로서 프로그램이며 코드이다. 구성요소로 3가지가 있다.
운영체제의 목적은 크게 2가지로 말할 수 있다
운영체제의 기능은 운영체제의 종류에 따라 다를 수 있는데 핵심 기능을 설명하자면
CPU/프로세스 관리(process management)
운영체제는 저장장치에 저장된 프로그램을 메모리에 적재하는데 이를 프로세스라고 한다.
프로세스 실행, 종료, 스케줄링등 프로세스 관리 기능과 프로세스 간 통신과 동기화 기능을 제공한다
메모리 관리
각 프로세스를 메모리에 할당하고 반환하며 프로세스에 할당된 메모리를 다른 프로세스로부터 보호한다.
또한 가상메모리기법을 수행한다.
파일 시스템 관리
각 파일이 저장된 위치, 날짜등 파일 정보를 관리하고 파일 시스템 정보를 관리하며 파일, 디렉토리를 생성, 관리한다. 운영체제는 파일이 기록된 위치를 아는 유일한 존재이므로, 파일의 읽기, 쓰기, 삭제등 모든 기능을 수행한다.
장치 관리
입출력 장치를 관리한다.
네트워크 관리
네트워크 장치를 관리하고 입출력을 실행한다.
보안 관리
외부의 공격으로 부터 시스템과 사용자 정보를 보호한다.
기타 관리
사용자 정보를 관리하고 통계자료를 수집 관리하며 시스템 내 오류를 발견하다. 부팅기능도 수행한다.
운영체제 | 응용 소프트웨어 | |
---|---|---|
목적 | 컴퓨터의 하드웨어나 응용소프트웨어의 자원관리 | 사용자들의 요구를 충족시킬 수 있도록 설계된 소프트웨어 |
기능 | 프로세스, 메모리, 파일 시스템 입출력 장치등 자원 관리와 사용자 관리 | 소프트웨어를 만든 특정한 목적만 수행 |
개발 언어 | C/C++, 어셈블리어 | C/C++뿐 아니라 Java, Python, C# 등 다양한 언어 |
실행 | 부팅 시 메모리에 적재되어 컴퓨터 종료 때까지 실행 | 사용자 명령을 통해 실행, 종료 |
자원에 대한 접근 권한 | 모든 자원을 배타적 독점 사용 | 자원을 사용하기 위해 반드시 운영체제에게 요청 |
참고자료 : 명품 운영체제
황기태 저 | 생능출판사