Home 운영체제 들어가기
Post
Cancel

운영체제 들어가기

운영체제가 하는 일

  • 프로세스 관리
    • 노래 들으면서 게임하고 메모장에 글쓰기 가능하다.
  • 메모리를 관리
    • 모든 프로그램은 메모리 위에서 동작한다.
  • 하드웨어 관리
    • 하드웨어에 대한 직접적인 접근을 막는다.
  • 파일 시스템 관리

운영체제 구조

  • 커널
    • 프로세스, 메모리, 저장장치를 관리하는 핵심
    • 직접 접근 X, 인터페이스(GUI,CLI) 를 통해 접근가능
  • GUI(Graphic User Interface)
    • 일반사용자들이 사용하기 쉬운 그림으로 연동되는 인터페이스
  • Command-Line Interface
    • 텍스트(명령어)를 통해 커널 접근하는 방식
  • 사용자 - 애플리케이션
    • 시스템 콜(인터페이스)를 이용한다.
      • 시스템 콜을 이용하면 커널이 제공하는 write 함수를 사용 -> 운영체제가 알아서 하드디스크의 빈 공간에 데이터를 저장한다.
      • 사용자가 직접적으로 커널에 접근해서 저장하지 못하게 한다. -> 중요 데이터가 덮어씌워지거나 사라질 수 있어서 시스템 콜을 이용해서 저장한다.
  • 사용자 - 하드웨어
    • 드라이버: 제조사에서 드라이버를 만드는 게 대부분이지만 혹시 없는 경우, 디바이스 드라이버를 따로 설치해서 사용한다.

컴퓨터 하드웨어와 구조

폰 노이만 구조로, cpu와 메모리를 분리하고 프로그램은 메모리에 올려서 실행시킨다.

  • 메인보드: 다른 하드웨어를 연결하는 장치
  • 메인보드의 버스: 장치간의 데이터를 전송한다.
  • 메인보드에 cpu와 메모리를 연결하고 그 외의 그래픽카드, 키보드, 스피커, 모니터 등등 각각에 단자에 맞춰서 넣으면 연결이 되는 구조이다.

  • CPU(Central Processing Unit) 중앙처리장치
    • 산술논리 연산 장치
    • 제어장치
    • 레지스터 : 계산을 위해 임시로 보관하는 장소(변수)
  • 메모리 종류
    • RAM(Random Access Memory): 저장된 위치와 상관없이 읽는 속도 동일, 전력이 끊기면 데이터 사라짐
    • ROM(Read Only Memory): 전력이 끊겨도 데이터 상실이 없지만 한 번 기입하면 수정 불가 -> 컴퓨터 부팅과 관련된 바이오스 저장

컴퓨터 부팅 과정

  • ROM의 바이오스 실행: 하드웨어들 (키보드, CPU, 마우스, 메모리)이 이상이 없는지 확인 -> 이상이 있다면? 부팅 실패 -> 이상이 없다면? 부트로더를 메모리로 가지고 와서 실행한다
    • 운영체제가 여러개일시 하나 선택 혹은 하나면 바로 그 운영체제 실행된다.
    • 여기서 실행되는 모든 프로그램은 메모리 위에서 운영체제가 관리한다.

인터럽트

CPU가 입출력관리자에게 출력 업무 지시 -> 주기적으로 입출력 관리자에게 확인을 함(= 폴링 방식) -> 성능 좋지않다.

CPU가 입출력관리자에게 출력 지시 -> 지시 후, CPU는 다른 일을 하고 출력이 끝나면 입출력 관리자가 CPU에게 신호를 준다. -> 인터럽트 서비스 루틴(특정 인터럽트가 들어오면 그 인터럽트를 해결, 비동기 방식)을 한다.

  • 하드웨어 인터럽트
    • 입출력 관련
  • 소프트웨어 인터럽트
    • 프로그램에서 발생
      • 유효하지 않는 메모리
This post is licensed under CC BY 4.0 by the author.

Jooq와 QueryDsl

프로세스와 쓰레드