[운영체제(OS)] 프로세스와 스레드 - (1) 프로세스란?
2022. 2. 13. 22:50
CS/운영체제
0.🚶들어가며 프로세스라는 말은 개발 공부를 시작하며 정말 많이 들어봤으나 누군가에게 설명할 수 있을 정도로 알고 있는 것 같지 않아 이에 대해 정리해보고자 글을 써봅니다. 1.📕프로세스란? 1) 프로세스의 개념 (1) 프로그램과 프로세스의 차이 프로그램은 어떤 데이터를 사용하여 어떤 작업을 할지 그 절차를 적어 놓은 것이며 하드디스크와 같은 저장장치에 보관됩니다. 프로세스는 프로그램을 실행한 것인데 "실행했다"라는 말은 프로그램이 메모리에 올라가 작업이 진행된다는 것입니다. 프로세스를 한마디로 말하면 "실행 중인 프로그램" 이라고 할 수 있습니다. 앞으로 설명할 내용은 현대 운영체제 방식을 가정하고 진행합니다. 즉, 메모리에 여러 프로세스가 올라가고 실행시키는 방식(시분할 방식)에서의 내용입니다. (2..
[운영체제(OS)] 운영체제란 무엇인가?
2022. 2. 11. 22:57
CS/운영체제
1. 운영체제란 무엇인가? 운영체제 공부를 시작하며 우선 운영체제가 무엇인지에 대한 글을 정리해보려 합니다. 운영체제는 윈도우, 맥, 안드로이드, IOS 등과 같이 실생활에서도 자주 들어볼 수 있는 단어와 밀접한 관계가 있습니다. 운영체제는 컴퓨터를 동작시키는 데 도움을 주는 소프트웨어인데 사실 운영체제가 없어도 컴퓨터를 동작시킬 수 있습니다. 하지만 컴퓨터 사용자가 하드웨어 자체를 다룬다는 것은 쉽지 않은 일이기 때문에 기본적으로 컴퓨터에 운영체제를 탑재하는 것입니다. 운영체제는 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어로 하드웨어 + 운영체제를 컴퓨터 시스템이라고도 부릅니다. 우리가 사용하는 각종 소프트웨어들은 바로 이 컴퓨터 시스템 위에서 작동하게 됩니다. 2. 운영체제의 역할은 무엇인가? 운..
[자료구조] 우선순위 큐와 heap
2021. 12. 2. 02:02
CS/자료구조
우선순위 큐와 Heap 우선순위 큐는 일반적인 큐와 다르게 우선순위가 높은 데이터가 먼저 나갈 수 있도록 만들어진 자료구조입니다. 그래서 어떻게 구현하는데? 우선순위 큐는 배열 또는 연결리스트을 단순하게 사용하여도 구현이 가능합니다. 배열과 연결리스트의 맨 앞 원소부터 차례대로 우선순위가 높은 data를 넣는다면 어렵지않게 우선순위 큐를 구현할 수 있습니다. 이러한 방식으로 우선순위 큐를 구현하게 되면 우선순위에 맞춰 data를 알맞은 자리에 삽입해야 하기 때문에 이 과정이 O(n)의 시간복잡도가 소요됩니다. 하지만 heap 자료구조를 사용한다면 조금 더 효율적인 방식으로 우선순위 큐를 구현할 수 있습니다. heap을 사용한다면? 우선 heap이 무엇인지에 대해 알아보겠습니다. heap 이란? 힙(hea..