[CS 스터디] 1. 운영체제 - 운영체제란

채채·2023년 12월 7일
0

CS 스터디

목록 보기
1/21

운영체제란

  • 운영체제(OS, Operating System)
  • 하드웨어 관리, 컴퓨터 시스템 자원 관리, 응용 프로그램과 하드웨어 간의 인터페이스 역할
  • 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어
  • 종류: Windows, Linux, UNIX, MS-DOS

운영체제의 역할

  • 프로세스 관리, 저장장치 관리, 네트워킹, 사용자 관리, 디바이스 드라이버
  1. 프로세스 관리
    운영체제에서 작동하는 응용 프로그램을 관리하는 기능
    프로세스, 스레드, 스케줄링, 동기화, IPC 통신 등
    어떤 의미에서는 프로세서(CPU)를 관리하는 것이라고 볼 수도 있음
    현재 CPU를 점유할 프로세스 결정, CPU 프로세스에 할당, 프로세스 간 공유 자원 접근과 통신 등 관리

  2. 저장장치 관리
    메모리 관리, 가상 메모리, 파일 시스템
    1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능

    • 1차 저장장치 (Main Memory)
      프로세스에 할당하는 메모리 영역의 할당과 해제
      각 메모리 영역 간의 침범 방지
      메인 메모리의 효율적 활용을 위한 가상 메모리 기능
    • 2차 저장 장치 (HDD, NAND Flash Memory 등)
      파일 형식의 데이터 저장
      이런 파일 데이터 관리를 위한 파일 시스템을 OS에서 관리
      FAT, NTFS, EXT2, JFS, XFS 등 많은 파일 시스템들이 개발되어 사용 중
  3. 네트워킹

    • TCP/IP, 기타 프로토콜
      네트워킹은 컴퓨터 활용의 핵심과도 같음
      TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 함
      현재 사용 OS들은 다양하고 많은 네트워크 프로토콜 지원

    • 운영체제의 역할
      운영체제: 사용자 <-> 컴퓨터 하드웨어 사이에 위치
      하드웨어를 운영/관리하고 명령어를 제어: 응용 프로그램 및 하드웨어를 소프트웨어적으로 제어/관리해야함

  1. 사용자 관리

    • 계정 관리, 접근권한 관리
      하나의 PC로도 여러 사람이 사용하는 경우가 많다.

    • 운영체제의 역할
      운영체제: 한 컴퓨터를 여러 사람이 사용하는 환경도 지원해야 함
      각자의 계정을 만들어 PC 사용 => 각 계정 관리 기능 필요
      사용자 별로 프라이버시/보안을 위해 개인 파일에 다른 사용자가 접근 불가하게
      파일/시스테 자원에 접근 권한을 지정할 수 있도록 지원하는 사용자 관리 기능

  2. 디바이스 드라이버

    • 순차접근 장치, 임의접근 장치, 네트워크 장치
    • 운영체제의 역할
      운영체제: 시스템의 자원, 하드웨어 관리
      시스템에는 여러 하드웨어가 붙어 있음
      운영체제에서 이들을 인식하고 관리 => 응용 프로그램이 하드웨어를 사용할 수 있게!

    운영체제 안에 하드웨어를 추상화해주는 계층이 필요

    • 이 계층: 디바이스 드라이버

    하드웨어의 종류가 많은 만큼, 운영체제 내부의 디바이스 드라이버도 많이 존재
    수많은 디바이스 드라이버들을 관리하는 기능도 운영체제가 맡고 있음

출처

gyoogle님의 Tech Interview

profile
성장하는 사람

0개의 댓글