일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 개발공부
- 프로그래머스
- REACT
- 컴퓨터공학
- context switching
- node.js
- 자바스크립트
- OS
- java
- typeScript
- codestates
- Python
- useState
- Computer Science
- JavaScript
- algorithm
- 운영체제
- 자료구조
- 글또
- Zerobase
- execution context
- python algorithm
- 알고리즘
- 파이썬
- 자바
- 코드스테이츠
- react 기초
- 비동기
- 파이썬 알고리즘 인터뷰
- Operating System
- Today
- Total
목록OS (5)
Back to the Basics
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 프로세스와 컨텍스트 스위칭 - PCB, PC, SP Process를 다른 Process로 바꾸는 메커니즘을 context switching이라고 하였다. context switching을 위해 PCB라는 registor를 이용하여 process의 정보를 참조한다. 그렇다면 PCB는 정확히 무엇이고 어떻게 생겼을까 ? PCB PCB는 Process Contril Block의 약자로, 프로세스에 상태를 저장하는 데이터구조로 OS에서 관리하고있다. Process Context Block이라고도 하며, 프로세스가 실행중인 상태를 캡쳐하고 구조화하여 저장한다. PCB는 아래와 같은 구조로 이루어져있다(c 구조체로 이루어져있음) (Linux..
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 프로세스와 컨텍스트 스위칭 Context Switching 이란 간단하게 말하면, Process A 실행 중 Process B로 바꿔주는데, 이 바꿔주는 메커니즘을 Context Switching이라고 한다. Context Switch는 Process와 매우 밀접하게 관련이 있으며 이 Contetxt Switching 메커니즘에 대해 조금 더 이해하기 위해 Process 구조를 알 필요가 있다. 즉, 실제 프로그램의 구조를 알아야 한다. 1. Process의 구조 Deep Dive! Process의 구조 Process는 사용자 입장에서 크게 Text, Data, Head, Stack이라는 네 가지 영역으로 구분된다. text (C..
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 멀티프로그래밍(Multi programming) 멀티프로그래밍? 위키백과에 따르면, 멀티 프로그래밍은 CPU작업과 입출력 작업을 병행하여 CPU이용과 처리량을 향상시킬 수 있는 스케줄링 알고리즘이다. 위의 그림과 같이 하나의 Program의 wait 시간동안 다른 응용 프로그램을 실행한다. 프로세서는 한번에 한 작업만 가능하기때문에, 실제로는 스케줄러에 의해 통제되어 한 프로그램이 일부 수행하고 나서 또 다른 프로그램이 일부 수행되는 방식으로 진행을 한다. 그 시간 간격이 매우 짧기 때문에 마치 병렬적으로 작업이 진행되는 것처럼 보인다. 이런 방식으로 수행되기 때문에, 멀티 프로그래밍은 CPU 활용도를 극대화하는 스케줄링 알고리즘..
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 Process란? 실행 중인 프로그램을 프로세스라고 한다. 메모리에 올려져서 , 실행 중인 프로그램이다. 작업 , task, job 이라는 용어와 혼용되어 사용된다 응용프로그램 ≠ 프로세스 응용프로그램은 여러 개의 process로 이루어질 수 있다. 하나의 프로그램은 여러 개의 process가 상호작용을 하면서 실행될 수도 있다. (unix 철학) 예를 들어, 간단한 C++ 프로그램을 만든다면 하나의 프로세스이지만, 여러 프로그램을 만들어서, 서로 통신하면서 프로그램을 작성할 수도 있다 (IPC 기법) 스케줄러와 프로세스 프로세스의 실행은 스케줄러에 의해 관리된다. 스케줄러가 스케줄 하는 단위가 프로세스이다.' 스케줄링 알고리즘 ..
강의를 듣고 내용을 간단히 정리한 포스팅 입니다. OS는 사용자, Application Program에 Interface를 제공한다. 운영체제는 사용자에게 인터페이스를 제공한다. SHELL이라는 응용프로그램을 통해 사용자가 OS의 기능을 조작할 수 있도록 한다. SHELL이란, 사용자와 OS 간의 Interface이며 CLI에서 Terminal 또는 GUI 환경 두 종류가 있다. 운영체제는 Application을 위한 인터페이스도 제공하며 API라고 한다. API는 Application Programming Interface의 약자이며 함수로 제공된다. 보통 API들을 묶어 Library의 형태로 제공된다. System call System call은 운영체제의 기능을 사용할 수 있는 함수 또는 명령어이..