본문 바로가기

분류 전체보기

(96)
운영체제와 정보기술의 원리5 프로세스 관리 1. 프로세스 개념 프로세스 : 실행 중인 프로그램 process in execution 프로세스의 문맥 context : 프로세스의 주소 공간, 레지스터 값, 커널에서 수행한 일의 상태, 커널이 관리하고 있는 각종 정보 등을 포함하는 현재 상태 (프로세스 문맥을 통해서 과거의 상태도 알 수 있다.) 2. 프로세스의 상태 시작 New : 프로세스를 생성 중인 상태 준비 Ready : 프로세스가 CPU만 보유하면 당장 명령을 실행할 수 있지만, CPU를 할당받지 못한 상태 실행 Running : 프로세스가 CPU를 보유하고 기계어 명령을 실행하고 있는 상태 봉쇄 Blocked : CPU를 할당받더라도 당장 명령을 실행할 수 없는 상태 (예) 입출력 작업 진행, 시간이 오래 걸리는 작업 완료 Terminat..
운영체제와 정보기술의 원리4 프로그램의 구조와 실행 앞선 장에 나온 내용들을 다시 한 번 되짚어주는 내용이 많았다. 1. 프로그램의 구조와 인터럽트 프로그램의 주소 영역(Virtual memory)은 크게 코드, 데이터, 스택 영역으로 구분된다. 코드 영역은 작성한 코드가 기계어 명령 형태로 변환되어 저장되어 있는 부분이고, 데이터 영역은 전역 변수 등 프로그램잉 사용하는 데이터를 저장하는 부분이다. 스택 영역은 일반적인 프로그램에서 함수가 수행을 마치고 복귀할 주소와 데이터를 임시로 저장하는 곳이다. 시스템 콜이나 인터럽트 때문에 CPU를 빼앗긴 위치는 프로세스 제어블록(PCB)에 저장된다. 2. 컴퓨터 시스템의 작동 개요 프로그램 카운터(Program Counter: PC) : CPU가 수행해야할 메모리 주소를 담고 있는 곳. 다음 명령 주소를 가지고..
모던 자바스크립트 Deep Dive 8장 제어문 🔑 키워드 정리 레이블 문 label statement : 식별자가 붙은 문 foo: console.log("foo"); 중첩된 for 문에서 사용할 수 있다. outer: for(var i = 0; i < 3; i++){ for(var j = 0; j < 3; j++){ if(i + j === 3){ break outer; } } } 🗒 내용 정리 블록문은 블록문 자체로 종결성을 갖기 때문에 끝에 세미콜론을 붙이지 않는다. 조건식은 불리언 값으로 평가될 수 있는 표현식이다. if ...else 문과 switch 문의 우선순위 if ... else 문으로 해결할 수 있다면 if ... else문을 사용하는 것이 좋다. 다만, 조건이 너무 많아서 switch문을 사용했을 때 가독성이 좋다면 switch 문..
모던 자바스크립트 Deep Dive 7장 연산자 🔑 키워드 정리 피연산자 : 연산의 대상, 값으로 평가될 수 있는 표현식. 이항 산술 연산자 : 2개의 피연산자를 산술 연산하여 값을 만드는 연산자. 그룹 연산자 : 소괄호((, )) 로 피연산자를 감싸는 연산자. 연산자 우선순위가 가장 높다. 지수 연산자 : ** 연산자로서, 좌항의 피연산자를 밑으로, 우항을 지수로 거듭제곱하여 값을 반환한다. Math.pow 메서드보다 가독성이 좋다. 🗒 내용 정리 산술 연산 어떤 산술 연산을 해도 피연산자의 값이 바뀌는 경우는 없고, 언제나 새로운 값을 반환한다. 단, 증가/감소(++/--) 연산자는 피연산자의 값을 변경한다. 암묵적 타입 변환 또는 타입 강제 변환 숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환시킨다. 피연산자..
모던 자바스크립트 Deep Dive 6장 데이터 타입 🔑 키워드 정리 원시 타입 : 자바스크립트의 데이터 타입 중 숫자, 문자열, 불리언, undefined, null, 심벌, BigInt 총 8개의 타입을 가리킨다. 원시타입이 아닌 값은 모두 객체 타입이다. NaN : Not a number 템플릿 리터럴 : ES6부터 도입된 표기법으로서, 백틱(``)을 사용해서 멀티라인 문자열(줄바꿈), 표현식, 태그드 템플릿을 편리하게 표현할 수 있다. var name = "javascript"; var template = ` Hello, ${name} ` 🗒 내용 정리 자바스크립트의 숫자 타입은 모든 수를 실수로 처리한다. 정수로 표시되도 사실은 실수이다. 문자열을 표현할 때 작은 따옴표('')를 사용하는 것이 일반적이다. 데이터 타입이 왜 필요할까? 메모리 공간의..
운영체제와 정보기술의 원리3 컴퓨터 시스템의 동작 원리 1. CPU 연산과 I/O 연산 컴퓨터에서 연산을 한다는 것은 CPU가 무언가 일을 한다는 뜻이다. 입출력 장치의 연산 : 입출력 컨트롤러가 담당 컴퓨터 내의 연산 : 메인 CPU가 담당 로컬 버퍼 : 장치 컨트롤러로부터 받고 나가는 데이터를 임시로 저장하는 곳 2. 인터럽트Interrupt 인터럽트 : 컨트롤러들이 CPU의 서비스가 필요할 때 이를 통보하는 방법이다. (앞서 인터럽트를 초인종 소리에 비유한 바 있다.) CPU는 명령 하나를 수행하기 전에 항상 인터럽트가 발생했는지 확인하고, 명령보다 먼저 인터럽트를 처리한다. 인터럽트 벡터 : 인터럽트 종류마다 처리해야할 코드가 위치한 부분을 가리키는 자료구조. 인터럽트 처리루틴 service routine/핸들러 handler : 커널에 보관되어 있다..

728x90