● 도입 - OS가 작업을 처리하는 단위를 프로세스라고 하며 사용자가 OS에게 작업을 요구하는 만큼 프로세스의 수도 늘어난다. - 프로세스를 생성하면 각 프로세스 당 PCB가 생성되고 메모리에 코드, 데이터, 스택, 힙영역 등을 만들어줘야한다. - 따라서 프로세스의 수가 많아지면 그 수 만큼 PCB, 코드, 데이터, 스택, 힙영역을 만들어줘야 하기에 너무 무거워진다. ex) - 크롬 브라우저는 탭 1개 당 1개의 프로세스가 생성된다. - 100개의 탭을 열면 100개의 프로세스가 생성되는데 이렇게 되면 웹 브라우저가 메모리를 너무 많이 차지하게 된다. - 웹 브라우저의 탭들은 서로간의 통신을 위해 IPC(Inter Process Communication)를 이용하는데 IPC는 통신 비용이 상대적으로 많이..
● 도입 - 일반적으로 프로세스가 생성될 때 아래와 같은 과정으로 생성된다. 1. .exe 파일을 더블 클릭해서 실행 2. OS가 해당 프로그램의 코드 영역과 데이터 영역을 메모리에 로드하고 빈 stack과 빈 heap을 만들어 공간을 확보한다. 3. 해당 프로세스 관리를 위한 PCB를 만들어서 값을 초기화한다. (프로그램이 메모리에 올라갔으므로 프로세스라고 부른다.)- 위에서 설명한 프로세스 생성 과정은 OS가 부팅된 후 0번 프로세스가 생성될 때 딱 한 번만 실행된다. - 나머지 모든 프로세스들은 새로 생성하지 않고 0번 프로세스를 복사해서 사용하게 된다. - 복사에는 fork() 함수를 사용한다. - 아래 그림의 1번, 2번, 3번 프로세스 모두 0번 프로세스를 복붙해서 생성된 프로세스들이다. - ..
2023.02.22 - [운영체제] - #7 PCB(Process Control Block) - 프로세스 제어 블록 #7 PCB(Process Control Block) - 프로세스 제어 블록 ● PCB - 프로그램이 메모리에 올라가서 실행중인 상태를 프로세스라고 하며 OS는 여러개의 프로세스를 전부 다 관리 & 공평하게 실행시켜야한다. - 프로세스가 만들어지면 OS는 해당 프로세스의 radderveloper.tistory.com - 위의 글을 먼저 읽어보자 ● 도입 - Context switching은 프로세스를 실행하는 중에 다른 프로세스를 실행하기위해 현재 실행중인 프로세스의 상태를 저장하고 다른 프로세스의 상태값으로 교체하는 작업을 의미한다. - 아래 그림과 함께 보면서 Context switch..
2023.02.17 - [운영체제] - #4 컴퓨터 부팅과정 & 인터럽트 #4 컴퓨터 부팅과정 & 인터럽트 ● 컴퓨터 부팅과정 - 컴퓨터를 ON 했을 때 일어나는 과정을 알아보자 1. 컴퓨터의 전원을 누르면 ROM에 저장된 BIOS가 실행된다. 2. BIOS는 전원, CPU, 메모리, 키보드, 마우스, 하드디스크 등의 주요 radderveloper.tistory.com - 위의 글을 먼저 읽어보자 ● 도입(시분할 처리) - 사용자가 프로그램을 실행시키면 프로그램이 메모리에 올라가면서 프로세스가 생성된다. cf) 프로그램 : 하드디스크와 같은 저장 장치(HDD, SSD)에 저장된 명령문의 집합체 - 오늘날의 운영체제(OS)에는 동시에 수 많은 프로세스가 실행된다. - 시분할 시스템을 사용하는 OS는 여러개..
● PCB - 프로그램이 메모리에 올라가서 실행중인 상태를 프로세스라고 하며 OS는 여러개의 프로세스를 전부 다 관리 & 공평하게 실행시켜야한다. - 프로세스가 만들어지면 OS는 해당 프로세스의 정보를 가지고 있는 PCB(Process Control Block)를 만들고 저장한다. - PCB들은 연결리스트 형태로 저장된다. cf) 연결리스트 - 각각의 데이터(노드)가 다음 데이터를 연결하는 자료구조 - OS는 프로세스가 종료되면 연결리스트에서 해당 프로세스의 PCB를 제거한다. ● PCB 구조 1. 포인터 - 부모와 자식 프로세스에 대한 포인터와 할당된 자원에 대한 포인터 등이 있고 프로세스의 한 상태에서 다른 상태로 전환될 때 저장하는 포인터를 가지고 있다. 2. 프로세스 상태 - 현재 프로세스의 5가..
2023.02.18 - [운영체제] - #5 프로그램과 프로세스 #5 프로그램과 프로세스 ● 도입 프로그램이란? - 하드디스크와 같은 저장 장치(HDD, SSD)에 저장된 명령문의 집합체 - application, app 이라고도 불리고 Window OS에서는 .exe 파일의 모습을 하고있다. 프로세스란? - 간단히 말해 radderveloper.tistory.com - 간단하게 위의 글을 먼저 읽어보자 ● 유니프로그래밍(단일프로그래밍) - 메모리에 오직 하나의 프로세스가 올라온 것을 의미한다. ● 멀티프로그래밍 - 메모리에 여러 개의 프로세스가 올라온 것을 의미한다. ● 멀티프로세싱 - 유니프로그래밍과 멀티프로그래밍을 메모리의 관점에서 설명했다면 멀티프로세싱은 CPU 관점에서 정의한 것이다. - 멀티프..
- Total
- Today
- Yesterday
- 프로세스
- spring
- Java8
- MongoDB
- 자료구조
- Stream
- Phaser3
- OS
- jpa
- node.js
- Advanced Stream
- MySQL
- nosql
- SpringBoot
- java
- git
- 메모리
- 코딩테스트
- API
- 코테
- 운영체제
- 알고리즘
- SQL
- db
- 빅데이터 분석기사
- 빅데이터
- Phaser
- 프로그래머스
- DART
- Spring Boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |