CONCEPT53 [OS] 프로세스, 프로세스 제어 블록, 메모리 영역 프로그램은 실행되기 전까지는 보조기억장치에 있는 "데이터 덩어리"일 뿐이지만 보조기억장치에 저장된 프로그램을 실행하기 위해 더블클릭 등 행동을 해서 메모리에 적재하고 실행하는 순간부터 그 프로그램은 "프로세스"가 된다.= "프로세스 생성" 과정 프로세스 종류 1) 포그라운드 프로세스(foreground process): 사용자가 볼 수 있는 공간에서 실행되는 프로세스 ex) 게임, 메모장 2) 백그라운드 프로세스(background process): 사용자가 볼 수 없는 공간에서 실행되는 프로세스 2-1) 사용자와 직접 상호작용이 가능한 백그라운드 프로세스 2-2) 사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스 ex) daemon, service모든 프로세스는 실행을.. 2025. 3. 14. [Q] 마크업 언어(Markup) vs 마크다운 언어(Markdown) 보호되어 있는 글 입니다. 2025. 3. 3. [Q] Node.js와 Express의 관계 보호되어 있는 글 입니다. 2025. 3. 3. [Q] 코드 - 문서화, 생성, 리팩토링, 고복잡도 보호되어 있는 글 입니다. 2025. 3. 3. [Q] Frontend / Backend 컴파일러 언어는 기계 친화적이고 인터프리터 언어는 사용자 친화적이다. 인터프리터 언어로 개발을 하면 상대적으로 속도감있게 개발할 수 있지만, 프로그램 실행 속도가 빠른건 아니다. codesandbox.io/templates https://codesandbox.io/templates codesandbox.io 2025. 3. 3. [OS] 커널, 이중 모드, 시스템 콜 스마트폰의 기능은 다양하지만 핵심 기능이 전화, 문자이듯운영체제가 제공하는 기능은 다양하지만 가장 핵심적인 서비스가 존재한다.운영체제의 핵심 서비스를 담당하는 부분을 커널(kernel)이라고 한다.e.g. 핵심적인 서비스 = 자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능 Q) 운영체제에는 속하는데 커널에는 속하지 않는 기능은?: 유저 인터페이스(UI)는 사용자와 컴퓨터 간의 통로일 뿐 운영체제의 핵심 기능(커널)은 아님. Q) 사용자가 실행하는 프로그램은 자원에 직접 접근할 수 있을까?: 일반적인 응용프로그램은 자원에 직접 접근할 수 없다. 운영체제는 오직 자신을 통해서만 접근하도록하여 자원을 보호한다. = 자원 접근을 대행하는 문지기 역할 self-learni.. 2025. 2. 22. [Q] EHCache 보호되어 있는 글 입니다. 2025. 2. 21. [OS] 운영체제를 알아야 하는 이유 모든 프로그램은 실행을 위해 자원을 필요로 한다.운영체제는 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램.운영체제 덕분에 개발자는 하드웨어를 조작하는 코드를 직접 작성할 필요가 없다. 자원/시스템 자원: 프로그램 실행에 있어 마땅히 필요한 요소* 마땅히 필요한 요소: 컴퓨터의 4가지 핵심 부품 포함! Q) 운영체제를 알아야하는 이유는?: 운영체제는 프로그램을 위한 프로그램이다. 그렇기에 프로그램을 만드는 개발자는 운영체제를 알아야 한다.=> 개발자가 만드는 프로그램은 결과적으로 운영체제한테 도움을 받으면서 실행된다. 만약에 개발자가 만든 프로그램이 어떤 문제가 발생한다면 그 문제는 운영체제가 가장 먼저 알아챈다. 하드웨어와 가장 밀접하게 맞닿아 있는 .. 2025. 2. 21. [컴퓨터구조] 다양한 입출력 방법 세 가지 입출력 방식1) 프로그램 입출력: 프로그램 속 명령어로 입출력장치를 제어하는 방법 = 입출력 명령어로써 장치 컨트롤러와 상호작용함. 메모리에 저장된 정보를 하드 디스크에 백업 = 하드디스크에 새로운 정보 쓰기즉, CPU가 장치 컨트롤러의 레지스터 값을 읽고 씀으로써 이루어진다. Q) CPU가 많은 장치 컨트롤러들 중 원하는 장치 컨트롤러를 하나 찾고 또 그 안에 레지스터들 중에서 주소 정보를 가진 레지스터를 어떻게 알 수 있는걸까? 인식하는 방법(프로그램 입출력 방식): 메모리 맵 입출력 / 고립형 입출력- 메모리 맵 입출력- 고립형 입출력2) 인터럽트 기반 입출력 인터럽트: 이벤트가 발생할 때만 CPU가 작업을 처리하도록 하는 방식 (효율적, 실시간 응답성)폴링: CPU가 주기적으로 장치나 .. 2025. 2. 21. [컴퓨터구조] 장치 컨트롤러 / 장치 드라이버 입출력장치는 앞서 학습한 CPU, 메모리보다 다루기가 까다롭다. 1) 입출력장치에는 종류가 너무나도 많다.: 장치가 다양하면 장치마다 속도, 데이터 전송 형식 등도 다양하다. 따라서 다양한 입출력장치와 정보를 주고받는 방식을 규격화하기 어렵다. 2) 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다.* 전송률(transfer rate): 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표 장치 컨트롤러의 역할- CPU와 입출력장치 간의 통신 중개 (번역가 역할)- 오류 검출 (장치 컨트롤러와 연결된 입출력 장치에 오류가 있는건 아닌지 확인하는 역할) - 데이터 버퍼링* 버퍼링: 전송률이 높은 장치와 낮은 장치 사이에 주고 받는 데이터를 '버퍼'라는 임시 저장 공간에.. 2025. 2. 20. 이전 1 2 3 4 5 6 다음