개발자 노트 - 강경훈 story
close
프로필 배경
프로필 로고

개발자 노트 - 강경훈 story

  • 분류 전체보기 (582)
    • 설치메뉴얼 (9)
    • Java (273)
      • Java 기초 문법 (24)
      • Java 객체 지향 핵심 (30)
      • Java 유용한 클래스 (51)
      • 자료구조 (20)
      • JSP (28)
      • Swing 프로젝트 (19)
      • 교재 정리 (12)
      • 디자인 패턴 (11)
      • 자바 라이브러리 (6)
      • 알고리즘(코테) (67)
    • Spring Boot (92)
      • Bank App 만들기 (deployment) (30)
      • 추가 개념 (7)
      • Blog 프로젝트 만들기(JPA) (53)
    • My Project (29)
      • 쇼핑몰 (15)
      • Java Swing 멀티 쓰레딩 프로그램 (10)
      • Java 1 : N 양방향 소켓 통신 (스윙) (4)
    • 면접 질의 응답 모음 (5)
    • CS (28)
      • 컴퓨터 구조 (7)
      • 운영체제 (6)
      • 네트워크 (8)
      • 시스템 설계 (7)
    • Vue.js (1)
      • 사전지식 (1)
    • MySQL (47)
      • 정리 (33)
      • 1일 1쿼리 (14)
    • HTML CSS (30)
      • HTML (10)
      • CSS (8)
      • CSS flexbox (9)
      • 블로그 만들기 (3)
    • JS (23)
      • JavaScript 핵심 (6)
      • JS 작업을 위한 코딩 연습 (8)
      • JavaScript 게시판 만들기 (8)
    • Git (9)
      • 강의 정리 (5)
      • 교재 정리 (3)
    • Flutter (27)
      • 기초 (4)
      • Flutter UI 프레임워크 (18)
      • MVVM 패턴과 상태 관리 (4)
    • error note (4)
      • Java (4)
    • 방통대정리 (2)
      • C++프로그래밍 (2)
  • 홈
  • 깃 허브
  • 설정

CPU 스케줄링

CPU 스케줄링이란?CPU 스케줄링은 운영체제가 여러 프로세스들 중에서 어떤 프로세스를 언제 실행할지를 결정하는 과정이다. 현대의 컴퓨터 시스템은 다수의 프로세스가 동시에 실행되기를 요구하지만, 대부분의 경우 CPU는 한 번에 하나의 프로세스만 실행할 수 있다. 따라서 CPU의 사용 권한을 효율적으로 분배하기 위해 스케줄링이 필요하다.CPU 스케줄링이 필요한 이유CPU 자원은 한정되어 있다동시에 여러 작업을 처리해야 하는 환경에서, CPU는 항상 바쁘게 동작하며, 모든 요청을 즉시 처리할 수 없다.프로세스마다 특성이 다르다어떤 프로세스는 계산 중심(CPU-bound)이고, 어떤 프로세스는 입출력 중심(I/O-bound)이다. 이를 고려한 스케줄링이 필요하다.응답 시간과 처리율 최적화사용자 프로그램은 빠른..

  • format_list_bulleted CS/운영체제
  • · 2025. 6. 19.
  • textsms
프로세스와 스레드

프로세스와 스레드

프로세스프로그램, 프로세스, 스레드 뭐가 다를까?컴퓨터 시스템을 이해할 때 자주 마주치는 용어들이 있다. 바로 프로그램, 프로세스, 스레드다. 이 셋은 비슷해 보이지만, 서로 명확히 다른 개념이다.프로그램 (Program)디스크에 저장된 실행 가능한 파일이다.실행되지 않은 정적인 상태이며, 코드, 데이터, 리소스 등이 포함되어 있다.예시: ⟨⟨chrome.exe⟩⟩, ⟨⟨notepad.exe⟩⟩프로세스 (Process)프로그램이 메모리에 올라가 실행 중인 상태다.운영체제로부터 독립적인 메모리 공간을 할당받는다.실행 흐름을 갖고 있고, 자체적인 자원(파일 디스크립터, 주소 공간, PCB 등)을 가진다.하나의 프로그램은 여러 개의 프로세스로 실행될 수 있다.스레드 (Thread)프로세스 내에서 실행되는 최소..

  • format_list_bulleted CS/운영체제
  • · 2025. 6. 19.
  • textsms

운영체제의 개요

운영체제란?컴퓨터는 단순히 전원을 넣는다고 해서 우리가 원하는 프로그램을 자동으로 실행해주는 기계가 아니다. 우리가 사용하는 모든 소프트웨어는 하드웨어 자원을 효율적으로 활용해야 하며, 이 모든 과정을 조율해주는 소프트웨어가 바로 운영체제(Operating System, OS)다.운영체제의 주요 기능운영체제는 단순한 소프트웨어가 아니다. 하드웨어와 사용자 프로그램 사이에서 다음과 같은 핵심 기능을 수행한다:기능 분류설명프로세스 관리실행 중인 프로그램(프로세스)의 생성, 스케줄링, 종료 등을 담당메모리 관리여러 프로그램이 동시에 실행될 때 메모리를 효율적으로 분배파일 시스템 관리데이터를 저장하고 접근할 수 있도록 파일 단위로 관리입출력 장치 관리키보드, 마우스, 디스크 등 다양한 장치의 제어보안 및 접근 ..

  • format_list_bulleted CS/운영체제
  • · 2025. 6. 19.
  • textsms

