운영체제와 컴퓨터시스템의 구조

이강용·2024년 7월 19일
0

CS

목록 보기
82/109

운영체제란?

  • 사용자가 컴퓨터 시스템을 효율적으로 사용할 수 있도록 다양한 기능을 제공하는 소프트웨어
  • 사용자 인터페이스에 따라 크게 GUI와 CUI로 나눌 수 있음

GUI 기반 운영체제 (Graphical User Interface)

  • 그래픽 요소를 이용하여 사용자가 시스템과 상호작용할 수 있도록 함
  • 아이콘, 창, 메뉴 등 시각적 요소를 통해 사용자가 직접적으로 시스템을 사용할 수 있게 해줌

예시

  1. Windows
  • Microsoft에서 개발한 운영체제
  • 대표적인 GUI 기반 운영체제로 창, 아이콘, 마우스 조작 등을 통해 사용자와 상호작용
  • 개인용 컴퓨터와 기업 환경에서 널리 사용
  1. macOS
  • Apple에서 개발한 운영체제
  • 유려한 그래픽과 사용자 친화적인 인터페이스 제공
  • 주로 Apple의 하드웨어에서 사용

CUI 기반 운영체제(Character User Interface)

  • 텍스트 명령어를 통해 사용자와 시스템이 상호작용하는 방식
  • 그래픽 요소 없이 텍스트만으로 작업을 수행하며 주로 고급 사용자나 시스템 관리자들이 선호

예시

  1. MS-DOS(Microsoft Disk Operating System)
  • 1980년대와 1990년대 초반에 많이 사용된 운영체제
  • 명령 프롬프트를 통해 명령어를 입력하여 작업을 수행
  1. Unix
  • 1960년대 말에 개발된 운영체제
  • 강력한 텍스트 기반 명령어 인터페이스 제공
  • 다양한 파생 버전이 존재(예: AIX, HP-UX, Solaris)
  1. Linux
  • Unix 철학을 기반으로 한 오픈 소스 운영체제
  • 다양한 배포판이 있으며 터미널을 통해 텍스트 기반 명령어로 시스템을 제어
  • 서버 환경에서 널리 사용

운영체제의 역할

  • 컴퓨터 시스템의 하드웨어와 소프트웨어 자원을 관리하고 사용자와 컴퓨터 간의 상호작용을 가능하게 하는 소프트웨어
  1. 프로세스 관리

    • CPU 스케줄링 : 여러 프로세스가 CPU를 효율적으로 사용할 수 있도록 관리
    • 프로세스 생성, 삭제, 동기화, 통신 관리
  2. 메모리 관리

    • 물리적 메모리와 가상 메모리의 효율적인 사용 관리
    • 메모리 할당 및 해제
    • 메모리 보호 및 접근 제어
  3. 파일 시스템 관리

    • 파일 생성, 삭제, 읽기, 쓰기 등의 작업 관리
    • 디렉토리 구조 관리
    • 파일 보호 및 접근 제어
  4. 입출력 시스템 관리

    • 다양한 입출력 장치 관리
    • 장치 드라이버 인터페이스 제공
    • 입출력 작업 스케줄링
  5. 보호 및 보안

    • 시스템 자원 접근 제어
    • 사용자 인증 및 권한 관리
    • 데이터 무결성 및 비밀성 유지
  6. 사용자 인터페이스 제공

    • 명령 줄 인터페이스 (CUI) 또는 그래픽 사용자 인터페이스(GUI) 제공
    • 사용자와 시스템 간의 상호작용 지원

운영체제의 구조

  • 운영체제의 구조는 여러 계층으로 이루어져 있으며 각 계층은 특정 기능을 담당
  1. 커널(Kernel)
    • 운영체제의 핵심 부분으로 하드웨어와 직접 상호작용
    • 프로세스 관리, 메모리 관리, 장치 드라이버, 시스템 호출 인터페이스 등 주요 기능 포함
  2. 시스템 호출 인터페이스(System Call Interface)
    • 응용 프로그램이 운영체제의 기능을 이용할 수 있도록 제공되는 인터페이스
    • 프로세스 관리, 파일 관리, 네트워크 통신 등 다양한 시스템 호출 제공
  3. 장치 드라이버(Device Drivers)
    • 운영체제가 하드웨어 장치와 인터페이스 카드, 저장 장치 등을 제어
    • 각종 입출력 장치, 네트워크 인터페이스 카드, 저장 장치 등을 제어
  4. 파일 시스템(File System)
    • 데이터를 저장하고 조직하는 방법을 정의
    • 파일 및 디렉토리 구조 관리, 파일 읽기/쓰기, 파일 보호 및 접근 제어
  5. 유틸리티 프로그램(Utility Programs)
    • 시스템 유지 보수, 성능 관리, 진단 및 문제 해결을 위한 도구 제공
    • 디스크 조각 모음, 백업 도구, 바이러스 검사기 등 포함
  6. 응용 프로그램(Application Programs)
    • 사용자가 특정 작업을 수행하기 위해 실행되는 소프트웨어
    • 운영체제의 API를 이용하여 시스템 자원에 접근

