일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Compose
- design pattern
- spring
- kotlin
- readme
- github
- 깃허브
- markdown
- test
- 다단계 큐
- JetPack
- android study jam
- Constraint Layout
- SOLID
- coroutine flow
- O.S
- 리드미
- 더티비트
- git
- Class.class
- JUnit
- Spring Boot
- OS
- 데드락
- LiveData
- Data Binding
- Android
- Di
- 마크다운
- 운영체제
- Today
- Total
목록O.S (3)
차지
앞서 작성한 운영체제, 프로세스에 이어 스레드에 대해 간단히 이야기합니다. 스레드 CPU 이용의 기본 단위입니다. 스레드 ID, PC, 레지스터 집합, 스택으로 구성됩니다. 프로세스 vs 스레드 프로세스는 실행중인 프로그램의 인스턴스이며, 스레드는 실행되는 흐름의 단위입니다. 한 프로그램에서 둘 이상의 프로세스를 생성한다면 빈번한 context switching으로 성능 저하가 생깁니다. 그래서 스레드가 탄생했으며 스레드는 한 프로그램에서의 여러 실행흐름입니다. 스레드는 여러 영역을 공유하지만 스택은 독립적으로 소유합니다. 스레드의 공유영역 Stack(공유되지 않음) 스택은 함수 호출 시 전달되는 parameter, return address가 저장됩니다. 각 스레드는 독립적으로 함수 호출이 가능하다는 ..
앞서 작성한 운영체제에 이어서 프로세스에 대해 간단히 이야기합니다. 프로세스 초기 컴퓨터 시스템은 한 번에 하나의 프로그램만을 실행시켰습니다. 반면 오늘날의 컴퓨터 시스템들은 메모리에 다수의 프로그램이 적재되어 병행 실행되는 것을 허용합니다. 프로세스란 실행중인 프로그램을 말합니다. 프로세스가 무엇이고 어떻게 표현되며 어떻게 동작하는지 알아보겠습니다. 프로세스의 특징 병렬 실행이 가능합니다. 독립된 메모리 영역과 주소 공간을 운영체제로부터 할당받습니다. 프로세스 메모리 배치 Code 영역, Data 영역, Heap 영역, Stack 영역이 존재합니다. Code 영역, Data 영역은 Run time 동안 고정된 크기를 갖습니다. 하지만 Stack 영역과 Heap 영역은 동적으로 크기가 조정되며 서로의 방..
서론 서론에선 앞으로의 내용을 간단히 요약합니다. 이 후 작성하는 글은 운영체제, 프로세스, 스레드 순서대로 간단히 이야기합니다. 운영체제를 공부하기 전 운영체제가 뭔지, 운영체제를 왜 사용할까 정리하고 시작합니다. 운영체제 컴퓨터 하드웨어를 관리하는 소프트웨어 운영 체제는 컴퓨터 하드웨어가 컴퓨터 소프트웨어와 통신하고 작동하도록하는 소프트웨어 프로그램입니다. 목적 운영체제를 사용하는 목적에는 크게 세가지가 있습니다. 사용자에게 컴퓨터의 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공합니다. 컴퓨터 시스템 하드웨어 및 소프트웨어 자원을 여러 사용자 간에 효율적 할당, 관리, 보호합니다. 운영 체제는 제어 프로그램으로서 사용자 프로그램의 오류나 잘못된 자원 사용을 감시하는 것과 입출력 장치 등의 자..