본문 바로가기

IT36

[OS] 프로세스 동기화(세마포어, 모니터, 임계구역) 프로세스간 통신 방법? 파일, 파이프 쓰레드 : 한 프로세스 내에서 쓰레드로 통신(코드, 힙, 데이터 영역 공유, 스택 영역만 따로 갖고 있음.) 네트워크 : OS가 제공하는 소켓통신, 다른 컴퓨터의 함수를 호출하는 RPC(원격 프로세저 호출) 공유자원 프로세스간 통신할 때 공통으로 사용하는 자원 프로세스 동기화(Process Synchronization)란? 동기화 문제 : 여러 프로세스가 공유자원을 동시에 사용하기 때문에 동기화 문제가 발생함. 공유 데이터(shared data)에 두 개 이상의 프로세스가 동시에 접근하면 data inconsistency가 발생할 수 있음 data consistency(데이터의 일관성)을 유지하기 위한 메커니즘을 동기화라 함. 임계구역(Critical Section).. 2022. 1. 20.
[PowerShell] Active Directory 사용자 패스워드 초기화(Set-ADAccountPassword), 계정 활성화(Enable-ADAccount) 스크립트 업무 특성상 계정, 권한 관리를 Microsoft Active Directory로 하고 있는데, 사용자 계정이 잠기거나, 암호가 만료될 때 초기화를 요청하는 경우가 많다. 사용자가 직접 초기화 할 수 있도록 사이트가 있으나, 내부망에 연결된 후에 접근이 가능하므로 실제로 원격으로 접속하는 경우에는 사용자가 직접 초기화 불가능하다. 그래서 불편하더라도 담당자가 직접 진행해야하는데, 이 부분도 개선하도록 해야겠다. 기존에는 해당 요청이 발생하는 경우 아래와 같은 프로세스로 진행을 하였다. [AS-IS] 1. AD 서버 원격 접속 2. Active Directory 사용자 및 컴퓨터 실행 3. 초기화(계정잠금해제) 할 사용자 검색 4. 초기화(계정잠금해제) 수동 작업 진행 진행 단계가 많을 뿐만 아니라, 계정.. 2022. 1. 20.
[OS] CPU 스케줄링, CPU 스케줄링 알고리즘(FIFO, SJF, RR, MLFQ) 운영체제는 CPU를 프로세스 간에 교환함으로써, 컴퓨터를 보다 생산적으로 만든다. 최신 운영체제에서는 실질적으로 프로세스가 아니라 커널 수준 스레드를 스케줄 한다. 다중 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행 중인 프로세스를 가지게 하는데 있다. 어떤 프로세스가 대기해야 할 경우, 운영체제는 CPU를 그 프로세스로부터 회수해 다른 프로세스에 할당한다. 즉, CPU 이용률을 최대화 하는 것은 다중 프로세서 운영체제 설계의 핵심이 된다. CPU 스케줄링 시 고려해야할 점 어떤 프로세스에게 CPU 리소스를 줘야하는 가? CPU를 할당받은 프로세스가 얼마의 시간동안 CPU를 사용해야 하는 가? CPU Burst : CPU를 할당받아 실행하는 작업 I/O Burst : 입출력 작업 CPU .. 2022. 1. 16.
[OS] 좀비 프로세스(Zombie Process)란? 부모프로세스와 자식프로세스 아마 한 번쯤은 좀비 프로세스(Zombie Process)에 대해서 들어봤을 것이다. 좀비 프로세스의 의미와 예제, 부모 프로세스와 자식 프로세스에 대해 알아보자. 프로세스 실행 과정 exe 실행 코드 영역 / 데이터 영역 메모리 로드 힙 / 스택 영역 생성 PCB 초기화 → 처음 0번 프로세스가 실행될 때 처음 만들어지는 것 이후 실행되는 다른 프로세스는 0번에서 복사 : fork() → 이렇게 복사하는 이유는 새로 생성하는 것보다 복사하는 게 더 빠르기 때문 자식 프로세스와 부모 프로세스 자식 프로세스(child process)는 부모 프로세스(parent process)의 내용을 그대로 복사 코드 / 데이터 영역 메모리 로드 힙 / 스택 영역 생성 PCB 초기화 자식프로세스는 자기가 원하는 코드는 .. 2022. 1. 15.
[OS] 멀티프로그래밍과 멀티프로세싱(Feat. PCB, Context Switching) 현대의 컴퓨터는 멀티프로그래밍 + 멀티프로세싱 멀티프로그래밍이란? 유니프로그래밍 : 메모리에 프로세스 1개 멀티프로그래밍 : 메모리에 여러 개의 프로세스 멀티프로세싱이란? CPU가 여러개의 프로세스를 동시에 처리(시분할처리) 스와핑(SWAPPING)이란? 저장장치에 있던 프로세스 ↔ 메모리의 프로세스 RAM에 저장공간이 부족할 때 일단 하드디스크(HDD나 SSD) 공간을 이용하고, 메모리 여유가 생기면 다시 RAM으로 옮겨오는 것 Swap IN 저장장치에 있던 프로세스를 메모리로 다시 로드하는 것. Swap out 메모리에 있는 프로세스를 저장장치로 보내는 것. 스왑(SWAP) 시스템에 메모리가 부족할 경우에 하드디스크의 일부 공간을 활용하여 계속 도와주는 영역 가상 메모리 관리 방법인 페이징 기법으로 .. 2022. 1. 15.
[OS] 프로그램과 프로세스의 차이, 컴파일(Compile), CPU 구성요소 프로세스란? 프로그램과 프로세스는 똑같은거 아닌가? 프로그램을 실행시키면 프로세스가 된다. 프로세스 = 실행 중인 프로그램 목차 프로그램과 프로세스 프로세스 제어목록(PCB, Process Control Block) 프로세스의 상태 프로세스의 관리 프로세스의 구조 컴파일 과정(Compile) CPU(중앙처리장치) 구성요소 프로그램(Program) 저장장치(HDD, SDD)에 저장된 명령문의 집합체 (= 애플리케이션, 앱) Windows : .exe / MacOS : .app 수동적 프로세스(Process) 실행 중인 프로그램 저장장치에 있는 프로그램이 메모리에 올라갔을 때 운영체제에 의해서 관리됨 능동적 : 메모리, CPU 사용, 입력/출력 작업 프로세스 제어목록(PCB, Process Control B.. 2022. 1. 12.
[OS] 운영체제 기초(운영체제의 역사/구조, 하드웨어 구조, 인터럽트), 인프런 - '비전공자를 위한 운영체제' 수강 후기 운영체제는 학부생 시절 공부를 했지만(공룡책), 수업시간에 맨날 잤던 기억 + 벼락치기 기억 밖에 없어서 다시 전체적으로 공부해보려 인프런 강의를 수강했다. 제목은 '비전공자를 위한 운영체제' 인데, 비전공자 뿐만 아니라 개발자 분들, 실무자도 한 번 정리하는 느낌으로 들으면 좋을 것 같다. 그동안 어렴풋이 알고 있었던 전공 지식들을 쉽게 이해할 수 있어서 좋았다. 현재는 섹션 0만 들었는데, 총 10개의 섹션으로 구성되어 있고 강의 시간은 총 3시간 23분으로 가볍게 짬내서 들으면 좋을 것 같다. 까먹을까봐 적는 강의 내용 비전공자를 위한 운영체제 강의 목표 : 운영체제의 원리 이해 운영체제의 개념 프로그램, 프로세스, 쓰레드 동기화 메모리 비전공자를 위한 운영체제 - 인프런 | 강의 이 강의를 통해 .. 2022. 1. 11.
[OS] AMD64란? x86/x64 차이, IA-32(VirtualBox only runs on the amd64 architecture) Windows Server 강의를 수강하다가 처음부터 난관에 부딪혔다. Mac OS에서 Windows OS 를 사용하기 위해, 가상화 응용프로그램인 VirtualBox를 설치하려했는데 아래와 같은 메세지가 뜬 것. 'VirtualBox only runs on the amd64 architecture' AMD64는 64비트 운영체제라고 알고 있는데, 요즘 64비트가 아닌 운영체제가 잘 없을 것이다. 하지만 Mac OS M1칩은 Apple 사에서 개발하였고, Intel 사와 완전히 다른 ARM CPU 이다. 대부분의 앱들은 호환이 되지만 아직 호환이 안되는 응용프로그램이 있다고 하는데, 그 중 하나가 VirtualBox 였던 것. 그래서 궁금했던 그리고 실무에서 자주 쓰이는 용어를 정리해봤다. AMD64, .. 2022. 1. 11.
[Windows] Windows Server 2019 인프런 강의 수강 후기, Virtual Box 설치 최근 카카오페이로 이직하면서 기술적으로 더 성장해야 겠다는 생각을 많이 했다. 이직하기 전 다짐이기도 하고, 공부한 내용을 앞으로 티스토리에 업로드 하면서 지식을 확장시켜야겠다. 😃 전 회사에서 업무와 결은 비슷하지만 기술의 깊이가 많이 차이가 있었고, 관리하는 서버 및 서비스도 엄청 많았다. 앞으로 맡을 Windows Server 관련 업무를 진행하기 전에 한 번 전체적으로 공부하고 정리해놓으려 한다. 📝 인프런에서 다양한 강의를 제공하는데, Windows Server 관련 강의는 찾기 어려웠다. 한 강의를 찾았는데 무료로 미리듣기가 가능해서 1~4강까지 강의 내용인 Virtual Box 설치, Windows Server 2019 설치, Windows 10 설치까지 정리해보려한다. 최근에 노트북을 바꿔.. 2022. 1. 10.