OS란?

Ju_Nik_e·2023년 5월 28일
0

Pintos

목록 보기
1/3
post-thumbnail

운영 체제란?

컴퓨터의 백그라운드에서 실행되는 소프트웨어로,
주 기능은 애플리케이션을 지원하고, 하드웨어를 관리/제어하는 것이다.
좀 더 자세히는 다음과 같은 기능 등을 실행한다.

  1. 사용자 인터페이스
  2. 파일관리
  3. 하드웨어 및 주변기기 관리
  4. 프로세서 관리
  5. 소프트웨어 실행
  6. 인터럽트 및 오류처리
  7. 보안
  8. 메모리 관리
  9. 네트워크 통신

사용자 인터페이스

컴퓨터와 사용자 사이의 상호 작용을 담당하는 서비스를 제공하는 것으로, 그래픽 사용자 인터페이스(GUI)나 명령 줄(CLI) 등이 있다.

GUI(Graphic User Interface)

  • 창, 아이콘, 메뉴, 포인터 등을 사용해 시각적인 요소를 통해 사용자와 컴퓨터의 상호 작용을 제공한다.

CLI(Command Line Interface)

  • 텍스트 기반으로 사용자와 컴퓨터의 상호 작용을 제공한다.
  • 터미널 환경

파일 관리

파일 및 디렉토리의 생성, 수정, 삭제, 복사 등 파일 시스템의 관리를 담당한다. 이를 통해 사용자가 데이터를 구조화하고 저장할 수 있다.

파일 관리는 데이터를 일관되게 저장하고 검색할 수 있는 방법을 제공한다.
파일 및 디렉토리의 명명, 정렬, 삭제, 이동, 복사 등의 기능을 포함하며 룩업 테이블은 파일 이름과 저장 장치의 위치를 연결해 파일 관리를 지원한다.

하드웨어 및 주변기기 관리

컴퓨터의 하드웨어 자원(프린터, 스캐너, 마우스 등)을 관리하고 제어한다. 장치 드라이버를 통해 하드웨어와 상호 작용할 수 있도록 한다.

컴퓨터에 연결된 모든 장치를 제어하며, 상호 작용과 동작 방식을 지시하는 역할을 한다.

프로세서 관리

CPU를 관리해 프로그램을 실행시킬 수 있도록 한다.

실행되는 소프트웨어는 RAM에 위치하고 로드된다.
그 후 CPU는 프로그램을 실행할 수 있다.
OS는 CPU가 프로세스를 실행하는 과정을 제어/관리한다.

소프트웨어 실행

응용 프로그램의 실행을 관리하고 지원한다. 프로그램의 메모리에 로드하고 실행하는 등의 작업을 수행한다.

인터럽트 및 오류처리

하드웨어나 소프트웨어에서 발생하는 인터럽트(하드웨어 이벤트 등)와 오류(예외 상황 등)를 처리하고 관리한다.

  • 다중 작업 가능
    여러 프로그램이 동시에 RAM에 저장될 수 있지만, CPU는 한 번에 하나의 프로그램만 처리한다. OS는 context switching을 통해 다중 작업 환경을 지원한다.

  • 인터럽트
    프로그램이나 프로세스가 주의나 프로세서 시간을 요청하기 위해 보내는 신호이다. 인터럽트에는 하드웨어 이벤트(입력 장치에서의 사용자 입력, 외부 장치와의 통신 등)나 예외 상황(0으로 나누기, 메모리 오류 등) 등이 있다.

  • 우선순위 관리
    운영 체제는 인터럽트를 지속적으로 우선순위에 따라 처리하여 가장 적절하고 시급한 작업을 CPU가 처리하도록 한다. 이를 통해 중요한 작업이 먼저 처리되고 시스템의 안정성과 성능을 유지한다.

보안

사용자 인증, 암호화, 방화벽 등의 기능을 제공해 시스템의 보안을 유지하고 외부로부터의 악성 코드나 불법적인 접근을 방지한다.

  • 사용자 계정 및 비밀번호 생성 및 강화
  • 접근 권한 관리
    파일이나 디렉토리와 같은 리소스에 대한 읽기, 쓰기, 실행 등의 접근 권한을 설정해 불법적인 액세스로부터 보호한다.
  • 방화벽과 보안 유틸리티
    네트워크 트래픽을 모니터링하고 필요한 보안 정책을 적용한다.

메모리 관리

시스템 메모리의 할당과 관리를 담당한다. 프로세스 간 메모리 공유, 가상 메모리 등의 기능을 제공해 효율적인 메모리 사용을 지원한다.

  • 프로그램의 메모리 공간 할당과 메모리 해제
    프로그램에게 메모리 공간을 할당하고 프로그램이 종료 될 떄 해당 메모리를 반환한다.

  • 메모리 사용 추적
    메모리 사용량을 추적해 사용가능한 메모리와 사용 중인 메모리의 상태를 관리한다. 이를 통해 메모리의 현재 상태를 파악하고 프로그램에게 할당할 수 있는 메모리 공간을 판단한다.

  • 메모리 부족 시 처리 결정
    메모리가 부족한 경우에 대처방법을 결정한다. 프로세스 우선순위, 페이지 교체 알고리즘 등을 고려해 메모리 관리를 수행한다.

네트워크 통신

컴퓨터 간의 통신을 관리하고 네트워크 리소스에 접근할 수 있도록 한다.
네트워크 프로토콜, 연결 관리, 데이터 전송 등을 담당한다.

0개의 댓글