CS

목차 개요 스케줄링 큐, CPU와의 큐잉다이어그램에 대한 자세한 이해를 돕기 위한 글이다. 상위글은 여기서 ⬇⬇⬇⬇ 2022.08.14 - [OS :: 운영체제] - 프로세스 :: 다중 프로그래밍과 스케줄링 스케줄링 큐 Ready queue는 상위 포스팅에서 기술했다 싶이 준비 상태의 프로세스들이 모여있는 큐이다. 나머지 큐를 보게 되면 각각 Ready : R, Suspend : S, Blocked B 세가지가 존재하게 되는데 표를 자세히 들여다 보면 B큐만 Event wait 상태를 받고 있고 RS, BS 큐는 B 큐에서 보내준 큐를 차례대로 받아서 다시 CPU에 들어가는 메인 R 큐에 이동 시켜주는 것을 확인 할 수 있다. Suspend (잠시 중지되었다가 트리거로 인하여 준비 상태로 돌아가는 상태)..
목차 개요 CPU 내에는 여러개의 코어와 스레드로 이루어져있는데 일반적으로 1개의 코어에 1개의 프로세스만 동시에 처리가 가능하다. 하지만 CPU의 처리 속도는 이용자가 자원을 이용하는 속도보다 느린 속도이다. 예로 키보드를 아무리 빨리 입력해도 CPU입장에서는 기다리기에 느리다. 따라서 CPU가 더 효율적으로 사용될 수 있도록 여러개의 작업을 번갈아가면서 실행하는 방식을 도입하게 되고 이러한 여러가지 작업중에서 우선순위를 정해서 실행할 작업을 결정하는 과정을 CPU스케줄링이라고 부르고 그 중 CPU의 작업과 입출력 작업을 병행하는 방식을 다중 프로그래밍이라고 부른다. 그리고 CPU 스케줄링과 다중프로그래밍을 이용해 사용자들에게 컴퓨터 자원을 시간적으로 분할 해주는 시스템을 시분할 시스템, 이러한 시스템..
목차 프로세스의 개념 초창기의 컴퓨터는 연산 등을 처리하는 작업을 하는 기기에 불과하였다. 이후에 계속 발전이 되면서 다중 태스킹을 지원하게 되면서 여러 프로그램 등을 한번에 실행할 수 있게된다. 따라서 초기의 작업에 국한하지 않고 메모리 관리 등과 같은 자체 적인 내부 활동을 지원하기도 해야한다. 이렇게 CPU가 하는 대부분의 모든 활동을 프로세스 라고 부른다. 과거에는 프로세스라는 용어 대신에 작업 이라는 용어를 더 많이 사용했다는 사실을 할고 있으면 추후의 개념들의 이해가 쉬워질 것이다. 메모리 배치 여러 섹션으로 나누어져 있고 텍스트 및 데이터 섹션의 크기는 고정 되기 때문에 실행되는 도중 크기가 바뀌지 않는다. 그러나 스택이나 힙 섹션은 프로그램 실행 중에 동적으로 줄어들거나 커질 수 있다. 함..
목차 운영체제 디버깅 디버깅 : 하드웨어와 소프트웨어에서의 오류를 발견하고 수정하는 행위 디버깅을 하기 전에 병목현상이나 시스템의 효율적인 수행을 방해하는 요소를 찾을 수 있어야하는데 만약 수행을 하다가 프로세스가 실패를 하게 된다면 시스템 상의 장애가 발생하게 되는데, 프로세스의 경우 오류 정보를 로그 파일에 기록하고 프로세스가 사용하던 메모리를 캡쳐한 코어 덤프(예전에는 메모리를 코어라고 불렀다)를 취하고 분석을 위하여 파일로 저장한다. 프로그램과 코어덤프는 디버거에 의해 검사되며 사용자가 분석할 수 있게 한다. 커널의 경우 오류 정보를 로그파일에 기록하고 크래시 덤프(커널은 크래시라고 한다)에 저장한다. 프로세스나 커널 등의 장애 분석도 중요하지만 지속적인 성능 관찰 및 조정도 필요하다. 성능 조정..
목차 운영체제의 생성 운영체제 소스 코드를 작성한다.(혹은 소스 코드를 불러온다.) 운영체제의 실행을 위한 운영체제를 구성한다. 운영체제를 컴파일한다. 운영체제를 설치한다. 컴퓨터를 부팅한다. 닭과 계란은 하지 못하는 운영체제의 실행을 위한 운영체제를 구성한 후에 이러한 운영체제를 완전히 컴파일 하고 설치된 시스템에 맞는 데이터 선언이나 변수 등을 재 생성하는 과정을 거친다 (시스템 빌드) 또한 목적에 맞는 운영체제 빌드도 생각해볼수 있는데 생성된 시스템의 크기나 일반성이나 하드웨어 구성이 변경 될 시에 변경이 쉽게 되는 정도에 따라서 나뉠 수 있다. 임베디드 시스템의 경우에는 목적에 맞추어서 운영체제등이 설치되기 때문에 비교적 시스템의 크기가 작고 하드웨어 구성이 컴퓨터 처럼 쉽게 변경되지 않는다. 따..
목차 개요 운영체제는 크고 복잡한 하나의 체계보다는 여러가지로 분할되어 일을 분배하여 처리하는 방식이 더 적절하게 동작되고 쉽게 변경하고 적용할 수 있는 장점을 가지게 된다. 따라서 이번 포스팅에서는 운영체제의 기술구조의 유형과 그에 맞는 차이점 등을 알아볼 것이다. 대부분의 운영체제는 기술의 발전에 따라서 단순한 계산과정만 처리하던 컴퓨터에서 기능이 점점 많아지면서 점점 복잡한 작업들을 수행해야함에 따라 세분화되고 체계화 되는 것을 알 수 있다. 모놀리식 구조 Monolithic Structure 가장 간단한 구조는 구조가 존재하지 않는 구조이다. 즉 커널의 모든 기능을 단일 주소 공간에서 실행되는 단일 정적 이진 파일에 넣는 것이다. 이러한 구조는 UNIX에서부터 시작되었는데 전통적인 UNIX 운영체..
nstgic3
'CS' 카테고리의 글 목록 (3 Page)