CS16 [OS] 프로세스 생성과 상태 모든 프로세스는 상태를 가지고 있다. 대표적인 프로세스 상태 생성 상태 준비 상태 : 당장 실행이 될 수 있지만 실행 순서를 기다리고 있는 상태 실행 상태 : CPU 자원을 할당 받아서 실행하고 있는 상태 대기 상태 : 입출력장치를 사용 요청했을 때 주로 대기상태가 된다. 준비상태와 다른 점은 대기 상태는 어떤 이벤트나 조건이 충족되기를 기다리는 상태라는 것 종료 상태 : PCB가 폐기되고 자원을 반납한 상태 준비상태에서 CPU 자원 할당을 기다리게 된다. CPU자원을 할당 받았다면 디스패치가 되고 실행상태가 된다. 실행상태인 프로세스가 할당된 CPU 이용시간이 끝났다면 타이머 인터럽트, 타임아웃 이라고 한다. 타임 아웃된 프로세스는 다시 준비상태가 된다. 실행상태에서 입출력 명령어를 만났다던지와 같은 .. 2023. 9. 7. [OS] 커널 영역과 사용자 영역의 프로세스 프로세스 프로세스란 실행중인 프로그램으로 같은 프로그램도 별도의 프로세스가 될 수 있다. $ ps 명령어를 통해서 프로세스를 확인할 수 있다. 프로그라운드 프로세스 : 사용자와 직접적으로 상호작용하고 있는 프로세스 백그라운드 프로세스 : 사용자와 직접적으로 상호작용하고 있지 않은 프로세스 서비스 : 백그라운드 프로세스의 일종으로 사용자와 직접적으로 상호작용하지 않지만 묵묵히 자신의 일을 수행하는 프로세스 $ systemctl list-units --type service : 현재 시스템에서 실행 중인 서비스를 확인 가능 프로세스제어블록(PCB) 모든 프로세스마다 PCB(프로세스제어블록)라고 하는 자료가 할당되어 있고 운영체제는 PCB를 통해 프로세스를 식별한다. PCB는 운영체제의 커널 영역 내에 할당되.. 2023. 9. 7. [OS] strace기반 시스템 콜 관찰하기 strace : 시스템 콜을 추적하기 위한 도구 pid : 실행중인 프로세스에 할당되어있는 고유번호 strace 기본 사용법 $ strace $ strace -p 시스템 호출 결과를 콘솔에 출력하지 않고 파일로 저장 $ strace -o .txt 생성된 파일을 다음과 같이 열어볼 수 있음. 시간과 시스템 호출 결과 출력 $ strace -t ls : 타임스탬프 $ strace -tt ls : 타임스탬프를 밀리세컨드까지 보여줌 $ strace -T ls : 각 시스템 호출 소요 시간 시스템 콜 요약 결과 출력 $ strace -c $ whoami : 현재 사용자의 이름을 출력 실행 파일의 시스템 호출결과 필터링 $ strace -e trace=opne,read ls 프로그램이 실행되는 과정에서 시스템 콜은.. 2023. 9. 7. [OS] 운영체제 거시적으로 보기 운영체제의 역할 컴퓨터 구조 파트에서 다양한 컴퓨터 부품들(CPU, 메인 메모리, 보조기억장치, 입출력장치..)은 운영체제가 움직이게 한다. 여기서 말하는 다양한 컴퓨터 부품들은 리소스의 일종이다. (시스템)리소스란 자원이라고도 하며 실행에 마땅히 필요한 요소를 말한다. 예를 들어 CPU는 프로그램 실행에 마땅히 필요한 요소이기 때문에 리소스이며 메모리, 파일, 네트워크를 통해 주고받는 정보 또한 리소스의 일종이 될 수 있다. 즉, 컴퓨터 구조 파트에서 학습한 다양한 컴퓨터 부품들을 비롯한 리소스들은 운영체제가 움직이게 만든다 라고 볼 수 있다. 관련된 용례로써는 '리소스를 소비/낭비' , '리소스 모니터링' 등이 있다. 참고로 리소스 모니터를 통해서 현재 실행되고있는 프로세스를 확인할 수 있다. 프로세.. 2023. 9. 7. 이전 1 2 3 4 다음