본문 바로가기

컴퓨터 구조4

[JSCODE 운영체제 3주차] CPU 스케줄링 안녕하세요. dev_writer입니다. 이번에는 CPU 스케줄링에 대해 알아보겠습니다. CPU 스케줄링CPU 스케줄링이란 프로세스들에게 CPU 사용 할당을 배분하는 것을 뜻합니다. CPU 스케줄링이 필요한 이유프로세스들은 실행할 때 컴퓨터 자원을 사용하는데, 이때 CPU도 사용합니다. 그런데 만약 하나의 프로세스가 오랜 시간 동안 CPU를 점유하고 있다면, 공정하지 못한 방법으로 자원을 할당하게 될 것이고 이는 시스템의 비효율을 초래할 수 있습니다. 따라서 CPU 스케줄링 기법은 운영체제에 있어 반드시 필요한 기법입니다. 프로세스들에게 CPU를 제대로 분배하지 못한다면 반드시 실행되어야 할 프로세스가 실행이 되지 않거나, 급하지 않은 프로세스들만 계속 실행되는 무질서 상태가 반복될 수도 있을 것입니다. .. 2024. 11. 14.
[JSCODE 운영체제 2주차] 프로세스와 스레드 안녕하세요. dev_writer입니다. 이번에는 스터디의 2주 차 내용인, 프로세스와 스레드에 대해 정리해 보겠습니다. 프로세스먼저, 프로세스의 정의를 보겠습니다.프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 프로그램이다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다....프로그램은 일반적으로 하드 디스크 등에 저장되어 있는 실행코드를 뜻하고, 프로세스는 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위를 지칭한다. 예를 들어, 하나의 프로그램을 여러 번 구동하면 여러 개의 프로세스가 메모리 상에서 실행된다. - 위키백과 위키백과에 따르면, 프로그램과 프로세스의 구분은 실행 여부로 나눌 수 있음을 볼 수 있습니다... 2024. 11. 7.
[JSCODE 운영체제 1주차] 2. 컴퓨터 구조 기본 개념 안녕하세요. dev_writer입니다. 바로 이어서 운영체제 학습에 있어 도움이 되는 컴퓨터 구조의 기본 개념에 대해 정리해 보겠습니다. 컴퓨터 구조컴퓨터의 구조는 크게 CPU / 메모리 / 보조기억장치 / 입출력장치로 나눌 수 있습니다.  1️⃣ CPU (Central Processing Unit)중앙처리장치입니다.메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고 실행합니다.ALU (Arithmetic Logic Unit)산술논리연산장치로, 계산만을 위해 존재하는 부품입니다.컴퓨터 내부에서 수행되는 대부분의 계산을 처리합니다.레지스터CPU 내부에 있는 작은 임시 저장 장치입니다.프로그램을 실행하는 데 필요한 값들을 임시로 저장합니다.CPU 안에는 여러 개의 레지스터가 존재하며, 각기 .. 2024. 11. 1.
[JSCODE 운영체제 1주차] 1. 운영체제 기본 개념 안녕하세요. dev_writer입니다. 이번에 좋은 기회로 JSCODE에서 운영하는 운영체제 스터디에 참가하게 되었는데요, 스터디를 하며 과제로 배운 점을 미리 블로그에 기록하는 것이 있어 CS 글도 정리할 겸 글을 작성해보고자 합니다. 중요하지만 상대적으로 덜 준비했던 CS를 다져보는 좋은 기회라고 생각해서, 앞으로 5주 간 꾸준히 작성해 보겠습니다. 🤖 운영체제란 무엇인가?먼저, 운영체제의 정의를 위키백과에서 살펴보겠습니다. 운영체제(運營 體制, 문화어: 조작 체계) 또는 오퍼레이팅 시스템(operating system, 약칭: OS)은 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다. 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 .. 2024. 10. 31.