분류 전체보기
-
운영체제 4강. 병행 프로세스 1방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 21. 15:08
병행 프로세스의 개념 병행성 여러 개의 프로세스 또는 쓰레드가 동시에 실행되는 시스템의 특성 병행 프로세스 동시에 실행되는 여러 개의 프로세스 또는 쓰레드 병행 프로세스의 실행 형태 CPU의 개수에 따른 병행 프로세스의 실행 형태 하나의 CPU에서 인터리빙 형식으로 실행 여러 개의 CPU에서 병렬 처리 형식으로 실행 여러 개의 CPU가 있을 경우 메모리 구조에 따른 병행 프로세스의 실행 형태 강결합 멀티프로세서 시스템: 공유 메모리 구조 약결합 멀티프로세서 시스템: 분산 메모리 구조 병행성 문제 병행 프로세스들이 상호작용 하는 경우 발생 공유자원 점유 문제 동기화 문제 통신 문제 상황에 따른 구분 단일 프로세스 내의 병행성 우선순위 그래프 (DAG) Fork / Join 구조 병행문 프로세스 간의 병행성..
-
운영체제 3강. 스케줄링 알고리즘방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 20. 14:02
스케줄링 성능 평가 기준 평균 대기시간 각 프로세스가 수행이 완료될 때까지 준비 큐에서 기다리는 시간의 합의 평균 값 평균 반환시간 각 프로세스가 생성된 시점부터 수행이 완료된 시점까지의 소요시간의 평균값 다양한 스케줄링 알고리즘 FCFS 스케줄링 First-Come First-Served 비선점 스케줄링 알고리즘 준비 큐에 도착한 순서에 따라 디스패치 장점 가장 간단한 스케줄링 기법 단점 짧은 프로세스가 긴 프로세스를 기다리거나, 중요한 프로세스가 나중에 수행될 수 있음 프로세스들의 도착 순서에 따라 평균 반환시간이 크게 변함 SJF 스케줄링 Shortest Job First 비선점 스케줄링 알고리즘 준비 큐에서 기다리는 프로레스 중 실행시간이 가장 짧다고 예상된 것을 먼저 디스패치 장점 일괄처리 환경..
-
모던 자바스크립트 딥 다이브 9장. 타입 변환과 단축 평가Modern JavaScript Deep Dive 2022. 4. 19. 18:18
타입 변환 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 / 타입 캐스팅 이라고 한다. 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동변환 되기도 한다. 이것을 암묵적 타입 변환 / 타입 강제 변환이라고 한다. 단축 평가 단축 평가는 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것 논리 연산자를 사용한 단축 평가 (&& / ||) true || anything => true false || anything => anything true && anything => anything false && anything => false 옵셔널 체이닝 연산자 : && null 병합 연산자 : ??
-
운영체제 2강. 프로세스 개요방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 18. 22:59
1. 프로세스 실행 중인 프로그램 윈도우의 작업 관리자를 열어보면 떠 있는 프로그램들 프로그램을 실행하면 프로세스가 되는데 프로세스가 되면서 PID (프로세스 아이디) 라는 것이 생성된다. 프로그램: 동작을 하지 않는 정적, 수동적 개체 프로세스: 동작을 하는 능동적 개체 프로세스는 운영체제로부터 자원을 할당 받아서 동작하게 된다. 자원: CPU, 메모리, 입출력장치, 파일 등 동작: CPU가 프로세스의 명령을 실행 프로세스 관리자의 역할 프로세스를 생성 및 삭제 프로세스 실행 (CPU 할당)을 위한 스케줄 결정 프로세스의 상태를 관리하며 상태 전이를 처리 프로세스의 상태 5-상태 모델 생성: 처음 작업이 시스템에 주어진 상태 (메모리가 얼마나 필요한지, 요청이 얼마나 필요한지 사전에 미리 파악) 준비:..
-
모던 자바스크립트 딥 다이브 8장. 제어문Modern JavaScript Deep Dive 2022. 4. 18. 17:16
제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 블록문 조건문 if else 문 / switch 문 반복문 조건식의 평가 결과가 참인 경우 코드 블록을 실행 for 문 / while 문 / do … while문 break문 레이블문, 반복문, switch문의 코드 블록을 탈출 continue문 반복문의 코드 블록 실행을 현 시점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동 (break 처럼 반복문을 탈출하지는 않음)
-
모던 자바스크립트 딥 다이브 7장. 연산자Modern JavaScript Deep Dive 2022. 4. 17. 18:26
산술 연산자 피연산자를 대상으로 수학적 계산을 수행 할당 연산자 우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다. 비교 연산자 == (동등 비교 : 값만 비교) / === (일치 비교 : 값과 타입을 비교) 삼항 조건 연산자 조건식 ? 조건식이 true 일 때 반환할 값 : 조건식이 false 일 때 반환할 값 논리 연산자 !(NOT) ||(OR) &&(AND) 쉼표 연산자, 그룹 연산자 () 우선순위 조절 typeof 연산자 피연산자의 데이터 타입을 문자열로 반환 지수 연산자 2 ** 3 는 2의 3제곱
-
모던 자바스크립트 딥 다이브 6장. 데이터 타입Modern JavaScript Deep Dive 2022. 4. 16. 23:24
데이터 타입 자바스크립트는 7개의 타입을 제공한다. 원시 타입 (primitive type) 객체 타입 (reference type / object type) 숫자, 문자열, 불리언, undefined, null, symbol 배열, 객체, 함수 정적 타입 언어는 변수 선언 시점에 변수의 타입이 결정되고 변수의 타입을 변경할 수 없다. 동적 타입 언어인 자바스크립트에서는 값을 할당하는 시점에 변수의 타입이 동적으로 결정되고 변수의 타입을 재할당을 통해 언제든지 자유롭게 변경할 수 있다. 컴퓨터가 이해하는 코드는 어떤 바보도 쓸 수 있다. 하지만 훌륭한 프로그래머는 사람이 이해할 수 있는 코드를 쓴다. - 마틴 파울러, 리팩토링의 저자
-
모던 자바스크립트 딥 다이브 5장. 표현식과 문Modern JavaScript Deep Dive 2022. 4. 16. 20:08
값 (value) 값은 식이 평가되어 생성된 결과를 말한다. 변수에 할당되는 것이 곧 ‘값’이다. 리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법이다. (=표기법) 표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다. 표현식인 문과 표현식이 아닌 문를 구별할 수 있는 방법 변수에 할당했을 때 에러가 난다면? 표현식이 아닌 문이다. (값으로 평가할 수 없기 때문)