본문 바로가기

운영체제12

운영체제 프로세스 자원 할당에 대하여 ( 2 ) 참고 : https://kils-log-of-develop.tistory.com/640 이제 프로세스 할당 과정에서 발생하는 문제점에 대해서 알아보기 전에 프로세스의 상태부터 알아보자 위에꺼 외울 필요도 없이 당연한거긴함. 상태 종류만 뭐가 있는지 확인만 해두자. PID / Process Identifier PCB / Process Control Block 얘네는 컨텍스트 스위칭할때도 나오니 찾아보셈 이왕 하는김에 메모리 구조도 알아도자.. JVM이랑 비슷하게 생김 데드락 ( 교착상태 / Dead Lock ) 이란 우리가 사용하는 CPU에는 한정된 자원을 가지고 있다. 필자의 CPU는 20개의 논리 프로세서를 가지고 있다. 이 자원을 누가 사용하는가를 놓고 특정 알고리즘에 의하여 할당받는다. 프로세스 할.. 2022. 9. 28.
운영체제 프로세스 자원 할당에 대하여 ( 1 ) 일단 프로그램이 실행되려면 CPU에 의하여 자원을 할당받아야한다. CPU에 의해 자원을 할당받아 실행된 프로그램을 프로세스라하며 프로세스의 작업의 흐름을 쓰레드라고한다. 이제 자원을 할당할 경우 생기는 문제점에 대해서 알아보자. CPU가 자원을 할당하는 것을 스케줄링이라고 부른다. ( 무언가를 할당하는 것에는 다 스케줄링 가져다 붙이는듯... 쿠버네티스에서도 스케줄링 쓰고... ) 이번에는 자원 할당 방식과 발생하는 문제점에 대해서 알아보자. 참 다양한 알고리즘이 존재하는데, 대분류부터 살펴보자 1. 비선점 스케줄링, 선점형 스케줄링 2. 정적 스케줄링, 동적 스케줄링 대분류는 이렇게 존재하고 1. 비선점 FCFS ( First Come First Served Scheduling ) // 선착순 2022. 9. 28.
퍼옴 // 컨텍스트 스위칭이 일어나는 경우 https://algosketch.tistory.com/m/94 프로세스 프로세스가 CPU 를 양보하는 경우 프로세스가 시스템 API 를 호출하는 경우 프로세스가 I/O 를 요청하는 경우 timer interrupt 프로세스가 자발적으로 CPU 를 포기하는 경우 임베디드같이 프로세스를 적게 사용하는 경우 프로그래머가 조절해서 사용이 가능하다. 하지만 고의 혹은 실수로 하나의 프로세스가 CPU 를 계속해서 차지하는 경우가 발생할 수 있다. 시스템 API 호출을 이용하는 경우 시스템 API 호출 이후 다시 원래 프로세스로 돌아가는 것이 아니라 컨텍스트 스위칭을 시킨다. 사용자 상호작용이 많은 경우 사용이 가능하다. 문제점 : 시스템 API 를 호출하지 않는 프로그램의 경우 장기간 CPU 를 사용할 수 있다... 2022. 9. 27.
스위치 - l2, l3, l4, l7 스위치는 사용 목적이 허브와 유사하나 , 스위치는 훨씬 빠른 네트워크 속도를 제공함. 그 이유는 스위치는 신호를 필요로 하는 "포트"에만 데이터를 전송하기 때문. 허브는 1계층 장비임. 허브는 각각의 컴퓨터에서 주고받는 데이터가 다른 컴퓨터에게 전송하기 때문에 병목현상이 생길 수 있음. 허브는 자신의 인터페이스에 연결된 컴퓨터의 MAC Address를 저장/관리하지 않기 때문에 패킷의 출발지와 목적에 대한 정보를 갖지 않음. 목적지에 대한 정보가 없는 상태에서 패킷을 전달하려면 모든 포트에 패킷을 전달하는 수밖에 없음 https://blog.naver.com/PostView.naver?blogId=bizblocklll&logNo=222152306690&redirect=Dlog&widgetTypeCall=.. 2022. 8. 31.