컴퓨터 시스템 구조

  • 운영체제와 밀접하게 관련된 하드웨어 구성 요소는 시스템의 자원 관리를 담당하며 각 구성 요소는 운영체제의 효율적이고 안정적인 운영을 지원
  1. CPU(Central Processing Unit)

    • 역할 : 중앙처리장치는 컴퓨터 시스템의 두뇌로 모든 연산과 명령어 처리를 담당, 운영체제는 CPU 스케줄링을 통해 여러 프로세스가 효율적으로 CPU를 사용할 수 있도록 관리
    • 구성 : 제어 장치(Control Unit), 산술 논리 장치(ALU), 레지스터
      • ALU(Arithmetic and Logical Unit)는 덧셈, 뺼셈, 곱셈, 나눗셈 등 산술 연산과 논리연산을 하는 회로장치
    • 운영체제와의 관계 :
      • 프로세스 스케줄링 : 운영체제는 CPU 스케줄러를 통해 프로세스 간의 CPU 할당을 관리
      • 인터럽트 처리 : CPU는 인터럽트 요청을 받아들여 운영체제에게 알리고 운영체제는 이를 처리
  2. 메모리(Memory)

    • 역할 : 메모리는 현재 실행 중인 프로그램과 데이터를 저장, 운영체제는 메모리 관리 기법을 통해 메모리 자원의 효율적인 사용을 보장함
    • 구성 : 주기억장치(RAM), 캐시 메모리, 가상 메모리
    • 운영체제와의 관계:
      • 메모리 할당 및 해제 : 운영체제는 프로그램 실행 시 필요한 메모리를 할당하고 사용이 끝나면 해제
      • 가상 메모리 관리 : 운영체제는 가상 메모리를 사용해 물리적 메모리보다 더 큰 메모리 공간을 제공하며 페이징 기법을 통해 메모리를 관리
  3. DMA 컨트롤러(Direct Memory Access Controller)

    • 역할 : DMA 컨트롤러는 CPU의 개입 없이 입출력 장치가 직접 메모리와 데이터를 주고받을 수 있게 함
    • 운영체제와의 관계:
      • CPU 부하 감소 : DMA를 통해 대용량 데이터를 전송할 때 CPU의 부하를 줄여줌
      • 입출력 효율성 향상 : DMA를 사용해 빠르고 효율적인 입출력 작업이 가능하며 운영체제는 이를 관리함
  4. 타이머(Timer)

    • 역할 : 타이머는 특정 시간 간격마다 인터럽트를 발생시켜 운영체제에 시간을 알림
    • 운영체제와의 관계:
      • 프로세스 스케줄링 : 운영체제는 타이머 인터럽트를 통해 프로세스 스케줄링을 구현
      • 시스템 시간 관리 : 운영체제는 타이머를 사용해 시스템 시간을 관리하고 시간 기반 작업을 처리
  5. 디바이스 컨트롤러(Device Controller)

    • 역할 : 디바이스 컨트롤러는 특정 입출력 장치를 관리하고 제어하는 역할을 수행, 각 장치마다 디바이스 컨트롤러가 있어 운영체제와 장치 간의 인터페이스를 제공
    • 구성 : 로컬 버퍼, 상태 레지스터, 제어 레지스터
    • 운영체제와의 관계:
      • 드라이버 관리 : 운영체제는 디바이스 드라이버를 통해 디바이스 컨트롤러와 통신
      • 입출력 요청 처리 : 운영체제는 디바이스 컨트롤러에게 입출력 작업을 지시하고 작업 완료 시 인터럽트를 받아 처리
  6. 로컬 버퍼(Local Buffer)

    • 역할 : 로컬 버퍼는 입출력 장치와 메모리 간 데이터를 일시적으로 저장하는 역할을 수행
    • 운영체제와의 관계:
      • 데이터 전송 관리 : 운영체제는 로컬 버퍼를 통해 데이터를 일시적으로 저장하고 CPU가 효율적으로 데이터를 처리할 수 있도록 함
      • 버퍼 관리 : 운영체제는 버퍼 오버플로우나 언더플로우를 방지하기 위해 로컬 버퍼의 상태를 지속적으로 모니터링함
profile
HW + SW = 1

0개의 댓글