본문 바로가기

컴퓨터구조, 운영체제

운영체제 시작하기

728x90
반응형
SMALL

운영체제란? 

운영체제(Operating System, OS)는 컴퓨터 하드웨어와 응용 프로그램 간의 인터페이스 역할을 하며, 시스템 자원(프로세서, 메모리, 저장장치, 입출력장치 등)을 효율적으로 관리하고, 응용 프로그램의 실행을 지원하는 소프트웨어 시스템입니다.

 

컴퓨터가 부팅될 때 메모리 내 커널 영역에 따로 적재되어 실행되며, 커널 영역을 제한 나머지 영역을 사용자 영역이라고 합니다.

 

운영체제를 알아야하는 이유?

  1. 컴퓨터 시스템 이해
    컴퓨터 시스템을 이해하려면 운영체제의 기능과 동작 방식을 이해해야 합니다. 운영체제는 컴퓨터 시스템의 핵심적인 요소 중 하나이기 때문에, 운영체제를 이해하지 않으면 컴퓨터 시스템의 동작 원리를 제대로 이해할 수 없습니다.
  2. 프로그래밍
    운영체제는 응용 프로그램과 하드웨어 간의 인터페이스 역할을 하기 때문에, 프로그래머는 운영체제의 기능과 인터페이스를 이해해야 합니다. 예를 들어, 운영체제의 프로세스 관리 기능을 이해하지 못하면 멀티태스킹을 구현하는 응용 프로그램을 작성하는 것이 어렵습니다.
  3. 시스템 관리
    운영체제는 시스템 자원을 효율적으로 관리하는 역할을 합니다. 시스템 관리자는 운영체제의 기능과 동작 방식을 이해하여 시스템 자원의 사용 상황을 모니터링하고, 문제가 발생할 경우에 대처할 수 있습니다.
  4. 보안 강화
    운영체제는 시스템 자원의 보안을 유지하는 역할도 합니다. 시스템 관리자는 운영체제의 보안 기능을 이해하여 시스템의 보안을 강화할 수 있습니다.

따라서, 운영체제를 알아야 하는 이유는 컴퓨터 시스템을 이해하고, 프로그래밍을 하고, 시스템 관리를 하며, 보안을 강화하기 위해서입니다.

 

 

운영체제의 큰 그림

커널(Kernel)은 운영체제에서 핵심적인 부분으로, 운영체제의 기능을 제공하고 하드웨어를 제어합니다.

커널은 시스템의 자원과 하드웨어를 관리하는 역할을 합니다. 예를 들어, 프로세스와 스레드의 생성과 스케줄링, 메모리와 디스크 등의 자원 관리, 네트워크 통신, 보안 등의 기능을 제공합니다. 또한, 응용 프로그램과 하드웨어 사이의 인터페이스 역할을 하기도 합니다.

 

커널은 운영체제의 핵심이기 때문에, 커널의 안정성과 성능은 운영체제 전체의 안정성과 성능에 직접적인 영향을 미치며, 크게 마이크로커널, 모놀리틱 커널, 하이브리드 커널 등으로 분류 합니다.

 

  • 마이크로커널
    마이크로커널은 운영체제에서 커널의 핵심 기능만을 제공하며, 다른 부분들은 서버 프로세스 또는 유저 모드 프로세스에서 실행됩니다. 마이크로커널은 최소한의 기능만 가지고 있으므로 보안, 안정성, 확장성 면에서 이점이 있습니다. 예를 들어, 맥OS의 XNU 커널이 마이크로커널 구조를 사용합니다.
  • 모놀리틱커널
    모놀리틱커널은운영체제의모든기능을커널내부에포함하고있습니다.이러한구조는높은성능을제공하지만,시스템안정성면에서는취약할수있습니다.대표적으로리눅스와윈도우운영체제가모놀리틱커널구조를사용합니다.
  • 하이브리드커널
    하이브리드커널은마이크로커널과모놀리틱커널의장점을결합한구조를가지고있습니다.커널내부에는최소한의기능만을포함하고,나머지기능들은커널모드에서실행됩니다.이러한구조는모놀리틱커널의높은성능과마이크로커널의안정성및확장성을모두가질수있습니다.대표적으로맥OS의이전버전인MacOS 9BeOS운영체제가하이브리드커널구조를사용하였습니다.현재맥OS는하이브리드커널구조를가진XNU커널을사용합니다.

운영체제가 제공하는 서비스 중 커널에 포함되지 않는 서비스도 있으며, 대표적으로 사용자인터페이스가 있습니다.

*사용자 인터페이스의 종류엔 그래픽 유저 인터페이스(Graphical User Interface, GUI) , 커맨드 라인 인터페이스(Command Line Interface, CLI)가 있습니다.

 

이중모드와 시스템 호출

  • 이중모드: CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식
    사용자 모드: 운영체제 서비스를 제공받을 수 없는 실행 모드 (자원 접근 불가)
    커널 모드: 운영체제 서비스를 제공받을 수 있는 실행 모드 (자원 접근 가능)
  • 시스템 호출: 프로그램이 자원에 접근하는 운영체제 서비스를 제공 받기위한 요청
    시스템 호출은 일종의 인터럽트이며, 이는 소프트웨어 인터럽트입니다.

운영체제의 핵심 서비스

프로세스 관리

여러 프로세스(실행 중인 프로그램)가 동시 실행되는 것을 관리하며, 교착상태를 해결합니다.

자원 접근 및 할당

CPU는 한 번에 하나의 프로세스만 실행할 수 있기 때문에 메모리에 적재된 프로세스들을 CPU스케쥴링(어떤 프로세스가 얼마나 CPU를 이용할지 결정)을 통해 결정합니다.

파일 시스템 관리

유저가 여러 파일을 열거나, 생성, 삭제, 파일들을 묶어 디렉토리로 관리할 수 있도록 지원하는 서비스입니다.

728x90
반응형
LIST

'컴퓨터구조, 운영체제' 카테고리의 다른 글

프로세스 동기화  (0) 2023.04.03
프로세스와 스레드  (0) 2023.03.30
입출력 장치  (0) 2023.03.27
보조기억장치  (0) 2023.03.27
메모리와 캐시메모리  (0) 2023.03.23