본문 바로가기

전체 글85

Docker를 통해 MySQL 컨테이너 사용하기 Docker를 통해 MySQL 컨테이너를 생성하고 이를 프로젝트에 적용하는 법을 학습하려고 한다. 우선 Docker를 통해 컨테이너를 만드려는 프로그램의 이미지를 받아야 한다. MySQL 컨테이너를 만들기 위해서는 역시 MySQL 이미지를 받아야 하는데 이는 Shell을 통해서도 가능하고Docker 프로그램을 통해서도 가능하다. 이런 식으로 검색을 하면 mysql 이미지들이 뜬다.이를 pull하면 이미지 탭에 위와 같이 뜨는 걸 확인할 수 있다. Shell을 통해 mysql 이미지를 pull하기 위해서는 간단하게 명령어를 통해 수행할 수 있다.이렇게 pull을 하고 난 뒤 현재 존재하는 이미지를 조회하면 기존의 mysql 이미지 말고 새로운 mysql이미지를 확인할 수 있다. 이렇게 받은 이미지를 통해 .. 2024. 8. 9.
CPU 스케줄링 CPU 스케줄링에 대해 알아보자. 비선점형 스케줄링 비선점형 스케줄링은 일단 CPU를 잡으면 CPU burst가 완료될 때까지 CPU를 반환하지 않는다. 할당되었던 CPU가 반환될 때만 스케줄링이 이뤄진다. 선점형 스케줄링 하나의 프로세스가 CPU를 할당 받아 실행하고 있을 때 우선 순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 기법이다. FCFS(First Come First Served) 먼저 온 순서대로 서비스 처리 convoy effect - 소요 시간이 긴 프로세스가 먼저 도달해 평균 대기 시간이 길어지게 되어 효율성을 낮추는 현상 발생 비선점형 스케줄링 SJF(Shortest-Job-First) 다른 프로세스가 먼저 도착했어도 CPU burst time이 짧은 프로세스에게.. 2023. 11. 22.
프로세스 동기화 프로세스 동기화란 여러 프로세스가 공유하는 자원의 일관성을 유지하는 것이다. 여러 프로세스가 서로 협력해 공유 자원을 사용하는 상황에서 경쟁 조건(race condition)이 발생하면 공유 자원의 신뢰성이 떨어진다. 여기서 경쟁 조건이란 여러 프로세스가 공유 자원에 동시에 접근할 때, 공유 자원에 대한 접근 순서에 따라 실행 결과가 달라질 수 있는 상황을 말한다. 이렇게 둘 이상의 스레드가 동시에 접근해서는 안되는 공유 자원을 접근하는 코드의 일부를 말한다. 프로세스들이 임계 영역을 함께 사용할 때, 임계 영역 안에서 경쟁 조건이 생길 수 있다. 임계 구역 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 임계 구역 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 임.. 2023. 11. 22.
OS의 교착상태(Deadlock) [운영체제] 데드락(Deadlock, 교착 상태)이란? | ChanBLOG (chanhuiseok.github.io) [운영체제] 데드락(Deadlock, 교착 상태)이란? 컴퓨터/IT/알고리즘 정리 블로그 chanhuiseok.github.io 상기 블로그 게시글을 학습한 내용입니다. OS에서 교착상태란 시스템 자원에 대한 요구가 뒤엉킨 상태를 말한다. 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황이 이것이다. 데드락의 발생조건은 크게 4가지로 나뉜다. 1. 상호 배제 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 사용 중인 ㅏㅈ원을 다른 프로세스가 사용하려면 요청한 자원이 해제될 때까지 기다려야 한다. 2. 점유 대기 자원을 최소한 하나 .. 2023. 11. 22.