운영체제

2star_·4일 전
0

cs

목록 보기
1/2

운영체제 기초

1. 운영체제의 개념과 역할

  • 운영체제(OS)의 정의
    • 컴퓨터 하드웨어와 응용 프로그램 사이에서 자원을 효율적으로 관리하는 소프트웨어
    • 사용자와 하드웨어 간의 인터페이스 역할 수행
  • 주요 역할
    • 프로세스, 메모리, 파일, 입출력 장치 등 시스템 자원 관리
    • 시스템의 안정성과 효율성 보장

2. 프로세스 관리

  • 프로세스와 스레드
    • 프로세스: 실행 중인 프로그램으로, 독립적인 메모리 공간을 가짐
    • 스레드: 프로세스 내에서 실행되는 작업 단위, 같은 프로세스 내 여러 스레드는 메모리 공간을 공유
  • 프로세스 상태
    • 생성, 준비, 실행, 대기, 종료 상태로 구분되며, 각 상태 전환 과정을 통해 프로세스가 운영됨
  • 스케줄링
    • CPU 할당을 위한 알고리즘: FCFS(선입선출), SJF(최단 작업 우선), 우선순위, 라운드 로빈 등이 있음
    • 각 알고리즘은 작업의 종류와 시스템 환경에 따라 장단점이 있음

3. 메모리 관리

  • 주기억장치와 보조기억장치
    • 주기억장치: RAM, 휘발성 메모리로서 프로세스가 실행되는 동안 데이터를 저장
    • 보조기억장치: HDD, SSD 등 비휘발성 저장 장치로 데이터를 영구 보관
  • 메모리 할당 방식
    • 연속 할당: 단순하지만 외부 단편화 문제 발생
    • 비연속 할당: 페이징과 세그멘테이션 기법을 통해 메모리 효율성 증대
  • 가상 메모리
    • 실제 메모리보다 큰 주소 공간을 제공하여, 디스크의 일부를 메모리처럼 사용하는 기술
    • 페이지 교체 알고리즘(예: LRU, FIFO)을 통해 효율적인 메모리 활용

4. 파일 시스템

  • 파일의 개념과 관리
    • 데이터를 논리적 단위(파일)로 관리하며, 디렉토리 구조를 통해 조직화
    • 파일 접근 권한 및 보안을 위한 관리 필요
  • 파일 시스템의 종류
    • FAT, NTFS, ext4 등 각 운영체제에 맞는 파일 시스템이 존재
    • 각 시스템은 성능, 안정성, 보안 측면에서 차이가 있음
  • 파일 입출력
    • 파일 생성, 읽기, 쓰기, 삭제 등의 기본 작업 수행
    • 버퍼링, 캐싱 등 성능 최적화 기법도 학습 필요

5. 입출력 장치와 장치 관리

  • I/O 장치 관리
    • 다양한 입출력 장치(키보드, 마우스, 프린터, 네트워크 장비 등)를 효율적으로 제어
    • 장치 드라이버를 통해 하드웨어와 소프트웨어 간 통신을 담당
  • 입출력 방식
    • 인터럽트 기반, DMA(Direct Memory Access) 등 하드웨어 효율성을 높이는 방식 적용

6. 동시성 제어와 데드락

  • 동기화 문제
    • 여러 프로세스나 스레드가 동시에 공유 자원에 접근할 때 발생하는 문제 해결
    • 뮤텍스, 세마포어, 모니터 등의 기법을 사용하여 충돌 방지
  • 데드락(Deadlock)
    • 두 개 이상의 프로세스가 서로 자원을 기다리며 무한 대기 상태에 빠지는 현상
    • 예방, 회피, 탐지 및 회복 기법으로 관리

7. 보안과 접근 제어

  • 사용자 인증 및 권한 관리
    • 시스템 자원에 대한 접근을 제어하여, 무단 접근이나 악의적 행위를 방지
    • 파일 권한 설정, 암호화, 방화벽 등 다양한 보안 기법 적용
profile
안녕하세요.

0개의 댓글

관련 채용 정보