분류 전체보기 (95) Today I am [강의] 그림으로 쉽게 배우는 운영체제 - 4. 데드락 1. 데드락교착상태여러 프로세스가 서로 다른 프로세스의 작업이 긑나기를 기다리다가 아무도 작업을 진행하지 못하는 상태교착상태의 예시교착상태의 필요조건상후배제프로세스가 한 리소스를 점유했다면 다른 프로세스에게 공유되면 안됨비선점프로세스 a가 리소스를 점유하고 있는데 b가 리소스를 빼앗을 수 없음점유와 대기프로세스가 리소스 a를 가지고 있는 상태에서 리소스 b를 원하는 상태여야함원형 대기점유와 대기를 하는 프로세스들의 관계가 원형을 이루고 있다는 것⇒ 한가지라도 충족되지 않는다면 교착상태가 발생하지 않음예방은 노답 > 해결을 하자.2. 데드락 해결교착상태 회피프로세스들에게 자원을 할당할 때 어느 정도 자원을 할당해야 교착상태가 발생하는지 파악해서 교착상태가 발생하지 않는 수준의 자원을 할당전체 자원의 수 와.. [강의] 그림으로 쉽게 배우는 운영체제 - 3. 프로세스 동기화 1. 프로세스 간 통신한 컴퓨터 내에서 프로세스 간 통신파일을 이용하여 통신파이프를 이용하여 통신운영체제가 생성한 파이프이용쓰레드를 이용하여 통신한 프로세스 내에서 쓰레드 간 통신쓰레드의 데이터영역에 있는 전역변수나 힙을 이용하여 통신네트워크를 이용하여 통신운영체제가 제공하는 소켓통신이나 RPC(다른 컴퓨터에 있는 함수를 호출)를 이용하여 통신 2. 공유자원과 임계구역공유자원프로세스 간 통신을 할때 공동으로 이용하는 변수나 파일들문제공유자원은 여러프로세스가 공유하고 있기 때문에 각 프로세스의 접근 순서에 따라 결과가 달라짐컨텍스트 스위칭으로 시분할 처리를 하기 때문에 프로세스의 실행을 예측할 수 없음⇒ 동기화 문제임계구역여러 프로세스가 동시에 사용하면 안되는 영역경쟁조건공유자원을 서로 사용하기 위해 경쟁.. [강의] 그림으로 쉽게 배우는 운영체제 - 2. CPU 스케줄링 1. cpu 스케줄링 개요프로그램을 실행시키면 메모리에 프로세스가 생성되고 각 프로세스에는 1개 이상의 스레드가 있음cpu 스케줄링 : 운영체제가 프로세스에게 cpu를 할당, 해제하는 것고려사항어떤 프로세스에게 cpu 리소스를 줘야하는가cpu를 할당받은 프로세스가 얼마의 시간동안 cpu를 사용해야하는가 (시분할 처리 방식으로 여러프로세스에게 짧은 시간 동안 돌아가며 할당)cpu벌스트 : cpu를 할당받아 실행하는 작업io벌스트 : 입출력 작업2. 다중큐생성 > 준비 > (스케줄러에 의해) 실행 > (cpu할당시간이 다 됐으면 다시) 준비 > (io요청이 있다면) 대기 > 작업 끝 완료준비상태, 대기상태 > Queue 자료구조로 관리실행에서 준비로 돌아갈때 > 운영체제가 프로세스의 우선순위를 보고 맞는 준.. [강의] 그림으로 쉽게 배우는 운영체제 - 1. 프로세스와 쓰레드 1. 프로그램과 프로세스프로그램하드디스크 등과 같은 저장장치에 저장된 명령문의 집합체, 앱,.exe…프로세스실행중인 프로그램, 하드디스크에 저장된 프로그램이 메모리에 올라갔을 떄 실행중인 프로그램2. 멀티프로그래밍과 멀티프로세싱유닛프로그래밍메모리에 하나의 프로세스가 올라온 것멀티 프로그래밍메모리에 여러개의 프로세스가 올라온 것멀티 프로세싱유닛 프로그래밍과 멀티 프로그래밍 > 메모리관점멀티프로세싱은 cpu관점cpu가 여러 개의 프로세스를 처리하는 것스와핑메모리에 있는 데이터를 다른 저장장치로 보내고 다른 저장장치에서 메모리에 올리는 것3. PCB 프로세스가 만들어지면 운영체제는 해당 프로세스의 정보를 가지고 pcb를 만든다연결리스트 자료구조로 저장포인터부모와 자식 프로세스에 대한 포인터와 할당된 자원, 프.. [강의] 그림으로 쉽게 배우는 운영체제 - 0. 운영체제 들어가기 1. 운영체제 개요운영체제가 하는일프로세스 관리동시에 여러일을 수행할 수 있도록운영체제가 관리하지 않는다면 cpu가 독차지해서 한가지 일만 수행할 수 있다.메모리 관리운영체제는 여러 프로그램을 동시에 실행시키기 때문에 여러 프로그램을 메모리에서 관리하드웨어 관리운영체제는 하드웨어에 대한 직접적인 접근을 막는다 (하드디스크의 특정 영역에 중요한 데이터가 있을수 있고 사용자가 악의적으로 공격할 수 있기 때문)파일 시스템 관리하드디스크의 많은 파일들의 효율적인 저장과 관리하기 위한 방법2. 운영체제 역사cpu의 사용률과 비용절감을 위한 노력으로 탄생3. 운영체제의 구조운영체제의 핵심은 커널커널은 프로세서와 메모리, 저장장치를 관리하는 핵심적인 기능을 담당하고 있음사용자는 운영체제의 커널에 직접 접근 불가.. Chrome 브라우저에서의 transition 속도 저하 이슈 issue safari 웹과 모바일에서는 속도 저하 문제가 나타나지 않았다. 처음에는 react-spring 라이브러리의 고질적인 문제인 줄 알았는데 해당 라이브러리 공식 문서와 깃헙 이슈 탭에서 같은 문제가 있는 사람이 있는지 찾아보았는데 전혀 없었다.. 결국 알게 된 사실은 단순히 chrome에서만 발생하는 이슈였다. - chrome에서만 속도 저하 문제(버벅거리는 현상)가 발생 transition 시간을 줄였을 때, 해당 타겟에서 버벅거리는 현상이 생겼다. transition: '0ms ease-out' - 하단 스타일 코드 추가시 버벅거리는 현상이 생기지 않고 부드러운 애니매이션을 구현할 수 있었다. backfaceVisibility: 'hidden', perspective: 1000, * 참고자.. yarn berry 기존 프로젝트에서 사용하던 npm과 yarn1의 단점 npm 비효율적인 의존성 탐색 lock 파일이 없어서 생기는 의존성 이슈 문제 (npm도 추후에 npm5 버전 업데이트 이후로 package-lock.json을 생성하여 패키지 잠금을 지원하게 되었다.) (해당 이슈에 대해 알아보던 중 초기 기사문을 읽어볼 수 있었다.)[https://www.bloter.net/newsView/blt201604040002] 보안이슈 패키지가 늘어날수록 성능저하 발생 위 문제 해결을 위해 facebook을 중심으로 google 등 회사들이 npm의 문제를 해결하기 위해 새로운 패키지 매니저인 yarn을 발표하였다. yarn 왼쪽이 npm, 오른쪽이 yarn 방식이다. 다운받은 패키지 데이터를 cache에 저장하여 중복된.. git stash 명령어 git stash - 현재 상태 임시 저장하기 - git pull을 당겨와야하는데 commit이 안된 상태라면? / 현재 수정한 코드가 있는 상태에서 git pull을 한다면 그대로 날라가기 때문에 잠시 저장할 때 사용한다. = 워킹 디렉토리에서 수정한 파일들(Modified, Tracked 상태, Staged 상태의 파일들)을 커밋하지 않고도 따로 stash stack에 보관할 수 있는 기능 1. 변경사항 stash stack에 담기 git stash - 마지막 commit 이후의 변경사항들이 stash stack에 담긴다. +) 동시에 해당 디렉토리에 있는 변경사항들이 없어진다. - Modified && Tracked 상태, Staged 상태의 파일들이 담긴다. (untracked files, ign.. 이전 1 2 3 4 ··· 12 다음