5월 17일 월요일 (6일차) - 프로세스, NULLㅇ

@_@·2021년 5월 17일
0

Database

목록 보기
1/28

<목차>

ㅇ 프로그램을 실행시키면 처리되는 프로세스
ㅇ NULL의 의미




ㅇ 프로그램을 실행시키면 처리되는 프로세스

  • 예) 나무 의자를 만들고 싶어
    • 필요한 것 : 나무(재료). 톱,망치(도구). 장소(작업공간). 즉, 재료, 도구, 공간이 필요해
  • 컴퓨터도 마찬가지
  • 디스크 : 저장공간 : 컴퓨터에서 물리적으로 저장할 수 있는 저장공간
    • 이 안에 데이터(재료)가 저장되어 있어
  • 프로세스 : 작업도구 :
    • 예) 한글 라이센스를 사보시면 정품 케이스에 '워드프로세스' 라고 적혀있어
      • 한글을 마우스로 더블클릭하면 한글이라는 프로세스가 실행되는 것
      • 한글 작업을 할 수 있도록 해주는 도구
      • 그래서 ctrl f10 누르면 특수기호가 뜨는 거야(메모장에서 ctrl f10 누른다고 특수기호 안 떠)
  • cpu : 프로세스의 개수를 결정하는 장치
    • cpu라는 장치에서 프로세스를 할당받아
  • 메모리 : 작업공간 : 컴퓨터에서 처리되는 작업들을 할 수 있는 작업공간
    • ram이라는 장치에서 메모리를 할당
  • 예) 나무가 배달 왔어. 그 자리에서 의자 만드는 게 아니라. 작업공간으로 옮겨야 해
    • 디스크에 저장되어 있는 한글파일 a.hwp을 더블클릭하면
    • 프로세스가 디스크로 접근해 (재료를 찾은 거야)
    • 이걸 작업공간 램으로 옮겨
    • 메모리에서 작업을 해
    • 다시 저장할 때 디스크에 저장
  • 다시 한번 흐름
    • 작업을 하기 위해서는 프로세스라는 게 반드시 할당되어야 하는 거고
    • 그 프로세스들이 디스크에 있는 내용들을 메모리에다가 불러들여서
    • 메모리라는 작업공간에서 모든 작업들을 처리하고
    • 다시 저장하게 되면 디스크에 저장이 돼
  • 디스크
    • 딱 2가지 현상 : 읽고 쓰기
      • I/O : 인풋, 아웃풋
    • 좀 더 쪼개보면 이런 모양. 한 칸 한 칸을 블록이라고 표현
      • 블록 : 저장할 수 있는 최소 저장 단위
      • 블록 위에 헤더가 있고, 아래 칸에 실제 값이 저장돼
    • 예) 메모리는 101동 아파트 : 헤더는 101호 / 값은 4 (4명 산다)
    • 디스크에서 데이터에서 찾는 방식이 헤더를 보는 것
      예) 주소 정보를 보고 집을 찾아가듯



ㅇ NULL의 의미

  • 값이 없다. 실제로 사용하는 표현이지만 틀린 말이긴 해
  • 실제 개념은 없다 라는 말은 아니야
  • 비어있다가 정확한 답
  • (vs) 시스템상에 데이터가 없다 = 저장공간이 할당되지 않았다. = 존재하지 않는다.
    • 물건을 저장하려면 수납공간이 필요
    • 시스템상에서 무언가를 저장하기 위해서는 반드시 블록(저장공간)이 할당되어야 해
  • NULL은
    • 블록은 할당이 돼. 다만, 물건이 안 들어 있는 것
    • 값이 비어있는 것
    • 값이 비어있다는 정보가 저장되어 있어. 할당은 돼.
    • 예) 지하철 보관함이 비어서 문이 열려있는 것
  • 실제 널 값은 특정 연산을 통해 찾아갈 수 있어
  • 이걸 그냥 값이 없다 라고 표현하는 것뿐
  • 결론 : NULL은 공간(블록)은 할당되지만 비어있는 값

ㅇ 0, (스페이스 바로 만든 공백), null. 이 3가지의 차이는?

  • 숫자 0은 숫자데이터. 1byte씩 할당해서 저장
  • null은 공간은 할당되어 있지만 값은 비어있는 상태
  • 공백은? 스페이스 하나당 문자데이터. 1byte씩 저장
    • 스페이스바 하나 칠 때마다 공간이 할당 돼
    • CF) 한글 파일 만들 때 공간 맞추려고 스페이스바 사용. 좋은 습관 아냐. 탭을 이용해. 공간 절약

profile
STEP BY STEP

0개의 댓글