본문 바로가기

OS

[OS] 운영체제와 컴퓨터

개요

운영체제(Operating System, OS)는 사용자가 컴퓨터를 쉽게 사용할 수 있도록 도와주는 인터페이스 역할을 합니다. 컴퓨터의 하드웨어와 소프트웨어 사이를 중재하면서 자원 관리, 사용자 편의성 제공, 보안 유지 등의 핵심적인 기능을 수행합니다.


운영체제의 역할

운영체제는 다양한 자원을 효율적으로 관리하고, 사용자와 하드웨어 간의 매끄러운 연결을 담당합니다. 주요 역할은 다음과 같습니다:

 

  1. CPU 스케줄링과 프로세스 관리
    • CPU 사용 순서를 결정하고
    • 프로세스 생성 및 삭제, 자원 할당과 반환을 담당합니다.
  2. 메모리 관리
    • 제한된 메모리를 여러 프로세스에게 적절히 분배합니다.
  3. 디스크 파일 관리
    • 파일 시스템을 관리하고, 파일의 저장 및 접근을 제어합니다.
  4. I/O 디바이스 관리
    • 마우스, 키보드 등 외부 장치와의 데이터 송수신을 관리합니다.

 

운영체제의 구조

운영체제는 사용자와 컴퓨터 간 인터페이스 형태에 따라 다음과 같이 구성됩니다.

 

GUI (Graphical User Interface)

  • 그래픽 요소를 통해 사용자가 직관적으로 시스템과 상호작용합니다.

CUI (Character User Interface)

  • 텍스트 기반 명령어 입력으로 조작하는 방식입니다. (ex. 터미널, 명령 프롬프트)

드라이버 (Driver)

  • 하드웨어 장치를 제어하기 위한 소프트웨어입니다.

 


시스템 콜 (System Call)

시스템 콜은 사용자 프로그램이 운영체제의 기능을 요청할 때 사용하는 인터페이스입니다. 예를 들어, fs.readFile() 같은 파일 읽기 함수가 실행되면 다음과 같은 과정이 발생합니다:

  1. 올바른 요청인지 확인 후
  2. 유저 모드에서 커널 모드로 전환
  3. 커널이 I/O를 수행한 뒤
  4. 다시 유저 모드로 돌아와 이후 로직을 실행

=> 이 과정을 통해 프로그램이 임의로 시스템 자원에 접근하지 못하게 하여 보안을 강화합니다

 

모드 비트 (Mode Bit)

운영체제는 유저 모드커널 모드를 구분하여 동작하며, 이를 구분하는 플래그가 바로 modebit입니다.

  • 0 → 커널 모드
  • 1 → 유저 모드

컴퓨터의 구성 요소

 

CPU (중앙처리장치)

  • 산술논리연산장치(ALU): 덧셈, 뺄셈 같은 산술 연산과 논리 연산 수행
  • 제어장치: 명령어 해석 및 처리 순서 결정
  • 레지스터: CPU 내부의 초고속 임시 저장소

CPU의 연산 처리 순서

  1. 제어장치가 메모리/레지스터에서 값을 읽어옴
  2. ALU가 연산 수행
  3. 결과값을 다시 메모리에 저장

인터럽트 (Interrupt)

인터럽트는 CPU의 현재 작업을 중단하고 특정 이벤트를 처리하는 메커니즘입니다.

  • 하드웨어 인터럽트: I/O 디바이스로부터 발생 (ex. 키보드 입력, 마우스 클릭 등)
  • 소프트웨어 인터럽트 (Trap): 오류 발생, 시스템콜 요청 등 소프트웨어 내에서 발생

DMA 컨트롤러 (Direct Memory Access)

  • I/O 장치가 CPU를 거치지 않고 메모리와 직접 데이터 송수신이 가능하게 하는 장치
  • CPU의 부하를 줄여 성능을 향상시킵니다

메모리

  • 데이터를 저장하는 장치
  • RAM이 대표적이며, CPU가 데이터를 처리할 때 반드시 필요합니다

타이머

  • 작업 시간 제한을 설정해 특정 프로그램의 실행 시간을 관리합니다

디바이스 컨트롤러

  • 각 I/O 디바이스마다 존재하는 작은 CPU 같은 존재
  • 디바이스와 연결된 로컬 버퍼에 데이터를 임시 저장하며 통신을 담당합니다

'OS' 카테고리의 다른 글

[OS] 프로세스와 스레드  (0) 2025.05.07
[OS] 메모리  (0) 2025.05.07