본문 바로가기
반응형

IT188

[운영체제] CPU 스케줄링 CPU 스케줄링의 핵심은 두 가지다. 1. 여러 작업이 들어올 때 누구를 먼저 할 것인가 2. 사용하고 있는 CPU를 언제 가져올것인가 스케줄링 알고리즘 스케줄링에는 CPU를 다 사용할때까지 기다리는 비선점형과 중간에 뺏을 수 있는 선점형이 있다. 1. FCFS(First Come First Served): 먼저 오면 먼저 사용 - 비선점형 - 나머지 작업들 CPU를 다 사용할 때까지 기다려야한다 - 비효율적 ※ convoy effect: CPU 사용시간이 긴 프로세스에 의해 사용시간이 짧은 프로세스들이 오래 기다리는 현상 이로 인해 평균 대기시간이 길어지게 된다. 2. SJF(Shortest job first): CPU를 사용하는 시간이 짧은 작업에 먼저 이용권을 준다 - average wait tim.. 2023. 1. 30.
[네트워크] 애플리케이션 계층에서 신뢰성 있는 통신 원리 애플리케이션 계층 간의 통신에서 신뢰성은 어떻게 보장될까? 각 채널별로 필요한 메커니즘에 대해 알아보자. Rdt1.0 에러 없는 완벽한 채널 sender은 패킷 보내고 receiver는 패킷을 받는 과정에서 패킷 에러, 패킷 상실이 발생하지 않는 완벽한 채널이다 이 때는 오류가 없기에 특별한 메커니즘이 필요 없다. 하지만 비현실적이다. Rdt2.0 패킷 유실은 없고 에러는 있는 채널 아까와 달리 좀 더 현실적인 상황이다. 이 때는 에러 탐지와 에러를 알려주는 피드백 메커니즘이 필요하다, receiver는 에러를 판단하고 ACK or NAK의 피드백을 준다. NAK의 피드백이 온다면 sender는 패킷을 재전송한다. 여기서 sequence number라는 개념이 등장한다. 시퀀스 넘버는 패킷을 구분하기 위.. 2023. 1. 29.
[운영체제] CPU 프로세스 관리 CPU는 여러 종류의 job을 섞어서 하기 때문에 CPU 스케줄링이 필요하다. 스케줄링의 목적은 Interactive job이 너무 오래 기다리지 않게 하고 CPU와 입출력 장치 같은 자원을 효율적으로 사용하는 것이다. I/O bound process: cpu는 짧게 쓰는데 빈도가 잦다 CPU bound process: cpu만 오랫동안 쓴다 운영체제 기능 cpu 스케줄러: ready 상태의 프로세스 중에서 이번에 cpu를 줄 프로세스를 고른다 dispatcher: cpu를 스케줄러에 의해 선택된 프로세스에게 넘기는 역할 nonpreemptive: 강제로 빼앗지 않고 자진 반납 preemptive: 강제로 빼앗음 ※ 앞으로 자주 보게 될 개념 자료출처 ABRAHAM SILBERSCHATZ ET AL., .. 2023. 1. 29.
[운영체제] 프로세스 시스템 콜 종류 & 프로세스 협력 프로세스의 생성과 종료의 시스템 콜 종류들 fork() 시스템 콜과 exec() 시스템 콜을 C로 구현한 코드이다 int main() { int pid; pid=fork(); if (pid==0) printf("I am child"); execlp("/bin/date","/bin/date",(char *) 0); else if (pid>0) printf("I am parent"); } fork() 시스템 콜로 복제를 할 때는 결괏값을 달리해 부모 프로세스와 자식 프로세스를 구분한다. 부모는 리턴 값이 양수이고 자식은 0이다. 중간에 exec() 시스템 콜을 통해 다른 프로그램을 실행시켜 다른 프로세스처럼 역할을 할 수 있다. wait() 시스템 콜 프로세스A가 wait() 시스템 콜을 호출하면 자식 프로.. 2023. 1. 29.
[운영체제] 프로세스 생성과 종료 프로세스 생성 부모 프로세스가 자식 프로세스를 생성할때 운영체제에게 요청해 프로세스의 트리 구조가 형성된다. 프로세스가 실행 되기 위해서는 자원이 필요한데 이 자원은 운영체제로부터 받고 부모와 공유한다. 보통은 자원을 공유하지 않는다. 부모와 자식이 공존하는 모델과 자식이 종료될 때까지 부모가 기다리는 모델이 있다 프로세스를 생성하는 방법은 복제생성이다. 먼저 부모 프로세스의 주소 공간, 운영체제의 pcb와 자원을 똑같이 복사한다. 복제 생성을 하게 되면 같은 일만 하게 되는데 여기서 일단 복제를 하고 새로운 프로그램을 올리는 식이다. 두 가지 단계로 나눠지는데 fork 시스템 콜로 새로운 프로그램 생성한다. 다음 단계로 exec 시스템 콜을 통해 새로운 프로그램을 메모리에 올리는 것이다. 프로세스 종료.. 2023. 1. 29.
[네트워크] 애플리케이션 계층 - 소켓, TCP, UDP 소켓이란? 소켓: 클라이언트 프로세스와 서버 프로세스의 통신이다 소켓이 통신하는 원리를 알아보자 1. socket: 웹 서버가 소켓을 생성한다 2. bind: 특정 포트에 연결한다 3. listen: 이 용도로 사용하겠다 4. accept: 클라이언트로부터 요청받을 준비 됐다, 여기서 클라이언트의 ip와 port를 저장한다, 서버는 클라이언트로부터 커넥션이 들어올 때까지 멈춰있는다. 5. 클라이언트 요청이 들어오면 연결 6. 데이터를 주고받는다 7. 통신 끝나면 close 시켜준다 ※ 클라이언트는 아무 port나 사용해도 돼서 bind가 필요없다 TCP와 UDP의 역할 멀티플렉싱: 여러 소켓으로부터 데이터를 모으는것, 헤더로 데이터를 감싼다 디멀티플렉싱: 받은 세그먼트를 배달하는 것 - 세그먼트를 메시지.. 2023. 1. 29.
[네트워크] 컴퓨터 네트워크 기본 지식 인터넷 전송서비스 TCP - 신뢰성, 순서대로, 속도에 맞게, 혼잡 조절, 비용이 든다 - 데이터 유실되면 재전송 - ex) 중요한 서류 보낼 때 사용하는 등기우편 UDP - 비신뢰성, 연결성, 데이터가 유실돼도 괜찮을 때 - ex) 보이스톡, 일반우편 ※ 프로토콜: 서로간의 약속 packet-switching - 현재 인터넷 방식 - 라우터를 거치면서 한 묶음으로 다니는데 계속 클릭하지 않고 뉴스보고 다음뉴스 보고 이런 식 - 분산되서 사용, 제한 없다 - 단점: 동시에 접속하면 문제발생 circuit switching - 유선전화망, 미리 설치해놓음 processing delay: 패킷 검사하고 목적지 확인까지의 시간지연 transmission delay: 큐에서 나가는데 시간 propagation .. 2023. 1. 28.
[인프라] IT 인프라 기본 지식 클라우드 서비스 종류 SaaS(Software as a Service): 어플리케이션 서비스 ex) software PaaS(Platform as a Service): 플랫폼 서비스 ex) os, 미들웨어 IaaS(Infrastructure as a Service): 인프라와 같은 물리적 서비스 ex) 네트워크, 하드웨어 서비스 인프라 구성 인프라를 구성할 때 안정성이 중요해 이중화를 한다. L4 스위치로 서버를 두 대 두고 한 대가 다운돼도 서비스가 가능하게 하는 것이다. 현재는 elb was1,2 둔다. 추가로 성능, 확장성, 유지보수, 보안이 중요하다 평소에 문제 없도록 감시하고 문제가 생겼을 때는 복구를 우선으로 한다. 로그 기록을 잘 보존해 원인을 찾고 재발방지한다. ※ 가용시간 = 전체시간 -.. 2023. 1. 28.
[서평단] 데이터에듀 2023 ADsp 데이터 분석 준전문가 데이터에듀 ADsp 데이터 분석 준전문가 리뷰 빅데이터 분석기사를 취득하고 ADsp와 ADP를 준비하려고 하는 시점에 책을 볼 기회가 생겼습니다. 데이터 프로세스의 전체적인 내용을 알기에 전박적으로 내용을 살펴봤습니다. 먼저 책 표지는 이렇습니다. 깔끔한 민트색이고 표시 재질도 마음에 들었습니다. 책을 구매하면 아래와 같은 혜택이 주어집니다. 전체 목차입니다. 준전문가에 해당하는 챕터만 실려 있고 개념요약집, 모의고사, 복원문제 등 구성이 알찼습니다. 챕터별 기출물제를 질문과 답변으로 제공하여 공부하기 편했습니다. 오른쪽 답을 가리고 먼저 질문에 답을 해보고 답변을 확인하는 식으로 공부하면 좋을 것 같습니다. 핵심 포인트를 정리해 합격마법노트가 있습니다. 핵심 내용으로 요약해 시험 보러 가기 전이나 틈틈.. 2023. 1. 27.
728x90