목록강의 (57)
개발자는 기록이 답이다
시스템콜 시스템콜이란 운영체제가 커널에 접근하기 위한 인터페이스이며 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 이를 거쳐서 호출하도록 설계되어있습니다. 프로세스 관리(생성, 삭제 등), 파일관리, 디바이스 관리, 시간 및 날짜 관련 시스템, 프로세스 간 통신 때 이를 통해 커널함수를 호출합니다. 예를 들어 프로세스를 종료하는 kill()이라는 함수가 있습니다. 이 함수를 발동시키면 시스템콜을 거쳐서 커널함수가 호출되게 됩니다. 시스템 콜의 과정 만약 유저프로그램이 I/O 요청을 위한 트랩을 발동했다고 하면 다음과 같은 과정이 발생됩니다 유저 프로그램이 I/O 요청 트랩발동합니다. 올바른 I/O 요청인지 확인합니다. 유저 모드가 시스템콜을 통해 커널모드로 변환합니다. 이후 커널함..
인터럽트 운영체제는 인터럽트에 의해 구동됩니다. 인터럽트(interrupt)는 어떤 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것을 말하며, 0으로 숫자를 나누는 산술 연산오류, 프로세스 오류 등으로 발생합니다. 또한 오류뿐만 아니라 키보드, 마우스 등 IO 디바이스를 사용할 때의 인터럽트, 우선순위가 높은 프로세스의 발생 등으로 발생합니다 멀티태스킹은 우리가 크롬 브라우저를 실행하고 파일을 다운로드하거나 다양한 작업을 동시에 수행하는 것과 같이 여러 작업을 동시에 처리하는 기능을 의미합니다. 내부적으로, 멀티태스킹을 수행하는 동안 인터럽트가 발생합니다. 각 작업이 실행되는 동안 컴퓨터는 인터럽트를 받아들이고 해당 작업에 대한 명령어를 수행합니다. 인터럽트는 멀티태스킹 환경에서 다양한 이벤트(예: 파일..
운영체제의 종류 운영체제는 사용자와 시스템 자원 간의 상호작용을 관리하는 중요한 역할을 합니다. 이를 위해 가장 앞단에서 다양한 인터페이스가 사용됩니다. 주로 두 가지 인터페이스로 나뉩니다. GUI (Graphical User Interface) 그래픽 요소를 사용하여 컴퓨터와 상호작용하는 인터페이스를 제공합니다. 대표적인 예로는 Windows, macOS 등의 현대 운영체제가 있습니다. CUI (Character User Interface) 사용자가 키보드를 사용하여 텍스트 기반으로 컴퓨터와 상호작용하는 인터페이스입니다. 예전 운영체제인 MS-DOS가 대표적이며 1994년에 단종되었습니다. 운영체제의 역할 운영체제는 커널을 중심으로 여러 가지 핵심 기능을 수행합니다. 이러한 기능들은 다음과 같습니다: ..
8. 이분검색 예시 입력 1 8 32 23 87 65 12 57 32 99 81 예시 출력 1 3 arr이라는 1차원 배열에 입력값들을 받았고, 받은 다음 Array.soft()를 통해 오름차순 정렬한 상황입니다. 정렬된 상황에서 m인 32가 어디있는가를 찾는 것입니다. 0번인덱스가 첫번째라 인덱스+1해서 32번은 2번째 인덱스이자, 3번째에 있다라고 할 수 있습니다. 이분검색은 무조건 정렬이 되어있어야 합니다. 오름차순이던 내림차순이던 정렬되어있는 상황에서만 통하는게 이분검색입니다. 앞에서부터 하나하나씩 보는건 순차검색입니다. 순차검색으로 제일 뒤에 있는 99를 찾으려면 O(n)시간복잡도가 걸립니다. 이분검색은맨 왼쪽을 가르키는 lt를 0으로 초기화, rt는 n-1로 시작합니다. 그리고 lt와 rt의 ..