1. 운영 체제 개요

운영 체제 소개

임베디드 운영 체제

  • CPU 성능이 낮고 메모리 크기가 작은 시스템에 내장되도록 설계된 운영 체제
  • 임베디드 운영 체제가 있는 기계는 계속해서 기능을 향상시킬 수 있습니다.

운영 체제의 필요성

  • 운영 체제 없이 작동하지만 기능에 제한이 있습니다.
  • 운영 체제가 있는 기계는 다양한 응용 프로그램을 설치하여 사용할 수 있습니다.
    성능 향상을 위해 새로운 기능을 추가할 수 있습니다.
  • 운영 체제는 리소스를 관리합니다.
    -> 사용자가 직접 리소스에 접근하지 못하도록 하여 리소스 보호
  • 사용자 친화적인 인터페이스 환경 제공
    -> 사용자 인터페이스 및 하드웨어 인터페이스를 사용하여 리소스에 액세스할 수 있습니다.

운영 체제의 정의

: 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스 제공

결과를 반환하는 시스템 소프트웨어


운영 체제의 역할

  • 자원 관리(효율성)
    -> 자원을 적절한 순서로 할당하고 회수하여 관리한다.
    적은 리소스로 많은 작업을 수행합니다.
  • 자원 보호(안정성)
    -> 비정상적인 동작으로부터 컴퓨터 자원 보호
    시스템에 문제가 발생했을 때 이전 상태로 되돌리는 기능을 수행합니다.
  • 하드웨어 인터페이스 제공(확장성)
    -> 사용자는 복잡한 과정 없이 다양한 장치(CPU, 메모리, 키보드, 마우스)를 사용할 수 있습니다.
    쉬운 추가 또는 제거를 위한 하드웨어 인터페이스 제공
  • 사용자 인터페이스 제공(편리성)
    -> 사용자가 편리하게 작업할 수 있는 환경 제공
    예) GUI(그래픽 사용자 인터페이스)

운영 체제 기록

1. 초기 컴퓨터 ‘ENIAC’

  • 운영 체제 없음
  • 백열전구 모양의 진공관이라는 소자를 이용해 진공관이 켜져 있으면 1, 꺼져 있으면 0을 판단한다.

2. 천공 카드 시스템

  • 펀치 카드 리더기를 입력 장치로, 라인 프린터를 출력 장치로 사용
  • 일괄 운영 시스템
    -> 모든 작업을 한 번에 처리합니다.
    사용자가 실행 중에 데이터를 입력하거나 수정할 수 없는 시스템
  • 운영 체제 사용

3. 인터랙티브 시스템

  • 모니터와 키보드
    -> 프로그램이 실행되는 동안 사용자로부터 입력을 받을 수 있습니다.
    입력값에 따라 업무의 흐름을 바꿀 수 있는 시스템
  • 다양한 종류의 응용 프로그램을 만들 수 있습니다.

4. 시간 공유 시스템

  • 전경
    -> 하나의 CPU로 동시에 여러 작업을 수행하는 기술
    -> CPU 시간은 작업으로 나누어 모든 작업이 동시에 처리되는 것처럼 보입니다.

5. 분산 시스템

  • 네트워크에 분산된 여러 대의 컴퓨터에서 작업을 처리하고 결과를 교환하도록 구성된 시스템입니다.

6. 클라이언트/서버 시스템

  • 네트워크에 분산된 여러 대의 컴퓨터에서 작업을 처리하고 결과를 교환하도록 구성된 시스템입니다.
    -> 웹 시스템

7. P2P 시스템

  • 클라이언트-서버 구조의 약점인 서버 과부하를 해결하기 위해 만든 시스템
    -> 서버를 거치지 않고 사용자 간 직접 연결
    예) 메신저, 파일공유

8. 그리드 컴퓨팅

  • 필요한 기간 동안만 컴퓨터를 사용할 수 있고 사용한 만큼만 비용을 지불하는 컴퓨팅 환경.
  • 서로 다른 유형의 컴퓨터를 결합하여 대규모 컴퓨터 풀 형성
    원격지에 연결하여 대용량 연산을 수행하는 컴퓨팅 환경
  • 그리드는 하드웨어와 같은 컴퓨팅 환경의 통합입니다.
    SaaS(Software as a Service)를 통해 사용자는 필요할 때 필요한 소프트웨어 기능만 사용할 수 있습니다.
    사용한 기능에 대해서만 비용을 지불하는 개념

9. 클라우드 컴퓨팅

  • 언제 어디서나 애플리케이션과 데이터를 자유롭게 사용할 수 있는 컴퓨팅 환경.
    그리드 컴퓨팅과 SaaS의 결합
  • 디바이스(PC, 스마트기기) 간 데이터 이동도 자유로운 컴퓨팅 환경

10. 사물 인터넷

  • 사물에 센서와 통신 기능을 내장하여 인터넷으로 연결하는 기술
  • 예) 기차나 버스의 예상도착시간 표시
    스마트폰으로 각종 전자제품을 제어하거나 알림 문자를 받을 수 있는 서비스

커널과 인터페이스

핵심

프로세스 관리, 메모리 관리 및 스토리지 관리와 같은 운영 체제의 핵심 기능 모음입니다.

  • 공정 관리
  • 메모리 관리
  • 파일 시스템 관리
  • I/O 관리
  • 프로세스 간 통신 관리

커널의 구조

모놀리식 구조(초기)

  • 커널의 핵심 기능을 구현하는 모듈들은 구분 없이 하나로 구성된다.
  • 장점 : 모듈간 통신비용 절감으로 효율적인 운용이 가능
  • 불리:
    1. 버그나 오류는 응집력이 있어 처리가 어렵다.
    2. 많은 기능이 서로 연결되어 있고 상호 의존도가 높기 때문에
    기능의 작은 결함이 시스템 전체에 퍼질 수 있습니다.
    3. 다양한 환경의 시스템에 적용하기 어려움

계층 구조

  • 유사한 기능을 가진 모듈들을 하나의 레이어로 묶고, 레이어간 통신을 통해
    운영 체제를 구현하는 방법


미세 구조

  • 커널의 각 모듈은 세분화되어 존재하며, 프로세스 간 통신을 통해 모듈 간 정보 교환이 이루어진다.


상호 작용

: 사용자 명령을 커널에 전달하고 실행 결과를 사용자에게 알려줍니다.


가상 기기

  • 운영 체제와 응용 프로그램 사이에서 작동하는 프로그램
  • 가상 머신을 설치하면 모든 애플리케이션이 동일한 환경에서 작동하는 것처럼 보입니다.