리눅스(1)

·2025년 6월 21일

Devops

목록 보기
1/6

6월 초,중순쯤부터 준비한 Linux 1급 정리하기 시작
(주중엔 학습을, 주말엔 정리를 해보자.)

1.운영체제의 개요.

1) OS(Operating System) 정의

  • User, HW 간의 상호작용을 위한 'UserInterface'를 제공하는 System SW.
  • 응용프로그램이 동작할 수 있는 환경.

2) 목적

  • 처리 능력의 향상
    • '처리 능력'이란 '일정시간 동안 처리하는 일의 양을 의미'
  • 반환시간의 최소화를 목적
    • '반환 시간'이란 '작업 의뢰후 시스템에서 얻어질 때 까지의 시간을 의미'
  • 신뢰도의 향상을 목적
    • '신뢰도 향상'이란 '주어진 문제를 정확하게 처리하는 정도를 의미'
  • 사용 가능도의 향상

3) 역할

  • 유저의 HW접근이 용이하도록 HW제어, 입출력의 관리
  • 한정된 HW자원을 다수의 유저가 공유할 수 있는 기능을 제공
  • 프로세스, 메모리, CPU등 자원의 용량을 효율적으로 사용하기 위해 '스케줄링'을 제공
  • "SystemCall"을 제공
  • 오류복구 기능을 제공
  • 사용자 인터페이스를 제공
  • 수 많은 데이터를 조직화 -> 저장기능을 제공, 원격의 PC와 연결할 수 있는 네트워크 기능을 제공

⁉️여기서 SystemCall을 조금 알아보자.

  • 사전적 정의: 운영체제에서 제공하는 기능을 응용프로그램이 사용할 수 있도록 커널에서 제공하는 서비스다.

  • 시스템 콜의 주요 기능

    • 프로세스 관리: 프로세스의 생성, 실행, 종료 등을 관리. 예를 들어, fork(), exec(), exit() 등의 시스템 콜이 이에 해당한다.

    • 파일 조작: 파일 생성, 읽기, 쓰기, 삭제 등 파일 시스템과 관련된 작업을 수행. open(), read(), write(), close() 등이 포함된다.

    • 디바이스 관리: 하드웨어 장치에 대한 접근과 조작을 가능하게 한다. 예를 들어, 프린터 사용이나 디스크 읽기/쓰기 작업이 여기에 포함된다.

    • 정보 유지: 시스템 날짜와 시간 설정, 시스템 데이터 통계 등을 조회하고 설정하는 기능을 제공한다.

    • 통신: 프로세스 간 통신(IPC) 또는 네트워크 통신을 위한 기능을 제공한다. socket(), send(), receive() 등이 여기에 포함된다.

    • 메모리 관리: 프로세스에 메모리 할당, 해제를 관리를 한다. malloc(), free()와 같은 라이브러리 함수가 내부적으로 시스템 콜을 한다.

  • 시스템 콜의 작동 단계

    • ㄱ) 응용 프로그램은 시스템 콜을 호출.
    • ㄴ) 호출된 시스템 콜은 사용자 모드에서 커널 모드로 전환을 요청.
    • ㄷ) 운영체제 커널은 요청된 서비스를 수행.
    • ㄹ) 작업이 완료되면, 커널은 결과를 응용 프로그램에 반환하고 사용자 모드로 다시 전환.
    • ㅁ) 시스템 콜을 통해 운영체제는 시스템 리소스의 안전한 관리와 추상화된 인터페이스를 제공하며, 응용 프로그램은 하드웨어에 대한 직접적인 접근 없이 필요한 기능을 사용할 수 있다.

4) 기능

  • 리소스 관리 기능
  • 스케줄링 기능
  • 네트워크 제어기능
  • 데이터 관리기능 + 자원 공유 기능
  • 자원보호 기능
  • 복구 기능
  • 가상화 기능

5) 운용 기법

  • 일괄 처리 시스템: 여러 작업을 묶어서 한번에 처리 -> 끝날 때까지 기다려야함(기다릴때는 시스템을 이용X, CPU 유휴 상태) -> 자원 사용의 효율성 낮음

  • 다중 프로그래밍 시스템: "작업 단위" , 하나의 작업이 입출력중일 때 다른 작업을 할당해 -> cpu의 사용률, 처리량을 향상

  • 시분활 시스템: "일정 시간 단위(= 타임슬라이스, 타임 퀀텀)", 일정시간동안 작업을 진행 -> 시간이 만료시 "대기큐"에서 다른 작업을 실행

  • 다중 처리 시스템: 여러개의 cpu가 동시에 처리(병렬 처리)

  • 실시간 처리 시스템: "요청-> 결과"로 요구한 시간내에 수행돼야만 하는 시간적 제약. 이때 시간적 제약은 경성, 연성으로 나뉜다.

  • 다중모드 시스템: 일괄 + 다중 + 시분활 + 다중처리 + 실시간 처리

  • 분산 처리 시스템: "통신망 개념", 통신망 연결을 통해 시스템이 수행해야할 작업을 분산 -> 각 시스템의 자원을 공유해 처리량, 응답시간, 가용량을 극대화, 또한 가상화 기술을 기본적으로 지원 혹은 커널단에서 지원

profile
# h

0개의 댓글