리눅스 프로그래밍 중간고사 정리
- 최초 등록일
- 2021.01.24
- 최종 저작일
- 2014.04
- 8페이지/ 한컴오피스
- 가격 1,000원
목차
없음
본문내용
Polling - CPU가 일정한 시간 간격을 두고 각 자원들의 상태를 주기적으로 확인하는 방식. 동시에 각 자원들은 직전 폴링 이후 변화된 자신의 상태를 다음 번 폴링 때까지는 알릴 수 없다는 점이 문제이다.
Interrupt - 각 자원들이 능동적으로 자신의 상태변화를 CPU에게 알리는 방식
채널과 중앙처리장치 간의 통신은 일반적으로 인터럽트(interrput)에 의해 이루어짐
DMA - CPU의 개입없이 데이터를 직접 메모리로 전송하는 I/O방식임. 고속의 작동이 요구되는 디스크 장치 등에 쓰임.
fork의 원리
fork() 함수를 통해 프로세스가 만들어지면 또 하나의 같은 프로세스가 만들어짐 -> 그 또 하나의 같은 프로세스는 자식 프로세스이며, 그 자신만의 process id를 가지게 됨(fork는 새로운 프로세스를 위한 메모리는 할당한 후, fork를 호출한 프로세스를 새로운 공간으로 전부 복사) -> fork() 함수는 반환할 값을 설정함(자식 프로세스ID, 반환값이 따라서 두 개의 거의 동일한 프로세스 작업 시작)
fork와 vfork의 차이점
fork는 프로세스의 전체 주소 공간을 복사를 해서 자식에게 주소공간을 따로 만들지만 vfork는 부모와 자식이 같은 주소 공간을 가리키기 때문에, 자식 프로세스가 exec나 exit 호출할 때 부모 프로세스의 변수가 의도적으로 변경될 수 있다.
PCB - 각각의 process에 대한 상태를 저장함으로써 효율적인 관리 할 수 있음. 운영체제에게 프로세스에 대한 중요한 정보를 제공해주는 자료구조 테이블이다.
race condition - 관리자의 권한으로 실행되는 프로그램 중간에 끼어들어 자신이 원하는 작업을 하는 것이다.
multiprogramming - 2개 이상 프로그램을 주기억장치에 기억시키고 중앙처리장치(CPU)를 번갈아 사용함으로써, 컴퓨터 자원을 최대로 활용하는 처리기법이다. 즉 CPU 이용률을 극대화하고, 전체작업의 throughput 증대한다.
참고 자료
없음