본문 바로가기

전체 글31

CPU 스케줄링 [운영체제] 1. 프로세스 우선순위 우선순위가 높은 프로세스는 낮은 프로세스보다 CPU를 먼저 더 오래 차지함 1.1 Kernel process 와 user process kernel process의 우선순위는 user process의 우선순위보다 높음 kernel process들은 우선순위가 서로 다름 User process들은 우선순위가 서로 다름 User process의 우선순위는 사용자가 변경 가능 - 예 : 리눅스에서 nice 명령을 가지고 user process의 우선순위 변경 가능 1.2 CPU bound process와 I/O bound process CPU burst - 프로세스가 실행(running) 상태에서 CPU를 집중적으로 사용하는 시간 I/O burst - 대기(waiting) 상태에서 I/.. 2024. 4. 3.
동기 보호되어 있는 글 입니다. 2024. 4. 2.
프로세스와 스레드 [운영체제] 1. 프로세스 1.1 프로그램(program) 과 프로세스(process) 프로그램 - 파일 시스템에 파일 형태로 존재하는 실행 파일 프로세스 - CPU와 메모리를 사용하여 실행 중인 프로그램 - OS에서 하나의 작업(job) 단위로써 태스크(task)라고도 함 > Process = job = task - 각 프로세스가 생성될 때 프로세스를 제어하는데 필요한 정보인 PCB(process control block)가 생성됨 1.2 new(생성) 프로그램이 메모리에 올라와 프로세스가 생성되는 상태 PCB가 생성됨 1.3 ready(준비) 준비 큐(queue)에서 프로세스가 CPU를 할당 받기위해 기다리는 실행 준비 상태 1.4 running(실행) 프로세스가 CPU를 사용하여 실행 중인 상태 문맥 교환이 이.. 2024. 4. 1.
리액트의 이해 리액트는 자바스크립트 라이브러리로 사용자 인터페이스를 만드는 데 사용한다. 구조가 MVC, MVW 등인 프레임워크와 달리, 오직 V(view)만 신경 쓰는 라이브러리이다. 리액트 프로젝트에서 특정 부분이 어떻게 생길지 정하는 선언체가 있는데, 이를 컴포넌트(Component)라고 한다. 컴포넌트는 다른 프레임워크에서 사용자 인터페이스를 다룰 때 사용한는 템플릿과는 다른 개념이다. 컴포넌트는 재사용이 가능한 API로 수많은 기능들을 내장하고 있으며, 컴포넌트 하나에서 해당 컴포넌트의 생김새와 작동 방식을 정의한다. 사용자 화면에 뷰를 보여준는 것을 렌더링 이라고 한다. 리액트 라이브러리는 뷰를 어떻게 렌더링하길래 데이터가 변할 때마다 새롭게 리렌더링하면서 성능을 아끼고, 최적의 사용자 경험을 제공할까? 위.. 2024. 3. 31.
컴퓨터의 구조 [운영체제] 1. 컴퓨터의 하드웨어 구성 1.1 컴퓨터 CPU, 메모리, 입출력장치로 구성됨 필수장치 : CPU, 메모리(주기억장치) - 컴퓨터로 하는 대부분의 작업은 CPU와 메모리를 가지고 처리됨 주변장치 : 입출력장치(입력장치, 출력장치, 저장장치(보조기억장치)) 1.2 CPU 명령어를 해석하여 실행하는 장치 산술논리 연산장치(ALU), 제어장치(Control unit), 레지스터로 구성됨 1.3 메모리 작업에 필요한 프로그램과 데이터를 저장하는 장소 바이트 단위로 분할되어 있으며 분할 공간마다 주소로 구분 1.4 입출력장치 입력장치 : 외부의 데이터를 컴퓨터에 입력하는 장치 (키보드, 마우스) 출력장치 : 컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력하는 장치(모니터, 프린터) - 메모리가 바이트 단위.. 2024. 3. 25.
운영체제의 소개 및 구조 [운영체제] 1. 운영체제의 소개 운영체제(OS : Operating system) 하드웨어를 관리하는 소프트웨어 사용자 또는 애플리케이션에게 하드웨어를 제어할 수 있도록 인터페이스 제공하는 소프트웨어 - 사용자 또는 어플리케이션은 커널을 통해서만 하드웨어를 제어할 수 있음 Unix, Linux, macOS, Windows 모바일 OS - 스마트폰과 태블릿 PC에서 사용되는 애플의 iOS, 구글의 안드로이드 임베디드 OS - 내비게이션, 스마트 시계, 스마트 TV 등 CPU 성능이 낮고 메모리 크기 작은 시스템에서 사용됨 어플리케이션은에 속하는 GUI/CLI 애플리케이션, 유틸리티, 쉘(shell), 라이브러리 등은 커널이라는 OS를 거쳐서 하드웨어를 제어할 수 있다. 2. 운영체제의 역할 2.1 하드웨어 관리 여러.. 2024. 3. 24.