
하드웨어와 소프트웨어 사이에서 중개자 역할을 하는 중요한 시스템
이 섹션에서는 운영체제가 하는 역할과 컴퓨터 시스템이 계층적으로 구성되는 방식을 설명.
📌 hello 프로그램 예제
- 사용자가 쉘(Shell)에서 hello 프로그램을 실행하면, 프로그램이 키보드 입력, 디스플레이 출력, 디스크 접근 같은 작업을 수행해야 함.
- 하지만, hello 프로그램이 직접 하드웨어를 제어하지 않고, 운영체제를 통해 필요한 서비스들을 요청.
- 즉, 운영체제는 하드웨어를 직접 다루는 대신, 프로그램이 하드웨어를 쉽게 사용할 수 있도록 관리하는 역할.
📌 운영체제는 컴퓨터를 계층적 구조로 관리
- 운영체제가 제공하는 기능 덕분에, 응용프로그램(hello 같은 프로그램)은 하드웨어를 직접 조작할 필요 없이 간단한 명령으로 하드웨어를 활용.
- 즉, 운영체제는 하드웨어를 추상화하여 소프트웨어가 쉽게 사용할 수 있도록 해주는 역할.
📌 결론:
운영체제는 복잡한 하드웨어를 효율적으로 사용하게 해주며, 개발자가 하드웨어를 직접 조작하지 않아도 프로그램을 쉽게 만들 수 있도록 도와줌.
📌 운영체제는 컴퓨터를 계층적으로 구성하여 관리함.
- 소프트웨어 계층: 응용 프로그램 (Application programs)
- 운영체제 계층: 운영체제 (Operating system)
- 하드웨어 계층: 프로세서(Processor), 메인 메모리(Main memory), 입출력 장치(I/O devices)
🔹 요점:
응용 프로그램은 운영체제 위에서 동작하며, 운영체제를 통해 하드웨어를 접근함.
운영체제는 하드웨어와 소프트웨어를 연결하는 중간 관리자 역할을 함.
운영체제는 하드웨어를 추상화하여 프로세스, 가상 메모리, 파일 시스템 같은 개념을 제공

프로세스 (Processes)
- 프로그램이 실행되는 실행 단위(Execution Unit)
- CPU가 여러 프로그램을 동시에 실행할 수 있도록 운영체제가 프로세스를 관리
- 예를 들어서 여러 개의 Chrome창을 동시에 실행하면, 각각의 창이 독립적인 프로세스로 동작
가상 메모리 (Virtual Memory)
- 메인 메모리(RAM)의 크기를 초과하는 데이터를 저장할 수 있도록 디스크를 확장된 메모리처럼 사용하는 기법
- 프로그램이 실행될 때 자신만의 독립적인 메모리 공간을 가지는 것처럼 보이게 함.
- 예: 실행 중인 프로그램이 사용할 메모리가 부족하면, 일부 데이터를 디스크에 저장했다가 필요할 때 다시 불러오는 방식 (페이지 스왑).
파일 시스템 (Files)
- 데이터를 저장하고 관리하는 방식
- 운영체제는 하드웨어의 물리적 저장소(HDD, SSD)를 파일이라는 개념으로 추상화하여 쉽게 관리할 수 있도록 함.
- 예: 사용자는 hello.txt 파일을 읽고 쓰는 명령을 내리지만, 운영체제는 이를 내부적으로 복잡한 디스크 명령어로 변환하여 실행함.
✔ 운영체제는 응용 프로그램과 하드웨어 사이에서 중재자 역할을 함.
✔ 하드웨어를 직접 조작하는 대신 운영체제를 통해 프로그램이 하드웨어를 쉽게 사용할 수 있도록 함.
✔ 운영체제는 하드웨어를 계층적으로 관리하며, 하드웨어를 추상화하여 프로세스, 가상 메모리, 파일 시스템 등의 개념을 제공함.
✔ 결과적으로, ! 운영체제가 없으면 ! 사용자가 직접 하드웨어를 제어해야 하므로 프로그램 개발이 매우🥵 복잡해짐.