How OSs work in General
운영체제는 무엇일까요?
운영체제라고 한다면 아마도 WINDOW , UNIX , LINUX , macOS 등이 생각나는데요.
운영체제 OS ( Operating System )는
컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록
환경을 제공하는 소프트웨어라고 생각하시면 됩니다.
운영체제가 하는 역할에는 컴퓨터 시스템의 자원을 관리하고 또한 컴퓨터의 자원들을 보호합니다. 그리고 키보드나 마우스와 다양한 장치들을 운영체제에서는 편리하게 쉽게 사용할 수 있도록 합니다.
이러한 운영체제의 작동방식, 터미널 , 프로세스 관리 , 스레드 등 운영체제에 관련된 지식들을 알아보는 시간을 가져보려고 합니다.
Terminal Usage
컴퓨터와 서로 상호 작용을 할 때 클릭이나 탭으로 일상적인 작업들을 수행할 수 있습니다.
하지만 많은 작업의 경우에 효율성과 유연성을 높이기 위해 컴퓨터에게 텍스트로 명령을 직접 입력하게 되는데,
이러한 것들을 터미널을 사용해서 수행한다고 보시면 됩니다.
터미널에서 쉽게 사용할 수 있는 명령어는 운영체제에 따라 다르기 때문에
자신이 사용하려는 os에 맞춰 어느 정도 학습시간을 가지며 공부하면 좋을 것 같습니다.
Process Management
프로세스 관리에 앞서 프로세스는 무엇일까요?
프로세스는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말합니다.
프로세스 관리란 운영체제 가운데 중요한 부분입니다. 운영체제는 자원을 프로세스에 할당하고 프로세스가 정보를 공유하고
교환할 수 있게 하며, 각 프로세스 자원을 다른 프로세스로부터 보호하면서 프로세스 간 동기화를 가능하게 해야 합니다.
이러한 것들을 충족하기 위해서 운영체제는 각 프로세스를 위한 자료 구조를 관리하며,
이로써 프로세스의 상태와 자원 소유권을 기술하고 운영 체제가 각 프로세스를 제어할 수 있습니다.
Threads and Concurrency
스레드? 스레드는 무엇일까요?
스레드는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말합니다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수도 있습니다. 이러한 실행방식은 멀티스레드라고 합니다.
먼저 Concurrency를 알기 전에 Parallelism을 알고 가면 좋을 것 같습니다.
병렬 컴퓨팅 또는 병렬 연산은 동시에 많은 계산을 하는 연산의 한 방법입니다. 한 개 이상의 스레드를 포함하는 각 코어들이 동시에 실행되는 성질을 말한다고 보시면 됩니다.
이에 반해 Concurrency는 싱글코어를 사용하다 보니 동시에 일어나는 것처럼 보이지만 실제로는 한 작업의 일정량을 처리하고 다음일을 처리하는 연산의 한 방법입니다.
일단 간단히 정리만 해보았는데 스레드랑 프로세스에 대해서는 따로 글을 작성해야 될 것 같습니다.
역시나 어렵습니다. 분명히 일정 부분들은 기사 공부 시에 봤는데도 다시 정리하려고 보니 헷갈리는 부분이 꽤나 있네요.
운영체제 및 일반 지식의 다른 부분들은 다음 포스팅에 작성하겠습니다.
제가 부족한 부분이 많아서 틀린 부분이 있거나 보충해야 될 부분이 있으면 댓글이나 방명록으로 알려주시면 감사하겠습니다.
'공부 > 개발록' 카테고리의 다른 글
AB(Apache HTTP server benchmarking tool) 동시 접속자 테스트 (0) | 2023.11.08 |
---|---|
iptime 공유기 끊김 현상 등 설정 (0) | 2021.12.02 |
HTML, CSS, JavaScript - Basic Frontend Knowledge (0) | 2021.05.26 |
DNS와 Hosting (0) | 2021.05.20 |
인터넷,HTTP,Browsers 개념 (0) | 2021.05.18 |