본문 바로가기

전체 글74

[OS] 프로세스 프로세스 개념 운영체제는 다양한 프로그램을 실행 배치 시스템(batch) : 작업(jobs) 시간 공유 시스템(Time-sharing) : 사용자 프로그램 또는 작업(tasks) 작업(job)과 프로세스(process)라는 용어를 거의 상호 교환적으로 사용 프로세스 실행 중인 프로그램 프로세스 종류 텍스트(text) : 프로그램 코드 데이터(data) : 전역 변수, 정적 변수 스택(stack) : 임시 데이터(함수 매개 변수, 반환 주소, 로컬 변수) 힙(heap) : 런타임 동안 동적으로 할당된 메모리 프로그램 카운터, 프로세서 레지스터 : 현재 활동 프로세스 상태 프로세스가 실행되면 상태가 변경 신규(New) : 프로세스를 만드는 중 실행(Running) : 명령이 실행되는 중 대기(Waiting .. 2023. 3. 13.
[OS] 서비스, 시스템 콜, 구조, 부팅 과정 운영체제 서비스 운영 체제가 사용자에게 제공하는 서비스 유저 인터페이스 명령줄 인터페이스(CLI), 그래픽 사용자 인터페이스(GUI) 프로그램 실행 프로그램을 메모리에 로드하고 실행 후 종료 I/O 작업 키보드/마우스 입력, 모니터/프린터 출력 파일 시스템 조작 파일 또는 디렉터리 읽기/쓰기, 파일 만들기/삭제/검색 등을 수행 통신 프로세스 간에 정보를 교환 오류탐지 하드웨어(메모리 오류, 전원 장애) I/O 장치(네트워크 연결 오류, 프린터에 용지 부족) 사용자 프로그램(산술 오버플로, 잘못된 메모리 액세스) 시스템 자체의 효율적인 운영을 위한 OS 기능 자원 할당(Resource allocation) 다중 사용자 또는 다중 작업의 경우 CPU 주기, 메모리, 파일 스토리지 및 I/O 장치 회계(Acc.. 2023. 3. 9.
[OS] 정의, 구조, 작업, 구성 요소 운영체제 컴퓨터 시스템의 4가지 구성요소 사용자(User) 응용프로그램(Applications) : (word processor, web browser, games, ...) 운영체제(Operating system) 하드웨어(Hardware) : (CPU, memory, IO devices) 운영체제(OS, Operating System) 응용 프로그램과 컴퓨터 하드웨어 사이의 중개자 역할 컴퓨터 하드웨어 리소스 관리 애플리케이션을 위한 일부 서비스 제공 사용자 뷰(User view)의 운영체제 응용 프로그램 실행 컴퓨터 시스템을 사용에 편리 시스템 뷰(System view)의 운영체제 리소스 할당자 H/W 리소스 : CPU, 메모리, I/O 장치 S/W 리소스 : 파일, 소켓, 세마포어 등 제어 프로그.. 2023. 3. 6.
[시스템프로그래밍] 기계어와 어셈블리어 정의, 특징 기계어 (Machine language) Machine language(기계어)는 컴퓨터의 프로세서(CPU)가 특별히 이해하는 숫자 언어이다. 모든 x86 프로세서는 공통의 기계어를 사용한다. 어셈블리어 (Assembly Language) Assembly Language(어셈블리어)는 ADD, MOV, SUB, CALL과 같은 짧은 약어로 작성된 명령문으로 구성된다. 1) 기계어와 어셈블리어는 어떤 관계일까? 어셈블리어는 기계어와 일대일 관계이다. 하나의 어셈블리어 명령은 하나의 기계어 명령에 해당한다. 2) C++와 어셈블리어는 어떤 관계일까? C++은 고급언어로 어셈블리어, 기계어와 일대다 관계이다. 하나의 C++ 명령은 여러 어셈블리어 또는 기계어로 확장된다. 아래의 예시에서는 같은 내용의 명령이 .. 2023. 3. 4.