B1:기초 Basement 썸네일형 리스트형 현수 참조(dangling reference) 포인터가 이미 heap에 반납된 기억장소를 지시하는 경우. 현수 포인터(dangling pointer)라고도 함. 더보기 부작용 (side effect) 실 매개변수나 비지역변수의 값이 바뀌어, 의도하지 않았던 결과를 얻게 되는 현상. 예 > a + f(a) 어느 항을 먼저 계산하느냐에 따라서, 부작용 허용여부에 따라서 결과가 달라짐 - 부작용을 금지시킬 경우 매개변수를 통한 결과반환이 불가능해지기 때문에, 프로그래밍의 편의성이 훼손됨 - 피연산자의 순서를 엄격히 규정할 경우 컴파일러가 최적화 코드를 만들기 위해 순서 조정을 할 수 없게 됨 C,C++ : 계산순서 명시하지 않음 Java : 왼쪽에서 오른쪽으로 계산하도록 명시함 더보기 중지계산 (short-circuit evaluation) Bool 식의 값을 왼쪽에서 오른쪽으로 계산하는 도중 나머지 부분을 계산하지 않아도 식의 값이 결정되는 경우 더 이상 그 식의 나머지 부분을 계산하지 않고 값을 결정하는 기능 더보기 매개변수 전달방식 실 매개변수를 형식 매개변수에 바인딩할 때, 형식 매개변수가 실 매개변수의 값/주소/이름을 전달받을 수 있는데, 이에 따른 분류. 1. 값에 의한 전달 실 매개변수의 값이 형식 매개변수의 값으로 복사되고, 형식 매개변수는 부프로그램의 지역변수처럼 사용된다. 2. 결과에 의한 전달 값에 의한 전달의 역 개념. 부프로그램의 종료시점 : 형식 매개변수의 값이 실 매개변수로 전달됨. 단점 : 같은 이름의 변수가 실 매개변수로 주어지고, 이것이 서로 다른 형식 매개변수에 바인딩되는 경우 문제가 발생할 수 있다.(모호성 문제) 3. 값-결과에 의한 전달 부프로그램의 시작시점 : 실 매개변수의 값이 형식 매개변수로 전달됨 부프로그램의 종료시점 : 형식 매개변수의 값이 실 매개변수로 전달됨 4. 주소에 의한 전달 실 .. 더보기 논리 언어 (logic language) 논리 언어(logic language) 술어논리(predicate logic)에 기초한다. 술어 논리는 공리와 규칙으로 새로운 사실을 추론 논리프로그램의 구성 : 논리 프로그램은 공리, 사실, 추론 규칙, 증명할 정리나 질의 어떠한 질의가 있게되면 주어진 공리와 사실로부터 추론 규칙에 따라 그 질의가 참인지 거짓인지를 결정하여 그 값을 출력. 논리 프로그램에는 어떠한 사실이나 사실들간의 관계를 나타내주는 선언문만이 나타나게 된다. 실행 순서는 필요 없이 사실이나 관계만을 선언하면 되므로 논리 프로그래밍을 선언형 프로그래밍(declarative programming)이라고 한다. 여러 종류의 논리 프로그래밍 언어가 개발되었으나 현재 쓰이고 있는 것은 Prolog뿐이다. 더보기 프로세스간 통신 ( Process Communication ) 프로세스간 통신기법 분류 - 공유기억장치(shared memory)기법 : 프로세스간 공유되는 변수를 이용하여 값을 전달 - 메시지시스템(message system)기법 : 프로세스는 메시지처리기능을 가지며, 통신은 OS가 담당하며, 프로세스간에 통신링크가 구현됨. 통신링크의 논리적 구현 1. 어떻게 링크가 설정되는가 2. 한 링크가 2개 이상의 프로세스와 관계할 수 있는가 3. 모든 통신의 쌍(pair) 사이에 얼마나 많은 링크가 있을 수 있는가 4. 링크의 용량은 얼마인가? 5. 메시지의 크기는 얼마인가? 6. 링크가 단일방향인가 양방향인가? 링크의 논리적 구현과 송/수신 연산을 위한 여러 가지 방법 1. 직접 통신 / 간접 통신 2. 프로세스 전송 / 우편함 전송 3. 대칭 통신 / 비대칭 통신 4.. 더보기 판독기 / 기록기 문제 ( Reader / Writer Problem ) 다수의 프로세스가 하나의 데이터객체를 공유하는 경우, 한 쪽 프로세스는 판독을 하려 하고, 다른 한 쪽 프로세스는 기록을 하려고 할 때 발생하는 문제.조건 : 판독을 동시에 하는 경우 이상 없음. 판독과 기록 / 기록과 기록인 경우가 문제. 해결방법 : 기록기가 공유객체에 배타적 접근을 하도록 해야 한다. 1. 기록기가 이미 공유객체를 사용하도록 허가되지 않았다면, 판독기는 대기하지 않는다. 2. 일단 기록기가 준비되었다면, 기록을 가능한한 빨리 수행한다.( 기록기 작업중에는 어떤 판독기도 읽기 시작 불가 ) 더보기 장치관리 ( Device Management ) 장치의 범주 - 전용장치(dedicated devices) 한 번에 단지 하나의 작업에만 할당된다. - 공유장치(shared devices) 여러 프로세스에 할당된다. 요구를 인터리빙(Interleaving). - 가상장치(virtual devices) 전용장치와 공유장치의 조합. 스풀링(Spooling). 순차접근 저장장치 테이프 장치에서 레코드간 이동시에 헤드가 멈출 시간(IRG:InterRecord Gap)이 필요함. - 전송률(transfer rate) = 밀도(density) X 전송속도(transport speed) 직접접근 저장장치 드럼, 디스크 등의 임의접근저장장치(random access storage devices). - 고정헤드방식 접근시간(access time) = 회전지연시간(se.. 더보기 이전 1 ··· 10 11 12 13 14 15 16 ··· 34 다음