• 2024. 3. 8.

    by. 플로픽

    운영체제 정의

    운영체제(Operating System)는 응용소프트웨어를 실행시키기 위한 사용자의 하드웨어를 관리하고 시스템 리소스를 제어하는 시스템 소프트웨어 중 하나이다. 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다. 최근에는 실제 컴퓨터가 아닌 가상머신 위에서 작동하기도 한다. 시스템 소프트웨어는 컴퓨터를 작동시키고 효율적으로 사용하기 위한 프로그램으로 소프트웨어와 하드웨어의 중재자 역할을 한다. 운영체제 덕분에 사용자는 하드웨어 특성이나 구조를 몰라도 컴퓨터를 이용하여 소프트웨어를 사용할 수 있다. 유명한 운영체제는 MS-DOS, Windows XP, Windows 10, UNIX, LINUX, OS/2, 105, OS/390(IBM), MSP/EX(FUJITSU), AIX, Mac OS X 등이 있다. 운영체제는 응용 소프트웨어가 하드웨어의 리소스를 사용할 수 있도록 제어한다. 시스템 소프트웨어는 시스템 전체를 제어, 처리시키는 프로그램이다. 컴퓨터 시스템의 구조(사용자 (User), 응용 프로그램 (Application Program), 유틸리티 (Utility), 명령어 해석기 (shell), 제어 프로그램 (kernel), 기계어 (Machine Language), 마이크로 프로그램 (Micro Program), 하드웨어 (Hard Ware))가 서로 유기적으로 연결될 수 있도록 중재한다. 사용자가 필요로 하는 작업을 수행할 응용프로그램을 주기억 장치에 적재시키거나 인터럽트 관리, 각종 장치 관리 및 언어 번역 등의 기능을 수행한다. 운영체제는 시스템 소프트웨어의 하나로 시스템 소프트웨어는 운영체제 외에도 인터프리터, 링커, 라이브러리, 로더 등으로 구성되어 있다. 컴퓨터 하드웨어를 관리하는 프로그램으로 효율적으로 컴퓨터의 성능을 관리한다. 컴퓨터 하드웨어와 사용자의 인터페이스를 담당한다.

     

    운영체제 정의, 목적, 기능
    운영체제 정의, 목적, 기능

     

    운영체제의 역사

    운영체제의 역사는 컴퓨터 기술의 진보와 함께 진화했다. 1950년대~1960년대는 초기 단계로 컴퓨터의 등장과 함께 운영체제 없이 사용되었고, 사용자가 직접 하드웨어를 제어하는 수준이었다. 1950년대 후반, 배치 처리 시스템 등장으로 여러 프로그램이 일괄적으로 실행되기 시작했다. 1960년대는 IBM이 OS/360을 개발하여 배치 처리 시스템을 지원했다. MIT의 CTSS(CorCompatible Time Sharing System)에서 시분할 시스템의 개념이 도입되어 사용자 간의 동시 접근을 가능케 했다. 1970년대는 다중 프로그래밍과 운영체제가 부상했다. 다중 프로그래밍의 개념이 도입되며 여러 프로그램을 메모리에 동시에 적재하고 실행했으며, UNIX 운영체제가 탄생, 이후 개발자들에게 공개되어 다양한 환경에서 사용되었다. 1980년대에는 개인용 컴퓨터와 GUI가 부상했다. IBM PC의 등장으로 개인용 컴퓨터가 보급되었고, MS-DOS 등이 주로 사용되었다. Apple의 Macintosh가 그래픽 사용자 인터페이스(GUI)를 도입하여 사용자 친화적인 환경을 제공했다. 1990년대~2000년대는 네트워크와 분산 운영체제가 등장했다. 인터넷의 보급과 함께 네트워크 운영체제의 필요성이 대두되었다. Windows NT, Linux 등이 등장하며 다양한 운영체제 간의 표준화와 경쟁이 심화했다. 2000년대 이후는 모바일과 클라우드 컴퓨팅 시대가 시작되었다. 모바일 운영체제(Android, iOS)가 부상하며, 스마트폰과 태블릿에서 널리 사용되었다. 클라우드 컴퓨팅의 발전으로 대규모 데이터 센터에서 운영되는 운영체제의 중요성이 증가했다.

     

    운영체제 목적

    운영체제는 사용자가 하드웨어를 이용하여 편리하게 응용소프트웨어를 사용할 수 있도록 하는 환경을 제공한다. 컴퓨터 시스템의 하드웨어를 최대한 활용하여 효율적으로 사용할 수 있도록 한다. 컴퓨터 시스템의 성능을 최대화하여 사용자에게 편리성, 신뢰성, 효율성, 용이성을 제공한다. 컴퓨터의 모든 자원을 관리하며 프로그램의 오류나 리소스가 잘못 사용되고 있는 상태인지 제어한다. 사용자와 하드웨어 간의 입출력 장치 (I/O 장치) 등의 리소스에 대해 연산, 제어를 관리한다. 운영체제의 목적은 생산성 향상에 있다. 이를 목표로 하기 위해 가용성(사용 가능성), 처리능력, 신뢰성, 반환시간의 단축 등이 요구된다. 따라서 이러한 항목들은 운영체제 성능의 평가 기준이 된다.

     

    운영체제 기능

    사용자에게 편리성과 용이성을 제공한다. 운영체제는 시스템엔 신뢰성, 생산성 등을 제공하기 위해 다양한 기능 수행이 요구된다. 운영체제는 주기억장치, 입력장치, 출력장치, 프로세서 등의 하드웨어 자원을 관리한다. 또한 입력, 출력에 대한 보조기능을 제공한다. 초기 작업 환경을 설정할 수 있는 기능을 제공한다. 기억장치를 할당하고 회수하는 작업을 제어한다. 자원을 효율적으로 관리하기 위해 자원 스케줄링 기능을 제공한다. 사용자와 시스템 사이의 인터페이스를 제공한다. 시스템에서 발생한 오류를 복구시키고, 컴퓨터 자원을 보호하는 기능을 제공한다. 운영체제는 프로세스, 기억장치, 주변장치, 파일 등 주요 자원을 관리한다. 

    운영체제의 종류

    운영체제는 컴퓨터 시스템의 핵심 부분으로, 하드웨어에 따라 임베디드 운영체제, 서버 운영체제, 모바일 운영체제, 데스크톱 운영체제로 분류할 수 있다. 또한 리소스 제어에 따라  단일 작업 운영체제, 다중 작업 운영체제, 다중 프로그래밍 운영체제, 분산 운영체제, 실시간 운영체제, 시분할 운영체제로 분류할 수 있다. 각 종류의 운영체제는 특정한 운영 환경 및 요구사항에 맞게 설계되어 있다. 단일 작업 운영체제(Single-tasking OS)는 하나의 작업만을 처리하는 운영체제로, 한 번에 하나의 프로그램만 실행 가능하다. (MS-DOS) 다중 작업 운영체제(Multi-tasking OS)는 여러 작업을 동시에 처리할 수 있는 운영체제로, 여러 응용 프로그램이 동시에 실행할 수 있다. (Windows, macOS, Linux) 다중 프로그래밍 운영체제(Multi-programming OS)는 여러 프로그램이 메모리에 동시에 적재되어 실행되며, 하나의 프로그램이 I/O 등을 기다릴 때 다른 프로그램이 실행된다. (UNIX, Linux) 분산 운영체제(Distributed OS)는 여러 컴퓨터에 분산된 환경에서 동작하는 운영체제로, 자원 및 작업을 효율적으로 분산한다. (Google's Chrome OS, Amoeba) 실시간 운영체제(Real-time OS)는 정해진 시간 안에 작업을 완료하는 데 중점을 둔 운영체제로, 실시간 응용에 사용한다. (VxWorks, QNX) 시분할 운영체제(Time-sharing OS)는 여러 사용자가 동시에 컴퓨터를 사용하도록 해주는 운영체제로, 각 사용자에게 일정 시간을 할당하여 교대로 실행합니다. (UNIX, Linux)