in.add()
운영체제 본문
운영체제란?
- 컴퓨터 HW 바로 윗단에 설치되는 SW입니다.
- 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어로 정의합니다.
- 운영체제는 시스템의 자원(가령 CPU 시간, 메모리 공간, 파일 저장 공간, 입출력 장치 등)과 동작을 관리하는 소프트웨어입니다.

운영체제의 역할
응용 프로그램이 요청하는 시스템 자원을 효율적으로 분배하고 관리합니다.
응용 프로그램?
운영체제를 제외한 나머지 소프트웨어로 사용자가 평소에 사용하는 프로그램을 의미합니다.
시스템 자원?
컴퓨터 HW와 같은 개념으로 CPU, 메모리, 입출력 장치, 하드 디스크 등 시스템에서 사용할 수 있는 자원을 의미합니다.
- OS는 자원들을 효율적으로 관리해 가장 좋은 성능을 내는 역할을 담당합니다.
- 하지만 전체적인 성능을 향상하려다 일부 프로그램 또는 사용자가 불이익을 당할 수 있습니다.
따라서 형평성 있게 분배되도록 균형자 역할도 함께 수행합니다. - 즉, 효율성이 가장 큰 목표이지만 이로 인해 일부가 지나치게 희생되지 않게 형평서 역시 OS가 고려해야 할 목표입니다.
- 추가적으로 OS는 사용자와 OS 자신을 보호하는 역할을 담당합니다.
운영체제의 구조

- 마이크로 프로그램(Micro-program) : ROM이나 PROM에 영구히 기록되는 프로그램을 말하는 것으로 보통 펌웨어(Firmware)를 말하며 마이크로코드(Microcode)라고도 합니다.
- 기계어(Machine Language) : 기계어는 0과 1로 표시되며 실행할 명령, 데이터, 기억 장소의 주소 등을 포함합니다. 하드웨어를 직접 실행시킬 수 있는 형태로 구성되며 컴퓨터의 모든 하드웨어를 제어하기 위한 다양한 비트 형식의 명령어가 존재합니다.
- 제어 프로그램(Kernel) : 하드웨어를 제어하는 프로그램으로 메모리, CPU, 단말기, 프린터 등 시스템의 자원 활용도를 높이기 위해 스케줄링과 자료 관리를 하는 핵심 요소입니다.
- 명령어 해석기(Shell) : 사용자 명령을 입력받아 시스템 기능을 수행하는 명령 해석기로서 사용자와 시스템 간의 인터페이스를 담당하는 프로그램입니다.
Comments