저장 장치

저장 장치란?컴퓨터에서 데이터를 영구적으로 보관하는 장치를 저장 장치(Storage Device)라고 한다. 우리가 작성한 문서, 설치한 프로그램, 사진, 음악, 영상 파일, 그리고 운영체제의 핵심 파일까지 모두 저장 장치에 기록된다. 저장 장치는 데이터의 보존성과 접근성을 책임지는 필수 구성 요소다.저장 장치의 구분 기준저장 장치는 여러 기준으로 나눌 수 있다. 대표적으로 다음 두 가지 분류 방식이 있다:기억 장치 분류주기억 장치: CPU와 직접 연결되어 빠르게 접근 가능 (예: RAM)보조기억 장치: 대용량 저장을 담당하며 느리지만 데이터가 유지됨 (예: SSD, HDD)휘발성 여부휘발성 메모리: 전원이 꺼지면 데이터가 사라짐 (예: RAM)비휘발성 메모리: 전원이 꺼져도 데이터가 유지됨 (예: SS..

  • format_list_bulleted CS/컴퓨터 구조
  • · 2025. 6. 18.
  • textsms

RAM

RAM, 왜 CPU만큼 중요할까?많은 사람들은 컴퓨터의 속도를 결정짓는 가장 중요한 요소로 CPU를 떠올린다. 물론 CPU는 연산을 담당하는 핵심 부품이며, 클럭 속도나 코어 수가 높을수록 빠른 처리가 가능하다. 하지만 CPU만 빠르다고 해서 시스템 전체가 빠를 수는 없다. 그 이유는 CPU 혼자서 데이터를 만들어낼 수 없기 때문이다.CPU가 빠르면 다 해결이 될까?CPU는 데이터를 RAM에서 불러와 연산을 수행한다.만약 RAM의 속도가 느리거나, 용량이 부족해서 디스크를 가상 메모리로 사용하게 되면 CPU는 데이터를 기다리느라 제 성능을 발휘하지 못한다. 이를 메모리 병목(bottleneck)이라 부르며, 전체 시스템 성능의 저하로 이어진다.RAM이란?RAM은 Random Access Memory의 약..

  • format_list_bulleted CS/컴퓨터 구조
  • · 2025. 6. 18.
  • textsms

CPU (2)

명령어 사이클CPU는 끊임없이 메모리에서 명령어를 불러와 해석하고 실행한다. 이 과정을 반복하는 단위를 명령어 사이클(Instruction Cycle)이라고 한다.이 사이클은 프로그램 실행의 최소 단위이자, CPU가 동작하는 기본 리듬이라고 할 수 있다.명령어 사이클의 기본 3단계인출(Fetch)메모리에 저장된 명령어를 불러온다⟨⟨프로그램 카운터(PC)⟩⟩가 가리키는 주소에서 명령어를 읽어 ⟨⟨명령어 레지스터(IR)⟩⟩에 저장해석(Decode)명령어 내부의 ⟨⟨연산 코드(Opcode)⟩⟩를 분석어떤 연산을 해야 하는지, 어떤 레지스터를 사용할지 결정실행(Execute)실제 연산이 수행됨 (ALU가 계산하거나, 메모리에 접근하거나, 분기 명령이 처리됨)명령어 사이클 작동 예시예를 들어, ADD A, B 명..

  • format_list_bulleted CS/컴퓨터 구조
  • · 2025. 6. 18.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • navigate_next
공지사항
  • 목차 목록
전체 카테고리
  • 분류 전체보기 (582)
    • 설치메뉴얼 (9)
    • Java (273)
      • Java 기초 문법 (24)
      • Java 객체 지향 핵심 (30)
      • Java 유용한 클래스 (51)
      • 자료구조 (20)
      • JSP (28)
      • Swing 프로젝트 (19)
      • 교재 정리 (12)
      • 디자인 패턴 (11)
      • 자바 라이브러리 (6)
      • 알고리즘(코테) (67)
    • Spring Boot (92)
      • Bank App 만들기 (deployment) (30)
      • 추가 개념 (7)
      • Blog 프로젝트 만들기(JPA) (53)
    • My Project (29)
      • 쇼핑몰 (15)
      • Java Swing 멀티 쓰레딩 프로그램 (10)
      • Java 1 : N 양방향 소켓 통신 (스윙) (4)
    • 면접 질의 응답 모음 (5)
    • CS (28)
      • 컴퓨터 구조 (7)
      • 운영체제 (6)
      • 네트워크 (8)
      • 시스템 설계 (7)
    • Vue.js (1)
      • 사전지식 (1)
    • MySQL (47)
      • 정리 (33)
      • 1일 1쿼리 (14)
    • HTML CSS (30)
      • HTML (10)
      • CSS (8)
      • CSS flexbox (9)
      • 블로그 만들기 (3)
    • JS (23)
      • JavaScript 핵심 (6)
      • JS 작업을 위한 코딩 연습 (8)
      • JavaScript 게시판 만들기 (8)
    • Git (9)
      • 강의 정리 (5)
      • 교재 정리 (3)
    • Flutter (27)
      • 기초 (4)
      • Flutter UI 프레임워크 (18)
      • MVVM 패턴과 상태 관리 (4)
    • error note (4)
      • Java (4)
    • 방통대정리 (2)
      • C++프로그래밍 (2)
최근 글
인기 글
태그
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바