OS (Operating System)

CorinBeom·2025년 3월 20일
0

CS

목록 보기
6/22
post-thumbnail

OS 운영체제란?

하드웨어와 소프트웨어 사이에서 중개자 역할을 하는 중요한 시스템

이 섹션에서는 운영체제가 하는 역할과 컴퓨터 시스템이 계층적으로 구성되는 방식을 설명.

운영체제의 역할

📌 hello 프로그램 예제

  • 사용자가 쉘(Shell)에서 hello 프로그램을 실행하면, 프로그램이 키보드 입력, 디스플레이 출력, 디스크 접근 같은 작업을 수행해야 함.
  • 하지만, hello 프로그램이 직접 하드웨어를 제어하지 않고, 운영체제를 통해 필요한 서비스들을 요청.
  • 즉, 운영체제는 하드웨어를 직접 다루는 대신, 프로그램이 하드웨어를 쉽게 사용할 수 있도록 관리하는 역할.

    📌 운영체제는 컴퓨터를 계층적 구조로 관리

    • 운영체제가 제공하는 기능 덕분에, 응용프로그램(hello 같은 프로그램)은 하드웨어를 직접 조작할 필요 없이 간단한 명령으로 하드웨어를 활용.
    • 즉, 운영체제는 하드웨어를 추상화하여 소프트웨어가 쉽게 사용할 수 있도록 해주는 역할.

운영체제의 주요 목적

1. 다중 프로그램 실행을 가능하게 함

  • 여러 개의 응용 프로그램이 동시에 실행되더라도 문제없이 작동하도록 관리해야 함.
  • CPU, 메모리, 디스크, 네트워크 같은 자원들을 여러 프로그램이 효율적으로 나눠서 사용할 수 있도록 조절.

2. 응용 프로그램이 하드웨어를 쉽게 사용할 수 있도록 단순화

  • 하드웨어를 직접 다루는 것은 복잡, 운영체제가 제공하는 고수준의 명령(시스템 콜)을 사용하면 간단한 명령만으로 하드웨어 활용 가능.

📌 결론:

운영체제는 복잡한 하드웨어를 효율적으로 사용하게 해주며, 개발자가 하드웨어를 직접 조작하지 않아도 프로그램을 쉽게 만들 수 있도록 도와줌.

운영체제의 계층적 구조




📌 운영체제는 컴퓨터를 계층적으로 구성하여 관리함.

  • 소프트웨어 계층: 응용 프로그램 (Application programs)
  • 운영체제 계층: 운영체제 (Operating system)
  • 하드웨어 계층: 프로세서(Processor), 메인 메모리(Main memory), 입출력 장치(I/O devices)

🔹 요점:

응용 프로그램은 운영체제 위에서 동작하며, 운영체제를 통해 하드웨어를 접근함.
운영체제는 하드웨어와 소프트웨어를 연결하는 중간 관리자 역할을 함.

운영체제의 주요 추상화

운영체제는 하드웨어를 추상화하여 프로세스, 가상 메모리, 파일 시스템 같은 개념을 제공

프로세스 (Processes)

  • 프로그램이 실행되는 실행 단위(Execution Unit)
  • CPU가 여러 프로그램을 동시에 실행할 수 있도록 운영체제가 프로세스를 관리
  • 예를 들어서 여러 개의 Chrome창을 동시에 실행하면, 각각의 창이 독립적인 프로세스로 동작

가상 메모리 (Virtual Memory)

  • 메인 메모리(RAM)의 크기를 초과하는 데이터를 저장할 수 있도록 디스크를 확장된 메모리처럼 사용하는 기법
  • 프로그램이 실행될 때 자신만의 독립적인 메모리 공간을 가지는 것처럼 보이게 함.
  • 예: 실행 중인 프로그램이 사용할 메모리가 부족하면, 일부 데이터를 디스크에 저장했다가 필요할 때 다시 불러오는 방식 (페이지 스왑).

파일 시스템 (Files)

  • 데이터를 저장하고 관리하는 방식
  • 운영체제는 하드웨어의 물리적 저장소(HDD, SSD)파일이라는 개념으로 추상화하여 쉽게 관리할 수 있도록 함.
  • 예: 사용자는 hello.txt 파일을 읽고 쓰는 명령을 내리지만, 운영체제는 이를 내부적으로 복잡한 디스크 명령어로 변환하여 실행함.

결론

✔ 운영체제는 응용 프로그램과 하드웨어 사이에서 중재자 역할을 함.

✔ 하드웨어를 직접 조작하는 대신 운영체제를 통해 프로그램이 하드웨어를 쉽게 사용할 수 있도록 함.

✔ 운영체제는 하드웨어를 계층적으로 관리하며, 하드웨어를 추상화하여 프로세스, 가상 메모리, 파일 시스템 등의 개념을 제공함.

✔ 결과적으로, ! 운영체제가 없으면 ! 사용자가 직접 하드웨어를 제어해야 하므로 프로그램 개발이 매우🥵 복잡해짐.

profile
Before Sunrise

0개의 댓글