일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OS
- Zerobase
- java
- Computer Science
- 파이썬 알고리즘 인터뷰
- 코드스테이츠
- 비동기
- execution context
- Python
- 프로그래머스
- 파이썬
- Operating System
- node.js
- REACT
- context switching
- 글또
- codestates
- algorithm
- 자료구조
- 운영체제
- react 기초
- 자바스크립트
- 자바
- 개발공부
- typeScript
- useState
- JavaScript
- python algorithm
- 알고리즘
- 컴퓨터공학
- Today
- Total
목록OS (5)
Back to the Basics
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pdJ3J/btroKZ4IAuf/mxGVPRpK4uKk8Ic1Vgt9bK/img.jpg)
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 프로세스와 컨텍스트 스위칭 - 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b7WssQ/btrnQkWN1Q3/h49wcJBCsOnc7ocPFNkmkk/img.jpg)
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 프로세스와 컨텍스트 스위칭 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nd6SM/btrkuoN8h9W/9AjSDQ3t7LjJixTGtGKMlk/img.jpg)
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 멀티프로그래밍(Multi programming) 멀티프로그래밍? 위키백과에 따르면, 멀티 프로그래밍은 CPU작업과 입출력 작업을 병행하여 CPU이용과 처리량을 향상시킬 수 있는 스케줄링 알고리즘이다. 위의 그림과 같이 하나의 Program의 wait 시간동안 다른 응용 프로그램을 실행한다. 프로세서는 한번에 한 작업만 가능하기때문에, 실제로는 스케줄러에 의해 통제되어 한 프로그램이 일부 수행하고 나서 또 다른 프로그램이 일부 수행되는 방식으로 진행을 한다. 그 시간 간격이 매우 짧기 때문에 마치 병렬적으로 작업이 진행되는 것처럼 보인다. 이런 방식으로 수행되기 때문에, 멀티 프로그래밍은 CPU 활용도를 극대화하는 스케줄링 알고리즘..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zF1MY/btrkoHnvSSQ/D1iduean5kNEo2OdXEn680/img.jpg)
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 Process란? 실행 중인 프로그램을 프로세스라고 한다. 메모리에 올려져서 , 실행 중인 프로그램이다. 작업 , task, job 이라는 용어와 혼용되어 사용된다 응용프로그램 ≠ 프로세스 응용프로그램은 여러 개의 process로 이루어질 수 있다. 하나의 프로그램은 여러 개의 process가 상호작용을 하면서 실행될 수도 있다. (unix 철학) 예를 들어, 간단한 C++ 프로그램을 만든다면 하나의 프로세스이지만, 여러 프로그램을 만들어서, 서로 통신하면서 프로그램을 작성할 수도 있다 (IPC 기법) 스케줄러와 프로세스 프로세스의 실행은 스케줄러에 의해 관리된다. 스케줄러가 스케줄 하는 단위가 프로세스이다.' 스케줄링 알고리즘 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/27yFd/btriCEfgHyp/i8wgf4e7BOHoA8NWOdou6K/img.png)
강의를 듣고 내용을 간단히 정리한 포스팅 입니다. OS는 사용자, Application Program에 Interface를 제공한다. 운영체제는 사용자에게 인터페이스를 제공한다. SHELL이라는 응용프로그램을 통해 사용자가 OS의 기능을 조작할 수 있도록 한다. SHELL이란, 사용자와 OS 간의 Interface이며 CLI에서 Terminal 또는 GUI 환경 두 종류가 있다. 운영체제는 Application을 위한 인터페이스도 제공하며 API라고 한다. API는 Application Programming Interface의 약자이며 함수로 제공된다. 보통 API들을 묶어 Library의 형태로 제공된다. System call System call은 운영체제의 기능을 사용할 수 있는 함수 또는 명령어이..