본문 바로가기

cs/Operating System2

System Call과 커널 System Call 정의 응용 프로그램의 요청에 따라 커널에 접근하기 위한 call이다. 일반 응용 프로그램은 직접적으로 커널에 접근할 수 없다. 필요한 이유 특정한 작업은 해커가 시스템에 피해를 입힐 수도 있고 초보 프로그래머가 실수로 잘못 사용해서 시스템을 망가뜨릴 수 있다. 이를 예방하기 위해서 커널에서만 실행할 수 있는 작업을 따로 두고 있다. System Call을 통해서 응용 프로그램은 하드웨어 장치를 사용할 수 있고 각종 자원을 할당 받을 수 있고 각종 작업을 할 수 있다. 해당 system call이 적절한 system call인지 판단하고 적절한 system call이라고 판단되면 커널 모드로 진입한 후 필요한 작업을 한다. 사용되는 곳 프로세스 제어 프로세스 생성(create proc.. 2023. 4. 21.
프로세스와 스레드(process and thread) 프로세스 의미 메모리에 올라와 실행되고 있는 프로그램 인스턴스 운영체제로 부터 자원을 할당받는 단위 즉 실행된 프로그램을 의미한다. 할당 받는 시스템 자원의 예 cpu 시간 운영되기 위해 필요한 주소 공간 code, data, stack, heap 구조로 되어 있는 독립된 메모리 영역 특징 기본적으로 프로세스당 최소 하나의 스레드를 가지고 있다. 각 프로세스는 독립된 주소 공간에서 실행되며 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 스레드 의미 프로세스 내에서 실행되는 여러 흐름의 단위 프로세스가 할당받은 자원을 이용하는 실행의 단위 특징 스레드는 프로세스 내에서 code, data, heap은 공유하며 stack만 따로 할당받는다. 프로세스의 자원을 프로세스 내부의 스레드끼리 공유하면서 실행된.. 2023. 4. 18.