<목차>
ㅇ 프로그램을 실행시키면 처리되는 프로세스
ㅇ NULL의 의미
ㅇ 프로그램을 실행시키면 처리되는 프로세스
- 예) 나무 의자를 만들고 싶어
- 필요한 것 : 나무(재료). 톱,망치(도구). 장소(작업공간). 즉, 재료, 도구, 공간이 필요해
- 컴퓨터도 마찬가지
- 디스크 : 저장공간 : 컴퓨터에서 물리적으로 저장할 수 있는 저장공간
- 프로세스 : 작업도구 :
- 예) 한글 라이센스를 사보시면 정품 케이스에 '워드프로세스' 라고 적혀있어
- 한글을 마우스로 더블클릭하면 한글이라는 프로세스가 실행되는 것
- 한글 작업을 할 수 있도록 해주는 도구
- 그래서 ctrl f10 누르면 특수기호가 뜨는 거야(메모장에서 ctrl f10 누른다고 특수기호 안 떠)
- cpu : 프로세스의 개수를 결정하는 장치
- 메모리 : 작업공간 : 컴퓨터에서 처리되는 작업들을 할 수 있는 작업공간
- 예) 나무가 배달 왔어. 그 자리에서 의자 만드는 게 아니라. 작업공간으로 옮겨야 해
- 디스크에 저장되어 있는 한글파일 a.hwp을 더블클릭하면
- 프로세스가 디스크로 접근해 (재료를 찾은 거야)
- 이걸 작업공간 램으로 옮겨
- 메모리에서 작업을 해
- 다시 저장할 때 디스크에 저장
- 다시 한번 흐름
- 작업을 하기 위해서는 프로세스라는 게 반드시 할당되어야 하는 거고
- 그 프로세스들이 디스크에 있는 내용들을 메모리에다가 불러들여서
- 메모리라는 작업공간에서 모든 작업들을 처리하고
- 다시 저장하게 되면 디스크에 저장이 돼
- 디스크
- 딱 2가지 현상 : 읽고 쓰기
- 좀 더 쪼개보면 이런 모양. 한 칸 한 칸을 블록이라고 표현
- 블록 : 저장할 수 있는 최소 저장 단위
- 블록 위에 헤더가 있고, 아래 칸에 실제 값이 저장돼
- 예) 메모리는 101동 아파트 : 헤더는 101호 / 값은 4 (4명 산다)
- 디스크에서 데이터에서 찾는 방식이 헤더를 보는 것
예) 주소 정보를 보고 집을 찾아가듯
ㅇ NULL의 의미
- 값이 없다. 실제로 사용하는 표현이지만 틀린 말이긴 해
- 실제 개념은 없다 라는 말은 아니야
- 비어있다가 정확한 답
- (vs) 시스템상에 데이터가 없다 = 저장공간이 할당되지 않았다. = 존재하지 않는다.
- 물건을 저장하려면 수납공간이 필요
- 시스템상에서 무언가를 저장하기 위해서는 반드시 블록(저장공간)이 할당되어야 해
- NULL은
- 블록은 할당이 돼. 다만, 물건이 안 들어 있는 것
- 값이 비어있는 것
- 값이 비어있다는 정보가 저장되어 있어. 할당은 돼.
- 예) 지하철 보관함이 비어서 문이 열려있는 것
- 실제 널 값은 특정 연산을 통해 찾아갈 수 있어
- 이걸 그냥 값이 없다 라고 표현하는 것뿐
- 결론 : NULL은 공간(블록)은 할당되지만 비어있는 값
ㅇ 0, (스페이스 바로 만든 공백), null. 이 3가지의 차이는?
- 숫자 0은 숫자데이터. 1byte씩 할당해서 저장
- null은 공간은 할당되어 있지만 값은 비어있는 상태
- 공백은? 스페이스 하나당 문자데이터. 1byte씩 저장
- 스페이스바 하나 칠 때마다 공간이 할당 돼
- CF) 한글 파일 만들 때 공간 맞추려고 스페이스바 사용. 좋은 습관 아냐. 탭을 이용해. 공간 절약