🔥 🔥 (19) 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. 운영체제의 구조운영체제의 핵심은 커널커널은 프로세서와 메모리, 저장장치를 관리하는 핵심적인 기능을 담당하고 있음사용자는 운영체제의 커널에 직접 접근 불가.. 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에 저장하여 중복된.. JavaScript 일급 객체 (first class citizen) 일급객체란? 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. (출처 : 위키) 쉽게 말해 특정 언어에서 객체를 값으로 취급하는 것을 말한다. ✅ 자바스크립트에서는 함수가 일급객체이다. 아래와 같은 조건을 만족하는 객체는 일급객체를 의미한다. 1. 변수나 상수에 저장 및 할당할 수 있어야 한다. let fruits = function(){ return "apple"; } console.log(fruits); 2. 파라미터(객체의 인자)로 전달할 수 있어야 한다. let fruits = function(){ let apple = 10; return apple; } let bo.. 디바운스(Debounce)와 스로틀(Throttle) 알아보기 기술면접을 준비하면서 디바운스와, 스로틀을 알게 되었다. 아직 프로젝트에 직접 적용해보지 않았지만 미리 어떤 건지 익혀두기 위해 정리해두려 한다. 디바운스, 스로틀은? - DOM 이벤트를 기반으로 실행하는 자바스크립트를 성능상의 이유로 JS의 양적인 측면, 즉 이벤트를 제어하는 방법이다. 디바운스와 스로틀을 비교해보자면, 디바운스는 아무리 많은 이벤트가 발생해도 무시하고 특정 시간 사이에 어떤 이벤트도 발생하지 않았을 때, 마지막 한 번만 해당 이벤트를 발생시킨다. 스로틀은 일정한 시간이 지날 때마다 해당 이벤트를 발생시키고, 아래 링크에서 디바운스와 스로틀의 차이를 확인할 수 있다. The Difference Between Throttling, Debouncing, and Neither ... code.. 이전 1 2 3 다음