Chapter 06. 교착 상태(Deadlock) 누워서 보는 운영체제 이야기 - 김주균 교수님 방학 때 병팔이와 동생은 각자 강아지를 한 마리씩 키우기로 하고 우선 강아지 집을 만들기로 하였다. 창고에 있는 여러 가지 크기의 합판과 망치, 톱을 준비하고 나서 병팔이는 적당한 합판들로 망치를 가지고 지붕부터 만들기 시작했다. 동생은 망치를 이미 형이 쓰고 있어 톱을 가지고 합판들을 적당한 크기로 자르기 시작했다. 여기서 몇 가지 가정을 해보자. 이 형제는 양보라는 미덕을 모르며 융통성 또한 아예 없어서 하기로 했던 일을 중간에 상황에 따라 변경하지도 않는다. 물론 톱과 망치는 하나씩밖에 없다. 약간의 작업 후 병팔이는 톱이 필요해졌다. 그러나 동생은 사용 중인 톱을 줄 리가 없다. 톱으로 해야 할 일만 ..
↓Chapter 04. 변수 및 유효 범위 프로그래밍 언어론 원리와 실제 - 창병모 교수님 4.1 변수 선언 1) 변수 선언과 유효 범위 - 사용 전 선언(declaration before use): 변수는 사용하기 전에 선언되어야 함 - 변수의 유효 범위(scope) 선언된 변수가 유효한(사용될 수 있는) 프로그램 내의 범위/영역 변수 이름뿐 아니라 함수 등 다른 이름도 생각해야 함 - 정적 유효 범위(Static scope) 선언된 이름은 선언된 블록 내에서만 유효함 대부분 언어에서 표준 규칙으로 사용됨 2) 블록과 변수 선언 - 구문법 → ... | id = ; | let in end → { id [=];} → {} → int | bool | string - 의미 변수 id는 타입 변수이며 초기화가..