프로그래밍 공부
작성일
2022. 9. 6. 15:31
작성자
WDmil
728x90

가져오기

  • 프로세스와 데이터를 메모리로 가져옴

배치

  • 가져온 프로세스와 데이터를 메모리의 어떤 부분에 올려놓을지 결정
  • 배치 작업 전 메모리를 어떻게 자를지 중요
    • 같은크기
    • 프로세스 크기에 맞게 자르기
  • 나눈 메모리 구역에 따라 프로세스와 데이터를 어떤 위치에 놓을지 결정

재배치

  • 새로운 프로세스를 가져와야 하는데 메모리가 꽉찬경우 프로세스를 하드디스크로 다시옮김
  • 오래된 프로세스를 내보냄

가상 메모리

  • 실제 메모리 크기와 관계없이 프로세스에 커다란 메모리 공간을 제공하는 기술
  • 가상메모리 크기 = 실제 메모리 크기 + 스왑영역 크기
  • 그러나 스왑이 일어나면서 교환하는 인터럽트가 발생하면서 문맥교환 시간이 발생하여 속도가 느려질 수 있다.

가상메모리와 빅데이터의 연관성

  • 가상메모리가 있음으로써 메모리가 부족해도 스왑영역을 크게 잡고 작업을 하기에 더 큰 데이터를 처리할 수 있다.

저장장치

파일

  • 논리적인 데이터 집합
  • 하드디스크 또는 CD에 저장
  • 파일의 성격을 알기 위해 확장자 사용
    • 파일이름. 확장자
    • ex(.avi.mp4)
  • 파일명 작명

파일 = 파일헤더 + 내용

파일헤더

  • 파일 이름, 버전, 크기, 만든 날짜 등의 정보 저장

실행파일

  • 운영체제가 메모리로 가져와 CPU를 사용하여 작업하는 파일
  • 사용자 요청으로 프로세스가 되는 파일

데이터파일

  • 프로세스나 응용프로그램이 사용하는 데이터를 모아놓은 파일

디렉터리

  • 윈도우에서 '폴더' 라고 함
  • 관련 있는 파일을 하나로 모아 놓은 곳
  • 최상위 디렉터리 를 시작으로 점점 확장되는 구조
    • \는 루트 디렉터리를 의미

디렉터리도 파일임

  • 일반 파일
    • 데이터 저장
  • 디렉터리
    • 헤더 + 파일정보
    • 헤더
    • 디렉터리 이름, 만든시간, 접근권한

파일 시스템

포맷팅 [ formatting ]

  • 디스크에 파일 시스템을 탑재하고 디스크 표면을 초기화하여 사용할 수 있는 형태

종류

  • 빠른 포맷팅
    • 데이터는 그대로 둔 채 파일 테이블을 초기화하는 방식
  • 느린 포맷팅
    • 파일 시스템을 초기화할 뿐 아니라 저장 장치의 모든 데이터를 0으로 만듬
    • 시간이 많이 걸리지만 배드섹터 를 찾을 수 있음

파일 테이블

  • 파일 이름, 위치 정보

모든 운영체제는 고유의 파일 테이블을 가짐

  • 윈도우
    • FAT 나 FTFS
  • 유닉스
    • i-node

데이터 전송 단위

운영체제와 하드디스크 간에 블록 단위로 데이터 전송

블록[block]

  • 저장장치 에서 사용하는 가장 작은 단위
  • 한 블록에 주소 하나를 할당
  • 여러 섹터 [ 하드 디스크에서 가장 작은 저장 단위 ] 를 묶어 하나의 블록을 만듦

윈도우 FAT32

  • 블록의 크기
    • 4KB ~ 64KB

블록의 크기가 작으면

  • 낭비되는 공간 없이 데이터 조밀하게 저장
  • 입출력 속도가 느리다.

블록의 크기가 크면

  • 큰 파일을 많이 저장 가능

하드디스크 조각 모음

컴퓨터가 오래되면 속도가 점점 느려짐

  • 이유
    • 조각화 또는 단편화
      • 하드디스크를 처음 사용할 떄는 데이터 앞부터 차곡차곡 쌓이지만 사용하다 보면 파일이 삭제되면서 중간중간 빈 공간이 생김

하드디스크에 조각이 많이 생기면 큰 파일을 여러 조각으로 나누어 저장하고, 이를 읽으려면 하드디스크의 여러 곳을 돌아다녀야함.

주기적으로 조각모음 을 해서 성능 향상

메모리 기반 저장장치

  • 헤드를 움직여 데이터를 접근하지 않기 때문에 조각모음을 하지 않아도 성능 저하가 발생하지 않음
  • 특정 위치의 메모리 셀만 계속 사용하면 수명이 단축됨.
  • 전체 공간을 고루 사용하는 방식을 통해 수명을 늘림

윈도우 파일 시스템

FAT32

  • 32GB
  • 파일 하나의 크기 4GB
  • NTFS를 사용하여 크기 늘림
  • USB 메모리에서 사용

빈 공간 리스트

  • 빈 공간을 효율적으로 관리하려고 파일 시스템은 빈 블록 정보만 모아놓은 구조
  • 파일 삭제
  • 실제 데이터가 지워지는것이 아님
  • 파일 테이블의 헤더를 삭제하고 사용한 블록을 빈공간 리스트로 등록함.

 

리눅스 배포판

 

 

728x90