본문 바로가기

IT16

"스레드"에 대한 기본 지식 1. 정의 스레드는 CPU 이용의 기본 단위이다. 스레드는 스레드 ID, 프로그램 카운터, 레지스터 집합, 그리고 스택으로 구성된다. 스레드는 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션 그리고, 열린 파일이나 신호와 같은 운영체제 자원들을 공유한다. 전통적인 중량 프로세스는 하나의 제어 스레드를 가지고 있다. 만일 프로세스가 다수의 제어 스레드를 가진다면, 프로세스는 동시에 하나 이상의 작업들을 수행할 수 있다. 현대의 컴퓨터에서 동작하는 거의 모든 소프트웨어 응용들은 다중 스레드를 이용한다. 다중 스레드 프로그래밍의 이점은 크게 4가지로 나눌 수 있다. 첫 번째, 응답성이 있다. 응답성은 대화형 응용을 다중 스레드처럼 적용하면 응용 프로그램의 일부분이 봉쇄되거나, 응용 프로그램이 긴 작업을.. 2022. 10. 11.
운영체제 내의 프로세스란? 1. 정의와 상태 초기의 컴퓨터 시스템은 한 번에 하나의 프로그램만을 실행하도록 허용했습니다. 이 프로그램이 시스템에 대한 완전한 제어를 가지고, 시스템의 모든 자원에 접근할 수 있었습니다. 그러나 점점 컴퓨터가 발전할수록 다양한 프로그램을 보다 견고하게 제어해야 할 필요성이 부각되었습니다. 이러한 필요성이 프로세스의 개념을 낳았으며, 프로세스란 실행 중인 프로그램을 말합니다. 프로세스는 현대의 시분할 시스템에서 작업의 단위입니다. 운영체제가 더욱 복잡해질수록, 사용자를 위해 보다 많은 기능이 기대됩니다. 비록 운영체제의 주 관심사는 사용자 프로그램을 실행하는 것이지만, 운영체제는 커널 자신의 바깥에 있는 것이 낫다고 판단된 다양한 시스템 작업들을 처리할 필요성도 있습니다. 그러므로 하나의 시스템은 프로.. 2022. 10. 9.
여러가지 컴퓨터 프로그래밍 언어 1. 정의 컴퓨터 프로그래밍 언어는 컴퓨터는 우리가 쓰는 언어를 이해하지 못하기 때문에 오직 컴퓨터가 이해할 수 있는 언어입니다. 따라서 컴퓨터에 지시를 내릴 수 있습니다. 사람들이 쓰는 다양한 언어가 존재하는 것처럼 프로그래머가 컴퓨터와 통신하는 데 사용할 수 있는 컴퓨터 프로그래밍 언어의 다양한 배열이 있습니다. 그 중에서 컴퓨터가 이해할 수 있는 언어 부분을 '바이너리'라고 합니다. 프로그래밍 언어를 바이너리로 변환하는 것을 '컴파일'이라고 합니다. 우리가 많이 들어본 C 언어, Python 외에 각 언어에는 고유한 기능이 있지만 프로그래밍 언어 간에 공통점이 있는 경우가 많습니다. 이러한 언어가 있기 때문에 컴퓨터는 크고 복잡한 정보를 빠르고 효율적으로 처리할 수 있습니다. 스마트폰, 전자 제품 .. 2022. 10. 9.
컴퓨터의 두뇌, 중앙 처리 장치 (CPU) 1. CPU 란? CPU라는 용어는 중앙 처리 장치를 뜻합니다. CPU는 입력을 처리하고 데이터를 저장하고 결과를 출력하는 데 필요한 회로를 모두 포함하는 컴퓨터의 두뇌입니다. CPU는 처리할 데이터와 처리 방법을 알려주는 컴퓨터 프로그램의 지시를 받아 그 지시를 수행합니다. 따라서 CPU가 없으면 컴퓨터에서 프로그램을 실행할 수 없습니다. 어디에 있든 CPU는 매우 많은 트랜지스터를 활용하여 계산을 합니다. 이러한 계산은 장치가 작업을 수행할 수 있도록 하는 소프트웨어를 실행합니다. 예를 들어, 스마트 온도 조절기의 CPU는 소프트웨어가 명령을 실행하여 난방 및 냉방 온도를 조정하는 데 도움이 됩니다. 또한, 간단한 계산기 프로그램은 CPU에 2와 2라는 두 숫자를 가져와 더한 다음 결과를 다시 보내도.. 2022. 10. 9.