OS ( Operating System )

Yeonn·2023년 9월 4일
0

CS 공부

목록 보기
9/13
post-thumbnail

OS ( Operating System ) ?

✅ 하드웨어 자원을 관리하고 소프트웨어와 하드웨어 사이를 중재하는 인터페이스

OS 란 하드웨어가 소프트웨어와 통신하고 작동하도록 하는 소프트웨어 프로그램이다.
이러한 운영체제도 소프트웨어처럼 메모리 상에서 실행되는데, 컴퓨터를 켜자마자 운영체제가 실행되며 이 때 전체 운영체제를 전부 실행하게 되면 메모리가 낭비되므로 커널( kernel ) 이라고 불리는 핵심적인 부분만 실행되고 필요 시 추가로 실행되도록 한다.

하드웨어와 가장 밀접하게 맞닿아 있는 소프트웨어로 자원 할당자 로 보기도 한다.

컴퓨터 시스템은 문제를 해결하기 위해 요구되는 여러 가지 자원들( CPU 시간, 메모리 공간, 저장 공간, 입출력 장치 등 )을 가진다. 운영체제는 이들 자원의 관리자로서 동작한다.

운영체제가 없는 기계는 처음 만들어진 기능 및 성능에서 벗어나지 못하지만, 운영체제가 내장된 임베디드 시스템이나 컴퓨터 등은 성능 향상 및 기능 추가가 가능하다.

커널( kernel ) ?

✅ 메모리에 상주하는 운영체제의 핵심 부분

운영체제 역시 '프로그램'이므로 운영체제 커널도 프로세스 주소 공간을 가진다.

  • code: CPU와 메모리 관리, 인터페이스 제공 코드 등이 주를 이룸
  • data: 자원을 관리하기 위한 자료 구조를 저장
  • stack: 함수 호출 시 복귀 주소를 저장하기 위한 용도는 맞지만 사용자 프로그램이 시스템 콜을 하여 일관성 유지를 위해 프로세스 마다 별도의 스택을 둠


OS의 목표 4가지

1. 자원 관리( 효율성 )

효율적인 자원 관리를 통해 최소한의 리소스로 최대한의 성능을 보이는 등의 퍼포먼스를 지향한다.

2. 자원 보호( 안정성 )

미숙하고, 악의적인 사용자로부터 자원을 보호하는 것으로 어떠한 비정상적인 작업으로부터 컴퓨터의 자원을 지키도록 한다.

3. 하드웨어 인터페이스 제공( 확장성 )

어떤 새로운 하드웨어를 plug 해도 바로 play ( 플러그&플레이 )가 가능하도록 확장석있는 하드웨어 인터페이스를 제공한다.

4. 사용자 인터페이스 제공( 편리성 )

( GUI로 발전한 것 처럼 ) 유저가 쓸 때 어렵지 않고 편리하게 쓸 수 있도록 한다.

0개의 댓글