Programming/CS
-
OS - Scheduling AlgorithmProgramming/CS 2021. 11. 18. 01:02
안녕하세요 BeePeach입니다 :) 오늘 공부해볼 내용은 Scheduling Algorithm(스케쥴링 알고리즘)입니다. 이전 포스팅에서 가정한 것처럼 CPU는 한 번에 한 개의 프로세스만 사용할 수 있습니다. 그럼 여러개의 프로세스를 실행할 때 프로세스 스케쥴러가 어떤 프로세스를 먼저 실행시키도록 할까요?? 목적에 맞춰서 적절한 알고리즘을 택하겠죠? 스케쥴링 알고리즘이란 스케쥴러가 여러 개의 프로세스를 효과적이고 효율적으로 실행시키도록 관리하는 것을 말합니다. 이 알고리즘에는 여러 종류가 있는데요. 간단한 알고리즘 몇가지를 알아보려고 합니다. First Come First Served(FCFS) FCFS는 First In First Out(FIFO)로도 불립니다. 프로세스가 스케쥴러에 등록된 순서대로..
-
OS - Process SchedulingProgramming/CS 2021. 11. 9. 20:00
안녕하세요 BeePeach입니다 :) 오늘은 Process scheduling에 대해서 공부해보도록 하겠습니다. 여기서 process란 간단하게 하나의 실행 중인 프로그램(응용프로그램)으로 이해해주시면 됩니다. (자세히 들어가면 하나의 프로그램에 여러개의 프로세스가 존재할 수 있는데 이해하기 쉽도록 프로세스란 실행 중인 프로그램으로 설명했습니다.) 그리고 기본적으로 CPU에서 한번에 하나의 프로세스만 실행할 수 있다고 가정하겠습니다. (지금의 CPU는 여러개의 코어가 있고 하나의 프로세스에서도 여러 스레드로 나뉘지만 여기서는 특별한 말이 없다면 1개의 코어를 가진 CPU를 사용하고 프로세스도 1개의 스레드만 가진다고 생각해주세요.) Process Scheduling Process Scheduling는 O..
-
OS - KernelProgramming/CS 2021. 11. 7. 21:38
안녕하세요 BeePeach입니다. 오늘 공부해볼 내용은 Kernel, Shell, SysytemCall입니다. 지난번 포스팅에서 OS는 system resource를 관리하고 사용자와 컴퓨터 사이에 인터페이스를 제공한다고 했습니다. 여기에 핵심이 되는 개념이 Kernel, Shell, SystemCall입니다. Kernel Kernel의 사전적 의미는 알맹이입니다. 의미처럼 Kernel은 리소스를 관리하고 프로세스와 하드웨어의 보안등 OS의 핵심 프로그램을 의미합니다. 이런 중요한 기능을하기때문에 아무나 접근해서는 안되겠죠?? 그래서 OS에는 2가지 모드가 존재합니다. User mode 리소스에 마음대로 접근할 수 없는 모드입니다. 일반적으로 application이 실행되는 모드가 바로 사용자모드입니다...
-
OS - 운영체제 기본Programming/CS 2021. 11. 5. 19:39
안녕하세요 BeePeach 입니다 :) OS, 운영체제 말은 많이 들었는데 그래서 OS가 뭔데??라고 하면 윈도우 같은거~ 라는 말만 할 줄 알고 정확히 어떤 역할을 하는지 무엇인지를 모르는 거 같아서 이번 기회에 공부해보려 합니다. OS(Operating System)란 아주아주 쉽게 말하면 소프트웨어입니다. 프로그램이라는 소리죠! OS의 종류에는 Windows OS, Mac OS, UNIX, LINUX 등등 많이 존재합니다. (유명한것만 적은거에요.) 그럼 OS란 무엇을 하는 프로그램인지 알아보도록 하겠습니다. 1. 운영체제의 역할 1. System Resource(시스템 자원) 관리 여기서 Resource란 하드웨어라고 생각하면 됩니다. (CPU, Memory, I/O Devices, Network..
-
Compile이란??Programming/CS 2020. 9. 15. 17:20
코딩 공부를 하다 보면 Compile, Compiler라는 단어를 많이 듣게 됩니다. 오늘은 compile에 대해서 공부해보려 합니다! 컴퓨터는 2진법 0, 1만을 사용해서 모든것을 표현합니다. 그렇다면 어떻게 우리가 입력하는 let num = 11 같은 코드를 어떻게 컴퓨터가 이해할까요?? 우리가 코드를 입력하면 다음과 같은 4가지의 일이 일어나게 됩니다. Preprocessing Compiling Assembling Linking 하나하나 간단하게 살펴보겠습니다! PREPROCESS(전처리) 전처리는 Preprocessor(전처리기)가 수행합니다. 전처리기는 컴파일이 되기전에 해야 할 것을 실행하는 역할을 합니다. C언어에서는 #include 와 같은 코드를 컴파일 전에 추가하는 단계를 말합니다. C..